BuffBuddyBC
Basics
This addon tracks solo, party, and raid buffs, warns when selected buffs are missing, and casts rebuffs. It is "smart" in that it won't warn you when a non-mana user is missing a mana-based buff like Arcane Intellect, and it checks for both large and small versions of buffs. In addition to the four major buffs (Arcane Intellect, Fortitude, Mark of the Wild, Prayer of Spirit) available through the BuffBuddyBC UI, it can also check custom buffs. You can choose which groups and buffs you wish to monitor. Clicking on the warning frames announces missing buffs to the channel of your choice. While it is primarily designed for paladins, druids, mages and priests, raid leaders and others can also use it to make sure that buffs are up to date.
First, use /buffbuddy to pull up the UI. Check the groups and buffs you want to track, specify your preferred output channel, and "Enable" the mod. Once this is done, if someone is missing a buff a red warning frame will pop up. Left-click this frame and the missing buff abbreviation, player group number, and player name will print to your chosen channel (default: "self"). Right-click the frame to recast the buff (If you can). The red warning frames are also draggable.
The GUI options sections allows you to set the channel, add, list, delete single, or clear all custom rules, and to set a time (in minutes) to be warned before the buffs run out. Default for the buff warning time is 0.
Usage
- /bb or /buffbuddy :: to bring up the interface
- /bb help :: to display help
- /bb ai :: to check the AI buff for the groups you have selected
- /bb fort :: to check the fort buff for the groups you have selected
- /bb motw :: to check the MOTW buff for the groups you have selected
- /bb spirit :: to check the spirit buff for the groups you have selected
- /bb report :: reports on AI/FORT/MOTW/SPIRIT to raid/party/self as appropriate, then resets the channel to "SELF"
- /bb auto :: macro command to reset to autochannel selection after a macro call if the auto-channel box is checked
- /bb channel <raid|rw|party|say|self> :: set to report to specified channel
- /bb channel whisper <target> :: whisper to specified character
- /bb channel custom <channel number> :: send to custom channel number
- /bb addcustom <buff1,buff2,Class> :: sets custom buff rules; see CustomRulesReadme.txt for more info
- /bb listcustom :: displays custom buff rules
- /bb deletecustom <3> :: deletes the third Custom Rule (insert appropriate number)
- /bb clearcustom :: resets custom buff rules
- /bb addpallydefaults :: activates a set of default pally custom rules; see CustomRulesReadme.txt for more info
- click red warning frame :: to display missing buff details
- right click red warning frame :: to cast missing buffs (not yet functional with Custom buffs)
Creating Custom Buff Rules
In addition to tracking the four standard buffs available through the BuffBuddyBC UI, it is also possible to make custom buff rules. Put these commands into macros and you have an easy way to track specific buffs on select classes or individuals. Custom rules can be used by anyone to track buffs not included in the BuffBuddyBC UI, like Molten Armor for Mages.
How To
1. First create a set of rules for the addon to follow. The general syntax for rules macros is as follows:
/bb addcustom buff1,buff2,Class1 Class2 Class3 Class4 ...
or
/bb addcustom buff1,buff2,PlayerName1 ...
Note: If you only want to track one buff, you can (thanks to Phunk's awesomeness) enter your single buff of interest and class(es) like so:
/bb addcustom Molten Armor,Mage
Also, if you prefer to enter Custom Rules via the GUI, leave out the "/bb custom" and enter "buff1,buff2,Class1..."
2. Trigger the macro to tell BuffBuddyBC what buff rules you want to follow. The red warning frame will pop up when the specified buff runs out; click it to see who is missing what.
Examples
For example, to track the Wisdom buff on Mages and Priests, make the following macro, and whenever a Mage or a Priest is missing a wisdom buff, a warning frame will pop up. Clicking on it will print out those missing the specified buffs:
/bb addcustom Blessing of Wisdom,Greater Blessing of Wisdom,Mage Priest
To track Blessing of Might on Warriors and Rogues only:
/bb addcustom Blessing of Might,Greater Blessing of Might,Warrior Rogue
To track Blessing of Kings on Druids:
/bb addcustom Blessing of Kings,Greater Blessing of Kings,Druid
To track Salvation on Warriors:
/bb addcustom Blessing of Salvation,Greater Blessing of Salvation,Warrior
To track both Molten Armor and Mage Armor on Mages:
/bb addcustom Molten Armor,Molten Armor,Mage
/bb addcustom Mage Armor,Mage Armor,Mage
To clear your custom rules, then track both the small and large Wisdom buff on Mages:
/bb clearcustom
/bb addcustom Blessing of Wisdom,Greater Blessing of Wisdom,Mage
To track a food buff and Adept's Elixir on an individual player named, oh, say, Belleboom:
/bb addcustom Well Fed, Belleboom
/bb addcustom Adept's Elixir, Belleboom
Phunk has also put together a set of default paladin buff rules; activate default buff tracking with:
/bb addpallydefaults
This is the equivalent of the following:
/bb addcustom Greater Blessing of Kings,Blessing of Kings,Warrior Paladin
/bb addcustom Greater Blessing of Wisdom,Blessing of Wisdom,Priest Druid Shaman
/bb addcustom Greater Blessing of Might,Blessing of Might,Rogue Hunter
/bb addcustom Greater Blessing of Salvation,Blessing of Salvation,Warlock Mage
To set channel to RAID, announce buff status, and reset channel to SELF:
/bb channel raid
/bb ai
/bb fort
/bb motw
/bb spirit
/bb channel self
Macro Commands
There are a number of useful ways to use macros with BB. Using a combination of macro click commands lets you activate standard buff/group settings all at once:
- To Enable BB and watch AI, Fort and Custom buffs for groups 1 and 2, then close the window:
/bb
/click BBBC_CheckEnable
/click BBBC_CheckAI
/click BBBC_CheckFort
/click BBBC_CheckCustom
/click BBBC_CheckButton1
/click BBBC_CheckButton2
/click BBBC_MainFormButtonClose
- To check all buffs on all groups, then reset BB to whatever your previous settings were:
/bb
/click BBBC_CheckAllToggle
/bb report
/bb channel self
/click BBBC_CheckAllToggle
/click BBBC_MainFormButtonClose
BBBC_CheckAI
BBBC_CheckFort
BBBC_CheckMOTW
BBBC_CheckSpirit
BBBC_CheckCustom
BBBC_CheckAllToggle
BBBC_CheckEnable
BBBC_CheckButton1
BBBC_CheckButton2
BBBC_CheckButton3
BBBC_CheckButton4
BBBC_CheckButton5
BBBC_CheckButton6
BBBC_CheckButton7
BBBC_CheckButton8
BBBC_MainFormButtonClose
BBBC_TabPage3SaveAssignButton
BBBC_TabPage3BroadcastButton
- Works with button modifiers as well:
/bb
/click [button:1] BBBC_CheckEnable
/click [button:2] BBBC_CheckAllToggle
Keybindings
Should you have the urge to set keybindings for BB, you can use the following macro, adjusting the"CTRL-NUMPAD#" options as you wish (options include SPACE, MOUSEWHEELUP, y, etc.). After setup, clicking the bound button will be the same as right-clicking a standard BB frame, and auto-buff those who need it:
/run local s,b=SetBindingClick,"RightButton";s("CTRL-NUMPAD1", "BBBC_AIFrame", b);s("CTRL-NUMPAD2", "BBBC_fortFrame", b);s("CTRL-NUMPAD3", "BBBC_MOTWFrame", b);s("CTRL-NUMPAD4", "BBBC_spiritFrame", b);s("CTRL-NUMPAD5", "BBBC_customFrame", b);SaveBindings(2);
Be warned, these will over-write any existing bindings you may have linked to the specified keys. Change the SaveBindings option to "1" if you prefer to save by account, rather than "2" by character.
Notes
- "All" is a viable class option in custom rules. Ex: "/bb addcustom Flip Out,Yaaarrr,All" is the same thing as "/bb addcustom Flip Out,Yaaarrr,Druid Hunter Mage Priest Paladin Rogue Shaman Warlock Warrior"
- "Mana" is a viable class option in custom rules. Ex: "/bb addcustom Adept's Elixir,Mana" is the same thing as "/bb addcustom Adept's Elixir,Druid Hunter Mage Priest Paladin Shaman Warlock"
- "Melee" is a viable class option in custom rules. Ex: "/bb addcustom Elixir of Mastery,Melee" is the same thing as "/bb addcustom Elixir of Mastery,Rogue Warrior"
- Custom rules are saved across sessions, by character.
- To enter Custom Rules via the GUI, leave out "/bb custom" and enter "buff1,buff2,Class1..." etc.
- Watch the spelling and small details. Classes MUST be separated by Spaces NOT commas. (Thanks to Phunk for making this function more robust:) Capitalization doesn't matter for classes but does for buff names.
- You can make more than one rule... Just make a macro with multiple "/bb addcustom ..." statements one after the other.
- The output channel may be specified via slash commands ("/bb channel custom gdmages" or "/bb channel raid") or via the GUI ("custom gdmages" or "raid").
/bb listcustom
- To delete an individual rule (here, "Rule 3"), use:
/bb deletecustom 3
/bb clearcustom
- To send a report on the four major buffs to raid|party|self as appropriate, use:
/bb report
Credits
This is a fan version of the original BuffBuddy (http://www.curse.com/downloads/details/3179/), updated for The Burning Crusade by ybe and Belleboom, and continued by Belleboom (with significant assistance at critical junctures from Phunk and especially Adelaine of Grim Determination).
Thanks to the original author of BuffBuddy for the base code used here. Thanks also to Grim Determination@Earthen Ring for testing and coding assistance (especially to Adelaine, my own personal coding Yoda; and to Phunk and Sorama for ideas and beta testing.), and to the original authors of the Tactics mod for the code adapted here for channel output, and of Group Buff for the assignment and channel GUI code (Belleboom).
-----------------------
BuffBuddyBC Change Log
-----------------------
3.0.3.1
*updated detection code for whole raid buff notification
3.0.3
*added Death Knights as a recognizable melee class
*shrunk warning windows, they took up too much space
*updated buff code to warn for 'buffs whole raid' spells when limit is reached, even if those unbuffed aren't in the same party
*updated timeLeft code to avoid superceding saved variables
*updated timeLeft code to detect when 'infinite' buffs (ex: Crusader Aura, Aspect of the Pack, Ebon Champion, etc. are missing
3.0.2
*updated to fix IsSpellInRange problem introduced by WotLK
3.0.1
*updated for 3.0
*TOC, version numbers changed
*dropdown code updated
*time left on buff code updated for new UnitBuff/Debuff variables
2.27
*updated uncastable buffs code for efficiency and easier updating
2.26
*updated code to allow persistent enable states; enable, buff and group checkbox settings are saved across sessions by character
*added "SELF" and "BATTLEGROUND" as valid channels for buff assignment output (just in case); also made the "RW" channel settings more robust
*updated "Auto-Select by Group" checkbox behavior so that the channel displayed in the gui reflects current status when checked
2.25
*updated "check all" code, should now report correctly after being toggled
2.24
*updated "check all" code
*changed update interval for buff detection to 1 sec, because it's even better than 2.5
2.23
*updated ReadMe file, now includes handy macros for one-click setting of BB buffs and groups, and example key binding macro
*added "check all" box for a quick and easy way to do a full-raid check without toggling on every single buff/group, then toggling them off to reset normal settings (great for CLs and raid leaders in particular)
*pre-expiration timer now works with temporary weapon buffs
*GUI reorganization, enable checkbox has moved
*fixed minor glitch that sometimes caused Custom box to stay up after toggle turned off
*updated code for saving and reloading variables
*miscellaneous code updates
*changed update interval for buff detection to 2.5 secs, because I hate to wait
2.22
*changed code to allow notification (but not auto-casting) when temporary weapon enchants wear off (pre-expiration timer does not work however, and it returns ok if either weapon is buffed)
2.21
*updated xml and lua code to enable auto-rebuffing for custom buffs
*fixed code so that class abbreviation code (all, mana, melee) can be used regardless of number of custom buffs assigned (1 or 2)
*updated TOC number for 2.4
2.20
*added buffing on right-click to warning frames
*changed warning frames to secure templates
*updated lua code for buffing
*added UIParent to all warning frames to address a sizing issue
*various code cleanup and updates
*updated for 2.3
2.19
*added a GUI checkbox to auto-select the channel depending on your group type (raid|party|self)
*added third tab for raid buff assignment functionality; choose the class to assign, specify a channel to broadcast assignments ("raid" "healers" etc.), and the number of raid groups to divvy up, then press "Save Assignments" and "Broadcast Assignments"
*added "/bb auto" as a macro command to reset spam channel after a macro call if the auto-channel box is checked (ex: to spam to self but then go back to auto selection, use "/bb channel self /bb ai /bb auto"); hacky but it'll do until I get around to cleaning up the code
*made it possible to use individual player names with Custom Buff Rules (ex: Flip Out,Yaaarrr,Belleboom)
2.18
*added solo and party functionality (many! thanks to Adelaine of Grim Determination for all the hard work on this:)
*added "/bb report" as a slash command; it automatically checks for all four major buffs and sends a status report to raid/party/self as appropriate, then resets the channel to "SELF" to prevent accidental spam
*fixed mysterious warrior buff error
*fixed nil comparison error
*made custom rule input via slash command and GUI more robust; case or extra spaces won't interfere with Class entries but case is still important for buff names (i.e. "flip out" is not the same thing as "Flip Out")
*updated function BBBC_DeleteCustomRule: convert rule box content into number to address a bug; add null check
*removed debuff check because... this is a buff mod
*code cleanup
2.17
*changed GUI to include tabs, shrinks the visual footprint by half
*added code to BBBC_IsBuffActive to account for buffs of zero duration
*added code to clear warning frames if the player is dead or a ghost
*updated TOC for Patch 2.2
2.16
*updated readme.txt
*added the option to warn about expiring buffs 'X' minutes before they run out; default is 0
*updated GUI to reflect timer addition
*added a line in the GUI to input new Custom rules (ex: 'Well Fed,All')
*added 'Add' button for custom rule add option
*added 'List', 'Clear' and 'Delete Rule' buttons to support the custom rules option; they operate in the same ways as their chatline counterparts
*reformatted GUI to accommodate all this new stuff
*changed warning frame text
*Note: rationalized variable names; any saved rules will need to be re-entered, and deleting your per-character BuffBuddyBC saved variables file is a good idea
*changed Custom buff warning notification text
*more code cleanup
2.15
*resized GUI
*restored drag-ability to the main frame
*additional code cleanup
*custom buff rules are now saved by character
*added an on/off button in the GUI for custom buff rules (but! remember that custom rules are still tracked by Class, not Group)
*added 'BuffBuddyBC: ' to channel output messages for clarity
*added error message when an invalid/unjoined channel name is entered (this won't catch misnamed whispers, though, so if you use correct syntax to whisper a nonexistent player, BB will believe that you mean it)
*changed code so that active custom or whisper channels appear correctly in the channel GUI
*added color to system messages
*added example text to channel section of the GUI
*added a new slash command to allow selective deletion of custom rules; format: /bb deletecustom [rule#] example: '/bb deletecustom 1'
*made 'All' a viable class option in custom rules. Ex: '/bb addcustom Flip Out,Yaaarrr,All' is the same thing as '/bb addcustom Flip Out,Druid Hunter Mage Priest Paladin Rogue Shaman Warlock Warrior'
*made 'Mana' a viable class option in custom rules. Ex: '/bb addcustom Mana Oil,Mana' is the same thing as '/bb addcustom Mana Oil,Druid Hunter Mage Priest Paladin Shaman Warlock'
*made 'Melee' a viable class option in custom rules. Ex: '/bb addcustom Elixir of Mastery,Melee' is the same thing as '/bb addcustom Flip Out,Rogue Warrior'
2.1
*added the option to set the output channel in the GUI; slash commands still work, and the GUI will update to current channel OnShow (thanks to the author of GroupBuff for the base code)
*added two functions (BuffBuddyBC_CurrentChannel, BuffBuddyBC_Update) to support channel GUI
*added two background color files to main folder
*cleaned up BuffBuddyBC.lua and .xml code, added notes
*changed layout, adjusted spacing, txt, etc. in main frame
*added new example to CustomBuffRules.txt
*added the ability to shift-click consumable names into custom rules (ex: /bb addcustom [Wizard Oil],Mage)
*minor fiddling with text, code cleaning, etc.
*adjusted text placement and color, added border, changed background color of warning frames... can you see me now?
2.0
*updated for Burning Crusade compatibility, renamed folder, files, all variable names to 'BuffBuddyBC'
*removed non-functional auto-buffing functions now that these are no longer allowed by Blizzard
*cleaned out the code in general
*added the option to output buff information to any channel
*updated the pallyRules option to the more general customRules; use in the same way to create custom buff tracking rules
*updated readme.txt and changed the pally readme.txt to CustomRulesReadme.txt with new examples, macro code, etc.
*added changelog.txt
Installation Guide
- Exit "World of Warcraft" completely
- Download the mod you want to install
- Make a folder on your desktop called "My Mods"
- Save the .zip/.rar files to this folder.
- If, when you try to download the file, it automatically "opens" it... you need to RIGHT click on the link and "save as..." or "Save Target As".
- Extract the file - commonly known as 'unzipping'
Do this ONE FILE AT A TIME!
- Windows
- Windows XP has a built in ZIP extractor. Double click on the file to open it, inside should be the file or folders needed. Copy these outside to the "My Mods" folder.
- WinRAR: Right click the file, select "Extract Here"
- WinZip: You MUST make sure the option to "Use Folder Names" is CHECKED or it will just extract the files and not make the proper folders how the Authors designed
- Mac Users
- StuffitExpander: Double click the archive to extract it to a folder in the current directory.
- Verify your WoW Installation Path
That is where you are running WoW from and THAT is where you need to install your mods.
- Move to the Addon folder
- Open your World of Warcraft folder. (default is C:\Program Files\World of Warcraft\)
- Go into the "Interface" folder.
- Go into the "AddOns" folder.
- In a new window, open the "My Mods" folder.
- The "My Mods" folder should have the "Addonname" folder in it.
- Move the "Addonname" folder into the "AddOns" folder
- Start World of Warcraft
- Make sure AddOns are installed
- Log in
- At the Character Select screen, look in lower left corner for the "addons" button.
- If button is there: make sure all the mods you installed are listed and make sure "load out of date addons" is checked.
- If the button is NOT there: means you did not install the addons properly. Look at the above screenshots. Try repeating the steps or getting someone who knows more about computers than you do to help.
Translations
When you download a mod, please be sure that the mod is compatible with your translation of wow. Some mods only work on the US versions, while some only work on some of the various European versions. These variations are called "Localizations".
TOC Numbers (Out of Date Mods)
When Blizzard patches WoW, they change the Interface number. This means that all mods will be "out of date" unless or until the author releases a new version for that interface. Some people go into the .toc files and update the numbers themselves, but this is STRONGLY advised against as it will cause problems locating possible incompatibilities addons. When you log into WoW after a patch, you DO NOT have to delete your interface directory. All you have to do is simply tell WoW to ignore the interface numbers and load all the mods anyway. All you have to do is, while at the "character select" screen, look in the lower left corner and click on the "addons" button. A window will pop up listing all your installed mods.
If you look in the upper left corner of that window there should be a box that says "Load Out of Date AddOns". You want to CHECK this box. Now simply go into WoW normally and all your mods should load. As of the 1.9 patch, you will have to do this after EVERY patch/update that Blizzard posts! If you encounter any problems with a mod after a patch, please be sure to let the author of the mod know so they can fix it.
See also: About "Out Of Date AddOns"
Mac Support
WoW addons are not platformed based. As such, they can be used on either Mac or PC. You can extract both .zip and .rar files on a Mac using StuffitExpander.
Directory Structure
World of Warcraft
|_ Interface
|_AddOns
|_*AddonName*
|_ *AddonName*.toc
|_ *AddonName*.xml
|_ *AddonName*.lua
|_ (possibly others as well)...