Get an Epic Experience with Premium

AdiButtonAuras

Buffs & Debuffs Login to Add Favorites
  • 0 Likes
  • World of Warcraft
  • 478 Monthly Downloads
  • Supports: 5.4.8
  • 4,035 Total Downloads
  • Updated 08/31/2014
  • Created 11/03/2013
  • 15 Favorites
  • Project Site
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 1.7
or

About AdiButtonAuras

AdiButtonAuras

Display auras, and more, on action buttons.

AdiButtonAuras is a rewrite of Inline Aura, but with different design decisions based on my experience on the latter.

AdiButtonAuras uses a set of rules that apply to one or more spells. Each rule can track an aura on one or more unit and changes the display of the spell accordingly.

AdiButtonAuras has several custom rules to suggest using spells at meaningful times. By default, these suggestions are displayed using a rotary, shinning star on the buttons.

AdiButtonAuras smartly track raid/group buffs: it shows the number of missing buffs and the duration of the shortest one, taking into account equivalent buffs.

Options

Global options

  • do not show flashing border for actions on cooldown (do not affect Blizzard flash),
  • do not show flashing border for actions out of combat (do not affect Blizzard flash),
  • select how suggestions are displayed (hidden, rotary star or flashing border),
  • change the colors of “good” and “bad” borders,
  • tweak the format of the countdown text,
  • change colors of the countdown text.

Spell/item options

  • disable the spell,
  • “promote to flash”: replace any border with the flashing animation,
  • inverted highlight: highlight the spell when it is missing,
  • select which rules should apply.

Supported classes and specializations

Most of the simple buffs are supported through the librarires:

Special cases and hints are handled using customized rules, see below.

There is also a default rule for items not supported by LibItemBuffs-1.0.

Design decisions

Separate button overlays

A separate button overlay is created for each button, with border texture, texts and glowing animation.

Pro: avoid tainting the action buttons, which could cause ADDON_BLOCKED errors. This also reduces complexity, i.e. possibility of bugs.

Con: this does not support skinning (Masque) or custom third-party action buttons (ElvUI). However, AdiButtonAuras fully support Dominos and Bartender4, and should support any addon using the stock action buttons (like Dominos) or LibActionButton-1.0 (like Bartender4).

Hard-coded rules

The rules are hard-coded using a pretty simple Domain Specific Language built on top of Lua.

Each rules specifies the spells to modify, the units and events to watch and one or more handlers. Several rules about the same spell are merged together, or thrown if the character doesn’t know the spell.

Each time one of the event is triggered for one of the unit, the handlers are called to update the state of the associated button.

A set of convenient functions are provided to easily configure most spells. If a more specific task is needed, Lua can be used (see interrupt spells).

Pro: far more powerful than the Inline Aura engine. This allows to show data from one unit merged with the stat of another one, if need be.

Con: there is no way to configure this using a GUI.

No spell auto-discovery

AdiButtonAuras only shows data for existing rules. It does not try to guess what to show.

Pro: avoid showing wrong data.

Con: all spells for all class should be listed.

Using spell ids instead of spell names

AdiButtonAuras uses the spell numerical identifiers, instead of its name, to search for the applicable rules.

Pro: avoid showing information on a wrong spell that as the same name as the intended one.

Con: spells ids are sometimes different depending on shapeshift forms, glyphs or talents. All of them should be listed.

Embedded BugGrabber

BugGrabber is shipped with AdiButtonAuras. You can install BugSack to have a more user-friendly display of errors.

FAQ

When I try to configure a spell, the button is dimmed and I cannot chose it. Why ?

AdiButtons has no rule about this spell. Consider filing an issue.

What do some rules ending with some obscure characters between brackets, like [LPS-DRUID-5.4.1-7] ?

These are references to the libraries AdiButtonAuras used to create the rule.

  • LPS-XXX-A.B.C-N: data from LibPlayerSpells-1.0 for class XXX, patch A.B.C, Nth revision. E.g. “[LPS-DRUID-5.4.1-7]” stands for “rule created accordingly to LibPlayerSpells-1.0 data for druid, patch 5.4.1, 7th revision.”
  • DR-N: DRData-1.0, Nth revision.
  • LSB-N: LibSpellbook-1.0, Nth revision.
  • LD-N: LibDispellable-1.0, Nth revision.

Are you going to support button skinning, e.g. Masque ?

No, unless Masque supports to skin partial buttons.

Are you going to support ElvUI ?

AdiButtonAuras should work with ElvUI. I am not going to support its skin though.

Are you going to add a configuration panel to create custom rules ?

Not in the way InlineAura did it. At best will it support custom rules written in Lua using the DSL (and I make no promise).

Acknowledgment

Thanks to the following people for testing and contributions to AdiButtonAuras and related libraries.

Contributors (in alphabetical order):

License

AdiButtonAuras is licensed using the GPL v3.

tag 1.7
0e0f72fc042b163b8ba375cdd09032bc76a0a4a6
Adirelle <adirelle@gmail.com>
2014-08-31 20:37:23 +0200

Fetch latest version of LibPlayerSpell.

--------------------

daf:
    - Show hint when Soul Reaper does bonus shadow damage to target.

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 »

Alienware Alpha Giveaway!