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.
In reply to pookshuman:
In reply to pookshuman:
Where do I find the journal codes? I can find the spells easily using wowhead but not sure how to link to the journal (well I know the syntax, just not sure where to find the id's)
In reply to Forge_User_46007279:
nvm
please update your addon
Could we get a CTRL+H command? To find and replace, some bosses like ghuun just have so many assignments its more efficient to use a text editor to do the AA which is a shame.
Hi there
Is there no option to auto-disable it for example when not in raid?
I know I can bind a key to hide/show but meh, it being automated always feels like a nice perk and an extremly easy one to implement :)
Thank you for a lovely addon!
In reply to Forge_User_84853147:
Request/Question
Was interested in the ability to parse AA for use in creating easier-to-use weakauras
Message: ...\AngryAssignments\libs\AceEvent-3.0\AceEvent-3.0-4.lua:33: Attempt to register unknown event "BN_SELF_ONLINE"
Time: Sun Aug 12 19:45:21 2018
Count: 1
Stack: ...\AngryAssignments\libs\AceEvent-3.0\AceEvent-3.0-4.lua:33: Attempt to register unknown event "BN_SELF_ONLINE"
...e\AddOns\WhisperWhisper_Lite\WhisperWhisper_Lite.lua:288: in function <...e\AddOns\WhisperWhisper_Lite\WhisperWhisper_Lite.lua:276>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?
...\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:558: in function `EnableAddon'
...\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:651: in function <...\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:636>
[C]: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:445: in function `UIParentLoadAddOn'
Interface\FrameXML\UIParent.lua:564: in function `TimeManager_LoadUI'
Interface\FrameXML\UIParent.lua:1191: in function <Interface\FrameXML\UIParent.lua:1089>
Locals: <none>
Error grabbed from BugSack
AddOn version: v1.9.1
Game version: 8.0.1 (27101) (Release x64)
3x Prat-3.0-r1151 \modules\Editbox.lua:822: attempt to concatenate local 'chan' (a nil value)
Prat-3.0-r1151 \modules\Editbox.lua:822: in function <Prat-3.0\modules\Editbox.lua:811>
(tail call): ?
FrameXML\ChatFrame.lua:3981: in function `ChatEdit_ResetChatType'
FrameXML\ChatFrame.lua:3962: in function `ChatEdit_OnShow'
[string "*:OnShow"]:1: in function <[string "*:OnShow"]:1>
[C]: in function `Show'
FrameXML\ChatFrame.lua:4020: in function `ChatEdit_ActivateChat'
FrameXML\ChatFrame.lua:3651: in function `ChatFrame_OpenChat'
[string "OPENCHAT"]:1: in function <[string "OPENCHAT"]:1>
Locals:
self = <table> {
ChatEdit_SetLastActiveWindow = <function> defined @Prat-3.0\modules\Editbox.lua:776
SetDefaultModuleLibraries = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:398
Enable = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:325
NewModule = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:266
FCF_Tab_OnClick = <function> defined @Prat-3.0\modules\Editbox.lua:750
EnableModule = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:363
modules = <table> {
}
GetModule = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:241
IterateEmbeds = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:473
SecureHookScript = <function> defined @ArkInventory\Externals\Ace3\AceHook\AceHook-3.0.lua:410
defaultModuleLibraries = <table> {
}
RawHookScript = <function> defined @ArkInventory\Externals\Ace3\AceHook\AceHook-3.0.lua:395
LibSharedMedia_Registered = <function> defined @Prat-3.0\modules\Editbox.lua:601
GetName = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:310
SetAttach = <function> defined @Prat-3.0\modules\Editbox.lua:864
name = "Prat_Editbox"
IsEnabled = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:482
orderedModules = <table> {
}
DisableModule = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:381
baseName = "Prat-3.0"
GetDescription = <function> defined @Prat-3.0\modules\Editbox.lua:770
HookScript = <function> defined @ArkInventory\Externals\Ace3\AceHook\AceHook-3.0.lua:366
frames = <table> {
}
SecureHook = <function> defined @ArkInventory\Externals\Ace3\AceHook\AceHook-3.0.lua:336
IsHooked = <function> defined @ArkInventory\Externals\Ace3\AceHook\AceHook-3.0.lua:493
SetBorderByChannel = <function> defined @Prat-3.0\modules\Editbox.lua:811
SetBackdrop = <function> defined @Prat-3.0\modules\Editbox.lua:792
IsModule = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:248
db = <table> {
}
SetDefaultModuleState = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:418
ChatEdit_DeactivateChat = <function> defined @Prat-3.0\modules\Editbox.lua:785
OnModuleDisable = <function> defined @Prat-3.0\modules\Editbox.lua:757
SetEnabledState = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:455
Hook = <function> defined @ArkInventory\Externals\Ace3\AceHook\AceHook-3.0.lua:274
enabledState = true
OnModuleEnable = <function> defined @Prat-3.0\modules\Editbox.lua:702
Prat_FramesUpdated = <function> defined @Prat-3.0\modules\Editbox.lua:674
PL = <table> {
}
hooks = <table> {
}
SetDefaultModulePrototype = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:440
UpdateHeight = <function> defined @Prat-3.0\modules\Editbox.lua:923
IterateModules = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:468
UnhookAll = <function> defined @ArkInventory\Externals\Ace3\AceHook\AceHook-3.0.lua:477
RawHook = <function> defined @ArkInventory\Externals\Ace3\AceHook\AceHook-3.0.lua:313
Unhook = <function> defined @ArkInventory\Externals\Ace3\AceHook\AceHook-3.0.lua:418
moduleName = "Editbox"
defaultModuleState = true
Disable = <function> defined @AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:345
}
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
1 = <unnamed> {
14512x iLib\iLib-600100.lua:93: Usage: SendCommMessage(addon, "prefix", "text", "distribution"[, "target"[, "prio"[, callbackFn, callbackarg]]])
[C]: ?
...ns\AngryAssignments\libs\AceComm-3.0\AceComm-3.0-10.lua:91: in function `SendCommMessage'
iLib\iLib-600100.lua:93: in function <iLib\iLib.lua:91>
iLib\iLib-600100.lua:237: in function <iLib\iLib.lua:230>
Locals:
(*temporary) = "Usage: SendCommMessage(addon, "prefix", "text", "distribution"[, "target"[, "prio"[, callbackFn, callbackarg]]])"
after going into angryassignments settings (/aa) i cant place worldmarkers anymore. when i use the macro /wm 1 nothing happens.
Only solution is the /reloadui. then worldmarkers are working again until i reenter angryassignment settings.
This is really frustrating for farm, because basically you set raidmarkers and /aa for every boss which means you need to reloadui every time.
Other big addons i use are: elvui, details, TSM, bigwigs, kuinameplates
cheers
I like your mod!
Feature request #1:
Replace 'toggle' with 'toggle on' and 'toggle off' or something similar.
Same with the window cmd.
Feature request #2:
Add option to auto load based on encounter, similar to ExRT or WA2.
Cheers,
i dragged by accident the write assignment window off my screen. and now i cant get it back. can u make a command so i can get that 1 back? i did delete my settings etc for it.
Try executing "/aa resetposition", that will reset it to default position.
doesnt work mate.
When I'm typing /aa in-game nothing happens and the addons is activated. I tried reinstalling the addon, deleting the config files in the WTF folder but nothing seems to fix it.
Can anyone help me?
Thanks