GuildRosterDeluxe

GuildRosterDeluxe

10k Downloads

GuildRosterDeluxe is meant to solve the following common issues with guild character management.

  • The default guild roster does not know about a player's Main versus their Alts.
  • The default guild roster does not show participation in raid teams.
  • As the number of characters in a guild grows, it becomes more difficult to know if a person "is on in any form".

This addon presents four views of the guild roster. Simply hover the mouse over the icon/text ("Guild X/Y") on your LDB host bar and the last view you were on will pop up like a tooltip near the mouse. If you've never heard the phrase "LDB host bar" or after installing this addon you don't see "Guild X/Y" anywhere on your screen, then I recommend you also install the addon ChocolateBar Broker Display.

The first view is the standard "who is online right now".

  • The Character column shows the name of the character that is currently online.
  • The Player column shows the name that the player of the character wants to be called (optional).
  • The Main column is the main of this character. It is shown as 50% grey if the character is a main.
  • The Rank and Zone columns are straighforward, but you can sort by them as well which is sometimes interesting.
  • The Raid Team column specifies the raid team that this character belongs to, if any.
  • The Note column shows the member and officer notes for the character. (Only the member note if you don't have permission to see officer notes).
  • You can sort by any column either up or down by clicking on a column header.
  • The guild message of the day (if any) is shown at the bottom of the view.

The second view shows characters that are members of the same raid team grouped together regardless of whether they are online at the moment. A character can belong to at most one raid team.

  • The Character, Player, Main, Rank and Zone columns are as described earlier.
  • The Last Online column in this view is special in that it doesn't just specify when the character who is a member of the raid team was last online, but rather the most recent time that any main or alt belonging to the character was last online. Further, if the raid team character is not online at the moment but is online on another of his characters, then the information for the column will show what character they are on at the moment.
  • If you left-click on any line, the addon will start a tell to that character (i.e. it puts /t <character> in your chat box so you can type a message to them). However, if the character is not online but another main or alt belonging to that character is online, then left-click will start a tell to the online character instead. The idea is that you want to talk to the person and don't care which of his characters he happens to be on at the moment.

The third view shows all of the mains in the guild, one per line.

  • The Main and Player columns are as described earlier.
  • The Sponsor column shows the name of the main who sponsored this main into the guild. The idea is that, especially for social members, the officers might want to know who asked for their friend to be invited.
  • The Joined column shows the date that this main joined the guild.
  • The Last Online column shows the most recent time the main or any of their alts were online. If the most recently logged character was not the main, this column tells you which alt was most recently online in parens. Sorting by this column is a quick way to find out which players have become inactive on all of their characters.
  • The Count/Alts columns show the alts for the main. You can sort by the Count column to find the biggest alt-o-holics in the guild. Only the first five alts of the main are shown to prevent the view from growing too large. The next view can be used to see all of the alts belonging to a main.

The fourth view shows all of the characters in the guild, one per line. This lets you see all the information about each character individually, like in the default guild roster UI from Blizzard.

  • The Character, Player, Main, Rank, Raid Team, and Zone columns are as described earlier.
  • The Last Online column shows how long since this specific character logged in.
  • If you sort by Main, you'll see all of the characters belonging to a player listed together. This is similar to the information in the "Mains" view except that only the first five alts are listed there to prevent the view from getting too wide. In this view you'll see them all, one per line.

In every view, each column is sortable up or down by clicking on the column header. The Note column is a special case in that it expands/contracts each time you click on it. See below for how guild notes are used to encode additional information for this addon.

MOUSING AROUND

Clicking on the icon/text ("Guild X/Y") in the LDB bar performs the following actions.

  • Left-click will cycle forward to the next roster view.
  • Right-click will cycle back to the previous roster view.
  • Control-left-click will open the configuration options panel (Game Menu > Interface > AddOns tab > GuildRosterDeluxe).

Once a view is displayed, clicking on the title bar in the tooltip performs the following actions.

  • Left-click will cycle forward to the next roster view.
  • Right-click will cycle back to the previous roster view.
  • Shift-left-click/Shift-right-click will scroll the contents of the view if it doesn't all fit on a single page (in case you don't have a mouse wheel).

Clicking on one of the column headers will sort the view by that column.

  • Clicking again reverses the direction of the sort.
  • Clicking on the "Note" column causes it to display the raw character notes. Click on it again to display a condensed version.

Clicking on an individual line in a view performs the following actions.

  • Left-click will initiate a /tell to the character in the chat frame. If the character is not online the addon will find an online main or alt of the character and initialite a tell to that character instead. This is especially useful in the "Raids" view to tell your team mate to get back on his raiding character.
  • Right-click will invite the character to your group or raid.
  • Shift-left-click will perform a /who of the character in the chat frame. This is useful for finding out the race of the character.
  • Shift-right-click will invite the character and automatically convert your group to a raid. If you click on a character in the "Raids" view, this will invite all members of the selected character's raid team and automatically convert your group to a raid.
  • Control-left-click puts up a text box that lets you edit the character's player note (if your rank has permission to do so).
  • Control-right-click puts up a text box that lets you edit the character's officer note (if your rank has permission to do so).

Use the mouse-wheel to scroll the contents of the view up and down. The configuration options let you specify the maximum number of lines to display at once, as well as the number of lines to scroll at a time.

THE CATCH

So, just install the addon and I'm good to go? Well, not quite. Not all the data for generating these guild views is available to the addon. In particular, the main/alts relationship is not available, nor is membership in a raid team, nor the name of the player, his sponsor (if any), or his guild join date. All of this additional information is optional, and the addon will run fine without it, but it really shines when at least the mains/alts and raid teams information is available.

