Get an Epic Experience with Premium


Buffs & Debuffs Login to Add Favorites
  • World of Warcraft
  • 386 Monthly Downloads
  • Supports: 6.0.3
  • 61,580 Total Downloads
  • Updated 01/08/2015
  • Created 03/23/2010
  • 162 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: BSD License
  • Newest File: 6.0.7

About BuffBroker

  • Updated* The current release build should be stable. Watch for fixes to seals and other goodies in beta builds!

"Buff Broker: It lets you mash butan for buffs. No matter what class you are. or what group you're in. You just mash a button and everyone gets the right buff"*

  • Quote: Psychonaut (TB)

What does it do?

Buff Broker manages your group & personal auras. Be it Blessings, Totems, Shouts, Horns, Marks, or Power Words; your Paladin, Priest, Shaman, Warrior, or Druid; Seals, armors, stances, forms, or fires; installing this addon will help match your best buffs for your group, and help keep those buffs active on you and your party.

Buff Broker is uniquely adaptable to your current party. It is friendly with other players; it will not poach their buffs (although it might poach their assignments); it will not get confused if your buffs are poached; it understands talented vs untalented buffs; it will properly suggest you upgrade from single to class/raid wide buffs. Finally, yes, it does work.

Each time you click the main button, it performs the next best suggestion (cast <spell> on target/class/raid).

More Questions?

Read the FAQ
Watch the demonstration on youtube

r357 | neaves | 2015-01-08 10:30:32 +0000 (Thu, 08 Jan 2015) | 1 line
Changed paths:
   A /tags/6.0.7 (from /trunk:356)

Tagging as 6.0.7
r356 | neaves | 2015-01-08 10:30:03 +0000 (Thu, 08 Jan 2015) | 1 line
Changed paths:
   M /trunk/PlayerState.lua

nil string fix: removed group parsing when in a group of 1 (aka custom group finder)
r354 | neaves | 2014-12-31 10:16:45 +0000 (Wed, 31 Dec 2014) | 1 line
Changed paths:
   M /trunk/PlayerState.lua

corrected lua error: role lost when changing to/from a tank form/spell (blood presence, bear form, etc)
r353 | neaves | 2014-12-31 06:20:05 +0000 (Wed, 31 Dec 2014) | 1 line
Changed paths:
   M /trunk/BuffBroker.lua
   M /trunk/PlayerState.lua

reverting lost code from failed deploy (copied old to working copy); safe-cast string for no-name error case in PlayerState
r352 | neaves | 2014-12-30 20:46:35 +0000 (Tue, 30 Dec 2014) | 1 line
Changed paths:
   M /trunk/BuffBroker.lua

Moved form check inside loop where relevant variables are populated (derp)
r350 | neaves | 2014-12-30 10:38:59 +0000 (Tue, 30 Dec 2014) | 1 line
Changed paths:
   M /trunk/Constants.lua
   M /trunk/PlayerState.lua

Filled in Draenor-friendly role detection, spell eligibility, and buff preferences.  multi-benefit spells are still a bit off (Arcane Intellect, Legacy of the White Tiger).
r349 | neaves | 2014-12-23 23:59:43 +0000 (Tue, 23 Dec 2014) | 1 line
Changed paths:
   M /trunk/BuffBroker.lua

didn't save buffbroker.lua
r348 | neaves | 2014-12-23 23:59:00 +0000 (Tue, 23 Dec 2014) | 1 line
Changed paths:
   M /trunk/BuffBroker.lua
   M /trunk/Constants.lua
   M /trunk/PlayerState.lua

Identified old class/spell mappings in BBPlayerState.cataclysm:ProfileUnit out spec-to-spell lookup into Constants.  broke out role assignment & known spells as new function in player state.  BBPlayerState.base:SetRole MUST be completed before addon will function for all classes.
r346 | neaves | 2014-12-22 17:44:26 +0000 (Mon, 22 Dec 2014) | 1 line
Changed paths:
   M /trunk/BuffBroker.lua
   M /trunk/Constants.lua

