LibAuras

There is once again a function in the API to retrieve auras by name (AuraUtil.FindAuraByName), which I recommend instead of this library.

Since 8.0, the lua API no longer allows calling UnitAura(), UnitBuff, or UnitDebuff() with the name of an aura.  Instead of having each addon loop through every buff or debuff every time they just want to call one, LibAuras only does so once (for each UNIT_AURA event), and shares that data across addons.

Usage

LibAuras has a very familiar interface. Ex:

local LibAuras = LibStub:GetLibrary("LibAuras")
local name, _, count = LibAuras:UnitAura("player", "buff name", "HELPFUL")

API

:UnitAura(unitId, spellIdOrName[, filter]) returns name, icon, count, debuffType, duration, expirationTime, unitCaster, canStealOrPurge, nameplateShowPersonal, spellId, canApplyAura, isBossDebuff, isCastByPlayer, nameplateShowAll, timeMod, value1, value2, value3

:UnitBuff and :UnitDebuff work exactly the same, except they automatically add the "HELPFUL" or "HARMFUL" filters, respectively.

There are two major differences between these and the base UnitAura() family of functions:

  • LibAuras allows you to specify a spellId instead of an aura name
  • There is no rank field returned (this also applies to the base UnitAura() starting in 8.0)

Caveats

LibAuras currently only supports the "HELPFUL", "HARMFUL", and "PLAYER" filters.


Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    292843
  • Created
    Apr 26, 2018
  • Last Released File
    Jul 15, 2018
  • Total Downloads
    1,822
  • License

Categories

Members

Recent Files

WoW Retail