promotional bannermobile promotional banner

Guild Armory

One window that remembers everything your guild forgets: who wears what, who joined when, who already got that drop, who has a spare blue, who can put an anvil on your campfire ++ plus council, soft reserve, roll and DKP loot in one history.
Back to Files

GuildArmory-0.1.10

File nameGuildArmory-0.1.10.zip
Uploader
infected420infected420
Uploaded
Sep 25, 2026
Downloads
19
Size
464.5 KB
Flavors
Forever
File ID
8971380
Type
R
Release
Supported game versions
  • 1.60.1

What's new

Changelog

0.1.10

Three reports from the same evening, and by the end of it one cause behind all of them.

The root: that second value is not a realm

The addon's own dashboard gave it away:

Total — Level 20 Windshaper Skyborne Shaman — <Is Not Alone> Guild Master · Tumult

That last field is the realm. The realm is called "Classic Beta PvE 2". "Tumult" is the second half of the name "Total Tumult": UnitName splits the name at the space and hands the second half back in the realm slot, where every caller reasonably takes it for a realm.

That is where the half names came from, why the published record carried only "Total" while the server wrote "Total Tumult", and why a realm nobody has ever heard of stood under the portrait.

A player is always on their own realm, so anything else in that slot belongs to the name. It is put back now, and the entries below are the symptoms — all three fixed separately, because a wrong name must not depend on a single guess being right.

(If Forever ever connects realms, this needs measuring again: a genuine foreign realm would be indistinguishable from a second name part. That is the same ground on which cross-realm whispering was already given up.)

A name change locked the player out of his own guild

Rejected: Total Tumult-ClassicBetaPvE2 wanted to publish the character Total.

That was the player himself. The rule behind the message is a good one — the sender's name comes from the server and cannot be forged, so a character record is only accepted from the character it describes. It is the one thing standing between the guild database and anybody who feels like writing into it.

It was comparing the wrong things. Character names on this realm may contain a space ("Horst Hodenhagen"), and the two sources do not agree on how much of the name they give: the sender comes from the server and carries both parts, while UnitName("player") comes from the client and may stop after the first. Two names of the same person, compared as text, are not equal — so his equipment stopped reaching anyone in the guild.

The comparison now allows the shorter name to be the beginning of the longer one, at a word boundary. Same realm, and "Total" matches "Total Tumult" while "Tot" does not. The same faulty comparison sat a second time in the message layer, where it was less visible because the guild check catches the case afterwards.

This tolerance stays even though the cause above is now known and fixed. Two sources disagreeing about a name is not a thing to be sure about once; it is a thing to survive. /ga probe also gained an entry for it ("names") which puts every name source side by side, including the spelling the server uses — so the next disagreement is read off a report rather than pieced together from a screenshot.

Only half a name on screen

The same cause, one layer up: equipment, characters and the dashboard showed "Total" where the guild knows a "Total Tumult". The record is built from what the client hands out, and that is the source that shortens.

The guild roster is the better source — it spells names the way the server does, the same spelling that appears in the sender field of an addon message. Full names are now carried over from there into the character records whenever the roster is read, and the dashboard prefers the fuller of the two spellings it has.

If two guild members share a first name, nothing is carried over for that name: the right short name beats a wrong long one, which is the same rule the name search already follows. It is one pass through each list rather than name against name — with 200 members and a roster update arriving several times per login, the pairwise version is how you end up with the memory figure that 0.1.9 had to fix.

An inspected stranger stood among the guild

Pressing "inspect target" on somebody outside the guild creates a character record, and the lists showed every record there was. He turned up under equipment and among the characters waiting to be assigned to a player.

Now he does not — but on a narrow rule, because the wide one would have been far worse. Almost nothing the addon knows has a measured guild: anything arriving over the sync carries no guild name at all. Treating that empty value as "not in the guild" would have emptied half the roster off the screen.

So what decides is whether the guild was ever actually looked up, which happens during an inspect, where even an empty answer is an answer. Anything never measured stays visible. The guild roster overrules an older measurement, so somebody who joins later reappears, and typing a name into the search finds him regardless — a search field that hides the record you searched for is broken.

This mod has no additional files