removed GetTalentInfo, no longer useful for Warlords of Draenor (fixes lua error for druids, death knights, and others); added planning comments for role detection (tank/healer/dps)
r344 | neaves | 2014-12-19 22:37:52 +0000 (Fri, 19 Dec 2014) | 1 line
Changed paths:
   M /trunk/BuffBroker.lua
   M /trunk/Constants.lua

disabled paladin seals, until FORM data is linked up everywhere against the relevant spells, active-checks, etc
r342 | neaves | 2014-12-19 21:03:53 +0000 (Fri, 19 Dec 2014) | 1 line
Changed paths:
   M /trunk/BuffBroker.lua
   M /trunk/Constants.lua
   M /trunk/PlayerState.lua

Fixed some lua syntax bugs; fixed compliance with new UnitGUID format; fixed compliance with changes to range & membership check on the player;  Seals broken, until Form checks can be added (GetShapeshiftForm)
r339 | neaves | 2014-12-19 17:23:24 +0000 (Fri, 19 Dec 2014) | 1 line
Changed paths:
   M /trunk/BuffBroker.toc
   M /trunk/Constants.lua

updated lookup tables in Constants.lua to match warlords of draenor spell categories and spellids

Addon Packs Containing This...


First Previous Page 1 of 14 Next Last
  • #208

    could we maybe get an option to disable tooltips entirely and make the BuffBroker clickthrough? :-)

    edit: also, can we make it work in combat? :P

    Last edited by b3n9ti on 1/8/2015 7:39:39 AM
  • #209
    Quote from b3n9ti »

    could we maybe get an option to disable tooltips entirely and make the BuffBroker clickthrough? :-)


    It sounds like you just want an indicator. TellMeWhen or WeakAuras would be perfectly suited for this.

    Quote from b3n9ti »

    edit: also, can we make it work in combat? :P


    Blizzard isn't too keen on players pushing one button to cast arbitrary spells based on a set of rules while in combat. The range of things possible during combat lock-down reaaaaally limits the usefulness of BuffBroker. My hands are kind of tied on this, even though it would be "nice".

  • #206

    was just wondering if there was going to be a mop update or a suitable replacement .. love the addon

  • #207

    Hijacking top post ... I am updating the addon for Warlords of Draenor.  Paladins, Druids, and Death Knights should be working.  Others may not (Monks weren't, last I checked).

    Addon should load and run without throwing errors.  Experimental changes will start dropping as beta builds, once the release is stable (6.0.4 as of time of this writing)

  • #203

    Any chance of an update for Mists of Pandaria?

  • #204

    There's always a chance!  Probably not before MoP release, though, since I lack the time :(

    There are ~4 changes left to work with the new API.  After that, all the lists of spell IDs need to be re-grouped.  The first task takes some LUA savvy;  the second is about as complex as updating an excel/google spreadsheet.

    I'm offering to coach willing volunteers through the update process, but, no takers yet.

    Last edited by neaves on 9/10/2012 12:12:00 PM
  • #205

    Would love to give you a hand but sadly I have no experience & no knowledge on how to code. I understand the time issue & thank you (and all addon authors) for the time & effort they put into these addons.

  • #202

    I love this add-on. I hope it is updated for 5.0.4 and beyond!

  • #201

    Using version 5.02B and got:

    Message: BuffBroker-5.0.2B\Constants.lua:1854: attempt to call global "GetTalentTabInfo" (a nil value)
    Time: 09/04/12 04:50:08
    Count: 7
    Stack: (tail call): ?
    Interface\AddOns\BuffBroker\BuffBroker.lua:3587: in function `CataclysmInspectAvailable'
    Interface\AddOns\BuffBroker\BuffBroker.lua:4036: in function `OnEvent'
    Interface\AddOns\BuffBroker\BuffBroker.lua:4295: in function <Interface\AddOns\BuffBroker\BuffBroker.lua:4295>

    Locals: (*temporary) = "INSPECT_READY"
    (*temporary) = "0x0380000003397BDD"
    (*temporary) = "INSPECT_READY"
    (*temporary) = "0x0380000003397BDD"
    (*temporary) = <function> defined =[C]:-1

    So still a GetTalentTabInfo exists instead of GetSpecializationInfo

    Also got this when invited to party

    Message: BuffBroker-5.0.2B\PlayerState.lua:1370: attempt to concatenate local "prefix" (a nil value)
    Time: 09/04/12 05:00:17
    Count: 1
    Stack: Interface\AddOns\BuffBroker\BuffBroker.lua:2538: in function `RefreshPlayers'
    Interface\AddOns\BuffBroker\BuffBroker.lua:3890: in function `OnUpdate'
    Interface\AddOns\BuffBroker\BuffBroker.lua:4296: in function <Interface\AddOns\BuffBroker\BuffBroker.lua:4296>

    Locals: self = <table> {
     SetDefaultModuleLibraries = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:383
     GetHighestSpellID = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:2180
     TestCases = <table> {
     TalentGroup = 1
     EnableModule = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:348
     modules = <table> {
     baseName = "BuffBroker"
     IterateEmbeds = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:458
     CoverageChanged = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:2558
     AssignButtonBuff = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:2900
     ResortSuggestions = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:2036
     Printf = <function> defined @Interface\AddOns\Ace3\AceConsole-3.0\AceConsole-3.0.lua:69
     SetDefaultModulePrototype = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:425
     defaultModuleState = true
     IsEnabled = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:467
     ShouldProfile = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:3991
     DisableModule = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:366
     PreClick = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:4361
     BuffTexture = <unnamed> {
     CheckRoles = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:3203
     ClearState = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:3665
     RegisterMessage = <function> defined @Interface\AddOns\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:118
     GetArgs = <function> defined @Interface\AddOns\Ace3\AceConsole-3.0\AceConsole-3.0.lua:144
     MoveFrame = <unnamed> {
     ActivityFrame = <unnamed> {
     ScanAvailable = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:2525
     OptionsFrames = <table> {
     db = <table> {
     OnDisable = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:4466
     IsObscured = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:2521
     IsGreaterPallyBuff = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:4494
     RegenerateSuggestionDependencies = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:2577
     GetBuffStrength = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:2213
     SetEnabledState = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:440
     Constants = <table> {
     enabledState = true
     BuildSuggestList = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:750
     RegisterEvent = <function> defined @Interface\AddOns\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:118
     OnInitialize = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:3690
     ParseSpellCast = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:4158
     RefreshConfig = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:4807
     SlotContainsLabel = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:2167
     IterateModules = <function> defined @Interface\AddOns\Ace3\AceAddon-3.0\AceAddon-3.0.lua:453
     BuildDesirability = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:4570
     ProvidersChanged = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:2563
     GetBuffDepth = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:4544
     UpdateRangeCheck = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:4517
     FadeTip = <function> defined @Interface\AddOns\BuffBroker\BuffBroker.lua:4393
     RoleFromTalents = <function> defin

    Last edited by arapis88 on 9/3/2012 9:02:37 PM
  • #200

    This update is not working for 5.0.4 and neither does the beta version.

  • #199

    One button to rule them all.

    Love this addon. I just wish it would work during combat.

  • #198

    Great addon, since we lost a resto druid in our raid people always fuss at me for not putting up Mark. A great feature would be if it would "recommend" the last seen druid form as the last buff. When I hit the button to Mark as Feral it changes me out of form, it would be great to be able to hit the same button to switch back.

  • #197

    As a 'lock, it'd be nice to have an addon that could find the most pertinent battleground ally to cast Dark Intent on.  And Soul Link needs to be added.


    Otherwise, looks like a great little addon.  Thanks!

  • #192
    Great addon, just work, which is what these things should do, I especially like that it takes into account personal preference, not insisting on a specific pally buff when you want something else.
    Any way you could implement profiles? I have 10 toons and had to separately configure each one to be the same (size, position, hidden, lock ui etc).
    Would be great to do it once then select the same profile on each one, especially if I decide to change something then I don't have to mimic that change on the other 9 again individually.
  • #193
    Update: 5/01/2011
    On my shaman after I dropped totems for the first time and then recalled them it is showing totem buffs as missing and wants me to recast them, I would think these should be ignored, no?
  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

PAX South Alienware Giveaway