Angry Assignments
This addon was written by the guild Angry (US-Illidan) to handle assignments during raids. It provides a convenient way to store and share assignments for different bosses, allows editing by multiple people, and is able to display the information to raiders in a configurable format.
Using AA as a raider
First, you'll want to configure a keybinding for the "Toggle Display" function, so you can easily show/hide the on-screen assignments display during raids. It should appear under the section "Angry Assignments" in the game's keybindings menu.
The rest of the important configuration is in the game's Interface menu, Addons tab, where you should now have a menu for "Angry Assignments" (the "/aa" command will also bring up this screen):
- "Toggle Display" will toggle the on-screen assignments display on and off (can also use "/aa toggle", but likely you'll want to use the keybinding discussed above).
- "Toggle Lock" will lock/unlock the anchor for the on-screen display (can also use "/aa lock" or a keybinding), so that you can configure its location, direction, and width.
- In the "Highlight" field, you can set some words that will be highlighted in your on-screen assignments. Separate multiple words with spaces or commas. Typically, you will set this to your name and any short versions of it that may appear in assignments. If you also add the special keyword "Group" into your list of highlight words, then 5-player raid groups in the format "G1", "G2", "G3", etc will be highlighted whenever you are inside that group at the time.
- You may wish to turn on the "Hide on Combat" option which will automatically hide the on-screen assignments whenever you get into combat. You can always bring them back up during combat by using the keybinding (or other methods mentioned above).
- If you turn on the "Display Backdrop" option, then a background will be displayed behind your current on-screen assignments. You can then configure the color and transparency of this backdrop with the "Backdrop Color" color picker.
- You can use the "Update Notification Color" color picker to select the color of the glow graphic that is momentarily displayed whenever currently-displayed assignments are edited.
- You can configure the font face, size, color, outline style, and line spacing that will be used for the on-screen assignments. You can also configure the color used for words that get highlighted (see "Highlight" section above).
- Permissions section: AA will accept assignments from the raid leader or assistants, but only when you are in an "approved" raid. If the raid is led by an officer in your own guild, it will always be approved. Raids will also be approved if they are led by anyone whose name you add into the "Allow Players" field (separate multiple names with spaces or commas, cross-server names are supported). If you turn on the "Allow All" checkbox, then all raids will be approved.
- The "Reset Position" button can be used to move the assignments display anchor back to its default location, in case it ends up off the edge of your screen.
For initial setup, unlock the on-screen display if necessary (use the "Toggle Lock" button, "/aa lock" command, or the keybinding if you set one for it), and you should see a red horizontal strip. You can adjust the width of the strip (long lines will be word-wrapped as needed) and place it in whatever location you want. The up/down arrow at the far left of the strip will determine whether the assignments text grows up or down from the strip location. When you're done, click the lock on the strip and it will disappear. It may be easiest to configure this strip while you're actually in a raid and seeing assignments - although while solo, you can also use the edit window (use the "Toggle Window" button, "/aa window" command, or the keybinding if you set one for it), create a test page if necessary, then hit "Send and Display" to show a page to yourself for testing purposes.
During raids, whenever any change in assignments occurs, the new assignments will re-appear on your screen if you had hidden them (along with a noticeable visual indicator). If you selected the auto-hide in combat option, they'll hide when you get into combat, but you can always bring them back up at any time by using the Toggle Display keybinding or other methods. If you re-log or reload your UI during the raid, your addon will pull information from the raid leader to get back in sync (if you are the raid leader yourself, it will use saved data). Upon leaving the raid, the on-screen assignments will go away.
Using AA as a raid leader/assistant
When in a raid, you'll be able to edit and send assignments if you're the raid leader or an assistant and if the raid is, from your perspective, "approved". All raids will be approved if you have "Allow All" turned on, otherwise the raid must be led by an officer in your guild, or by someone in your "Allowed Players" list. However, just because you are able to edit/send assignments doesn't mean everyone in the raid will accept them. You can perform a version check to see who in your raid isn't accepting assignments - they'll be listed as "Not allowing changes".
You will likely want to configure a keybinding for "Toggle Window" in the game keybindings. This brings up the assignments editing window. The window can be scaled up or down via the "Scale" parameter in the configuration menu (or via "/aa scale"). The edit window contains a list of assignment pages you have on the left. When you select one, you'll see the current contents of that page on the right. You can "Add", "Rename", and "Delete" pages via the buttons at the far bottom left. When editing pages, you'll have several buttons of interest:
- "Accept" will become available after you've begun changing a page. It will save changes to the page and send the updated version to everyone in your raid (replacing whatever version they may have had). "Accept" does not change which page is currently displayed on-screen, but if the page you edited is the one being displayed, everyone will immediately see the new version (and if they had hidden their display, it will re-appear).
- "Revert" will become available after you've begun changing a page. It will abandon your current edits, going back to the previous version of the page.
- "Restore" will recall the last version of the page that you personally edited and accepted. This can be used to get back to your "last good version" if someone else has made undesirable edits to the page in the meantime. Note that if you want to save the restored version on top of the current version of the page, you still need to "Accept" after you "Restore" (or you could also "Revert" to abort the restore).
- "Output" will send the current page to whatever the appropriate com line is for your current group (party, raid, or instance). Can be used as a quick way to allow people not running AA to see the assignment. All AA curly brace sequences (see below for more info on those) will be converted to text equivalents, with the exception of , which will be stripped. Color escape codes (|c...|r) will also be stripped.
- "Send and Display" is only available while not actively editing a page. It will send your current version of the page to everyone in your raid (replacing whatever version they may have had) and also make it the current on-screen display. If you're not in a raid, it will display on-screen for you personally.
- "Clear" will remove whatever on-screen display was currently in place, ie: everyone in the raid will now see nothing. It doesn't affect the contents of any pages.
Various special sequences can be used within assignment pages:
- Raid target icons can be inserted with ... , or the symbol names: , , , , , , /, .
- , , and / will insert the group role icons.
- / will insert the Bloodlust icon, / will insert the Heroism icon.
- / will insert the Healthstone icon.
- , , , etc will display the icons of the named class.
- You can insert any other icon in the game using this syntax: {icon [name/spellID]}. For example, {icon spell_holy_sealofprotection} or {icon 774}. If you use a spellID number, it'll use the icon associated with that spell. Icon names can be looked up by going to a spell or item's page on Wowhead and then clicking on the icon.
- Similar to the above, , , and will insert "links" to the corresponding spells, bosses, and dungeon journal entries. For example, {spell 155080}. These links will display in AA's display window, but won't be clickable, and thus will generally be more useful when using the "Output" button.
- You can use any UI escape sequences, see WoWWiki's page for a full list. You do not need to use double | and \ characters. Also, as an alternative to the typical |cAARRGGBB format for changing color, you can use these special keywords: |cblue, |cgreen, |cred, |cyellow, |corange, |cpink, and |cpurple. You can also use |cCLASSNAME, for example |cshaman or |cdruid, to get that class's color. As an example, "|credHello|r" would display the word "Hello" in red. Note that you cannot nest colors, the |r sequence always reverts the color back to the normal font color. Also note that if you put a player or group name immediately after a UI escape sequence (ie: |rStingray), highlighting of the name won't work properly - you need some space or punctuation inbetween.
If someone else saves edits to a particular page while you are editing that page, you'll receive a pop-up box notifying you of the fact. At that point, you can continue your edits and eventually overwrite their updated version by hitting "Accept", or alternatively you can hit "Revert" which will abandon your own edits, and instead bring up their updated version of the page. (Tip: if you want to merge your changes with theirs, then you could highlight the particular section you were working on, copy it with Ctrl+C, then hit Revert, highlight the same section in their version, and paste your changes on top of it with Ctrl+V).
Individual pages are identified internally with unique IDs. The names seen in the edit window are only used for display purposes, so there could be multiple pages with the same name. Much like an edit, if someone renames a page, that rename is sent out to the current raid - people not in the raid at the time would get that rename later, whenever that page is next edited or sent. Deletes, however, are only done locally - so if you delete a page, others will still have it. If you've deleted a page, and later on someone else edits it or sends it, you'll get it back again.
The "Add Category" button allows you to add categories to store your pages in. Categories are completely local to you, for your own organizational convenience, and won't be visible to anyone else. You could, as an example, create a "Hellfire Citadel" category then move all your Hellfire Citadel-related pages under that category. Right-click on a page's name to bring up a menu which will let you select or deselect your categorization of that page. You can also categorize a category under another category, to create nested categories. Right-click on a category's name to delete or rename that category. If you delete a category with pages, those pages will be retained, but become uncategorized.
Miscellaneous
The "/aa help" command will list all console commands.
The "/aa send <name>" command will send and display the named page. Useful if you are doing assignments for a fight in separate sections (ie P1, P2, P3, etc) and want to macro the display of the different pages. Note that it is possible to have multiple pages with the same name (as described above), in which case this command will just pick one of them.
The "/aa version" command (also available from the config menu) will perform a version check. The results of the version check will be broken down into four groups: people running the same version as you, people running a different version from you (their version number will be shown), people who are running AA but aren't accepting assignments in the current raid, and people who aren't running AA.
The "/aa backup" command (also available from the config menu) will store the current version of every page for later "Restore" (similar to if you had just edited every page and made no actual changes).
The "/aa deleteall" command will delete all pages you have stored. This could be used occasionally to clean out old assignment pages that are no longer used, for example, when beginning a new raid tier. Of course, if others still have those pages, you'll get them back if they edit or send them while you're in a raid with them.
Hmm, tried without any other addons running except AA?
Just tried that, no changes
Any other thoughts? Theres not a whole lot of buttons to screw around with, so its weird that its not working.
Not really. I reviewed the code last night and can't think of any way that what you're describing would be possible. Maybe Ermad will think of something though.
I assume you have Lua errors turned on, and you're not getting any errors?
Beyond that, it would be up to you to figure out how to reproduce the problem, since obviously we've never seen it. If you've tried it with no other addons, then it seems the problem must be either with your WoW configuration, your account, or your character. You could try different variations to figure out which. For example, test it on a different character, if it still doesn't work, test it on a different account. If it still doesn't work, test it on a different computer with a fresh WoW install. Then it could be narrowed down from there once you know what it's tied to.
Ok, well I'll keep poking at it and see what I can come up with. Thanks for trying
Could you add that only people on the list can edit the notes?
If you don't want people editing assignments, don't promote them to assistants in the raid.
I don't see the benefit off adding this ontop of the current permission options. Why specifically do you think this would be a useful option?
Just saw this release and this sounds perfect for us. I won't get to test it until the weekend, but I'll definitely report back how it goes.
Thanks!
-Foam
Is the addon limited to guild members only? I a raid with guild members and non-guild members, the non-guild members don't show up in the version check and cannot see our notes. Is this a missing feature or an addon limitation?
Thanks,
-Foam
Page updates and version checks are sent to the guild, not the raid. Probably doesn't matter much with version checks, but as I recall, the main reason we're sending page updates to guild members is so that people can work on assignments and/or share information while outside raids, but I'm not sure how much use this feature gets. Even if we did send page updates to the raid instead of guild, there'd still be the issue of how the addon is programmed to only allow updates from people who are either an officer in YOUR guild, or assistants in a raid that's led by an officer in YOUR guild. People who are in your raid, but not in your guild, would reject your page updates even if they received them, since there's no way for them to confirm you are legitimate.
I could see a non-guild mode being possible. Probably it would work like this: we move version checks and page updates from the guild line to the raid line, and then also add a "Non-Guild Mode" checkbox into the configuration, which defaults to off. If you turn on "Non-Guild Mode", then you accept page updates and displays from anyone who's a leader/assistant in any raid you're in, and guild officer checks are skipped. This would be open to quite a lot of abuse in PUGs, though. (Remember what people used to put on people's screens with AVR?)
Sorry for the late reply, I didn't see your comment before.
Yea, currently it only supports a raid made up of guild members. It is something I want to add, and I will try to get support for it released soon.
Permissions is a good point. What about instead of a blanket "non-guild mode" that if you forget to disable could be abused by LFR/PUGs, there was a per-character, on-demand permission approved by the player? The first time an unverifiable character (not in your guild) sends you a change, you get a dialog (only while out of combat to prevent griefing) asking how you want to handle the change. Some possible options for this dialog:
- Ignore this change
- Ignore all changes from this character
- Accept this change
- Accept all changes from this character
You'd have to show what note is being changed and if you have that note already or not. Also, I suggest these choices are NOT put into saved variables. This would make the initial implementation simpler while allowing a simple /reload "unignoring" everyone and preventing future griefing if you forgot to remove a character from your "accept all" list.
I don't know if you'd also want to add per-note permissions to this system; e.g. "Accept all changes to all notes from this character" and "Accept all changes to note 'Awesome sauce' from this character". It'd be useful if you have a mix of your notes with someone elses notes, but I don't know how often that occurs.
Thanks for listening,
-Foam
To support non-guld raiders I am going with adding two new options, "Allow All" and "Allow Players". With allow all enabled, pages will be accepted from any raid assistant. With "Allow Players", the raid leader would also need to be on the "Allow Players" list.
Hopefully I will have a release out with these changes (and a few others) by this weekend.
Support for raids with non-guild members should be released in the new few days.
I released 1.0 which has support for non-guild members. Let me know if you run into any issues.
Can the version check be modified to group players with and without the addon as follows:
In group with addon:
Bob-0.4.4, Fred-0.4.4, Betty-0.4.4
In group without addon:
James, Bond
Not in group with addon:
Thor-0.4.4, Loki-0.4.4
Right now it mixes in group with not in group and it doesn't list people in the group without the addon. Both of these make it very difficult to determine if everyone in my raid group has it installed or not.
Thanks for the nice addon,
-Foam
It should currently show if people in your raid group don't have the addon installed. Are you sure that isn't working for you?
The display of the version check is a little bit messy, and is something I have been meaning to cleanup.
I've changed the names, but here's all I get with a Version Check:
AngryAssignments: Version check running...
AngryAssignments: char01-v0.4.4 char02-v0.4.4 char03-v0.4.4 char03-v0.4.4 char04-v0.4.4 char05-v0.4.4 char06-v0.4.4 Foamulon-v0.4.4 char07-v0.4.4 char08-v0.4.4 char09-v0.4.4 char10-v0.4.4 char11-v0.4.4 char12-v0.4.4
We had at least one non-guild person in the raid but not reported in that list. No one without the addon was reported. The people reported with the addon were in not sorted by character name or addon revision.
Thanks,
-Foam
Currently only guild people would ever appear in the version check since version checks are sent to the guild. If and when some kind of "non-guild mode" is added, that would be changed.
edit: I think I just found the bug with people without the addon not appearing in the list, will get with Ermod on that. Would have caused it to only show players not running the addon who are dead, never the alive ones.