The addon looks for the additional information from the character note and/or officer note. Many guilds already use the character note to at least show the name of the main, but often the note is also filled with other funny stuff that is not easy for an addon to interpret. So to make best use of this addon, it requires either the character note or the officer note (or both) be reserved for storing data in a specific encoding format described below.

By default the addon will look only at the officer note, but see below for how to configure the addon to use the character note instead.

For the one character that will be the main for a player, the encoding tokens are as follows.

  • (Player): A name inside parens specifies the name of the player that owns the main and all of its alts. The name is whatever that player wants to be called by others (i.e. nickname), so it doesn't need to be a real name if that player doesn't want to share that information. You might even put in the player's Battle Tag here if the player wishes. This encoding is optional. If not specified the "Player" column will simply display the name of the main at 50% grey.
  • ^Sponsor: This is the encoding that specifies that the name of the main who sponsored this main into the guild. This encoding is optional and if used is only specified for a main and not an alt.
  • MMDDYY: This is the date that the main joined the guild. This encoding is optional and if used is only specified for a main and not an alt.
  • "Note": This is a general note about this character, surrounded by double quotes. This is where you can specify funny commentary or anything else about this character. This note will appear in the "Note" column in the various views when the column is collapsed (by default). When the "Note" column is expanded it shows the raw contents of the guild and officer notes (if you have access to the officer note). This encoding is optional and can be used on mains and alts.
  • [Ignore]: This is a general note about this character, surrounded by square brackets. Unlike "Note" (above) this information will not be displayed in the Note column in its collapsed state.
  • {Raid Team}: A raid team inside curly braces specifies that this character is a member of that raid team. This is how the Raids view figures out how to generate the data for the different raid teams. This can be specified for mains or alts, but only one raid team per character. So feel free to specify alt raids as well. Note that if you put an asterisk just inside the opening curly brace (i.e. {*Raid Team}), this tells the addon that this character is the raid leader and it puts "RL" next to that character in the raids view.

For every alt character of a player, the encoding tokens are much simpler.

  • >Main: An alt simply "points to" its main via the greater-than symbol followed by the character name of the main. For example, if Zuno is my main and Zakk is one of my alts, the guild note of Zakk would simply be >Zuno. The addon automatically inherits all necessary information from the main when building its views.
  • {Raid Team}: It is perfectly acceptable for an alt to be a member of a raid team.
  • "Note": See above.
  • [Ignore]: See above.

So you see there is a bit of busy work required to set up the guild notes with these encodings, but that is a one-time deal. After that it is straightforward to keep the notes up to date as characters are added and removed from the guild, or join and leave raid teams. Officers just need to modify the guild notes appropriately to reflect the relationships.

The addon itself has an option that performs consistency checks to make sure all of the notes are syntactically correct, and that alts point to valid mains, sponsors point to valid mains, etc. Whenever you bring up a view it automatically runs these checks as part of its process of building its data structures. You'll know instantly whenever something is out of whack (like if a main leaves guild unexpectedly, you'll see warnings that all of their alts no longer have a main). It is strongly recommended that the guild master and those responsible with maintaining these per-character encodings always enable the "Report Malformed Notes" option in the configuration panel.

Note that there is no external database of information associated with this addon. All information about the relationships are encoded in the notes of the character itself, so the data is stored on Blizzard's servers. The addon pulls this information via the guild roster API and then constructs the views on-the-fly. Any officer can change a guild note and it will be reflected the next time anyone pulls up a guild roster view.

ENCODING EXAMPLES

Lets say my guild roster has five members with the following relationships.

  • Zuno is a main who's nickname is Coolio, joined the guild on April 15, 2012, and is on the raid team "Super Friends".
  • Zakk is an alt of Zuno.
  • Zexy is a main who was sponsored into the guild by Zuno. She doesn't want to list a player name, and nobody can remember when she was invited into the guild. The officers want to mark her note as a social member but have this addon skip over that information.
  • Zizu is an alt of Zexy and is the raid leader of "Super Friends".
  • Ziza is another alt of Zexy.

The following is what you would set in the guild note for each of these characters.

  • Zuno's note: (Coolio) 041512 {Super Friends}
  • Zakk's note: >Zuno
  • Zexy's note: ^Zuno [social]
  • Zizu's note: >Zexy {*Super Friends}
  • Ziza's note: >Zexy

GUILD INFO OPTIONS

By default the addon will read the officer note of each character in the roster to infer the relationships between the characters. The guild master should allow all members to read the officer note (but limit writing to officers).

If instead you prefer to use the player note of the character to encode these relationships, the guild master should add the following block of text to the Guild Information. It can be placed anywhere.

<GRD>{@@=pnote}</GRD>

Or to specify that both the player note and the officer note should be used. In this case you can spread the encodings between the two notes in any order.

<GRD>{@@=both}</GRD>

Finally, in order to conserve space, one of more abbreviations for raid teams can be listed inside the <GRD>...</GRD> block of text. For example,

<GRD>{SF=Super Friends}{TA=Team Awesome}</GRD>

Then, in the example above, Zuno's and Zizu's encodings can be shortened.

  • Zuno's note: (Coolio) 041512 {SF}
  • Zizu's note: >Zexy {*SF}

Note that there can only be one <GRD>...</GRD> block of text, so if you want to specify the note(s) to scan as well as abbreviations, put them all in one block.

<GRD>{@@=pnote}{SF=Super Friends}{TA=Team Awesome}</GRD>