API UnitAura

104,670pages on
this wiki
Add New Page
Talk6 Share
WoW API < UnitAura

This function was introduced in Patch 3.0. It will serve as an all-in-one solution for querying unit buffs and debuffs. UnitBuff and UnitDebuff will serve as aliases with built-in harmful/helpful filters.


name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId 
 = UnitAura("unit", index or "name"[, "rank"[, "filter"]])

If the second parameter is a string, then the third parameter is the rank (which can be nil)

Either use:
unit, index, filter
unit, name, rank, filter

  • UnitAura("target", 1) -- First buff on target
  • UnitAura("target", 1, "PLAYER|HARMFUL") -- First debuff, cast by the player, on the target
  • UnitAura("player", "Lightning Shield") -- first instance of "Lightning Shield" on the player
  • UnitAura("player", "Lightning Shield", nil, "PLAYER|HELPFUL") -- first instance of "Lightning Shield" on the player, cast by the player
  • UnitAura("player", "Lightning Shield", "Rank 2") -- first instance of "Lightning Shield", rank 2, on the player

Arguments Edit

String - The unit you want debuff information for.
Number - The index of the debuff to retrieve info for. Starts at 1, maximum 40.
This parameter can be any of "HELPFUL", "HARMFUL", "PLAYER", "RAID", "CANCELABLE", "NOT_CANCELABLE". You can also specify several filters separated by a | or space character to chain multiple filters together (e.g. "HELPFUL|RAID" or "HELPFUL RAID" == helpful buffs that you can cast on your raid). By default UnitAura has "HELPFUL" as an implicit filter - you cannot get back BOTH helpful and harmful at the same time. Neither "HELPFUL" or "HARMFUL" have meaning for UnitBuff/UnitDebuff, and will be ignored.

Returns Edit

String - The name of the spell or effect of the debuff. This is the name shown in yellow when you mouse over the icon.
String - The rank of the spell or effect that caused the debuff. Returns "" if there is no rank.
String - The path to the icon file.
Number - The number of times the debuff has been applied to the target. Returns 0 for any debuff which doesn't stack. ( Changed in 1.11 ).
String - The type of the debuff: Magic, Disease, Poison, Curse, or nothing for those with out a type.
Number - The full duration of the debuff in seconds;
Number - The time in seconds (like what returns GetTime()) when the aura will expire.
String - unitId reference to the unit that casted the buff/debuff.
Boolean - 1 or nil depending on if the aura can be spellstolen.
Boolean - 1 or nil depending on if the default Blizzard UI should put the aura into the "consolidated" box of buffs.
Number - the spellId of the aura.

Macro Options:Edit

1. Prints the name of any stealable buffs on the current target, or a notice if nothing is stealable:

/run local y=0;for i=1,40 do local n,_,_,_,_,_,_,_,isStealable=UnitAura("target",i);if isStealable==1 then print(n.." on target, steal it!")y=1;end end if y~=1 then print("No stealable buffs.")end

History Edit

  • Patch 3.0 combined UnitDebuff and UnitBuff into this command.
  • Patch 3.1 changed "isMine" to "unitCaster". It is now possible for addons to retrieve the unitId that cast the buff/debuff.
  • Patch 3.3 added shouldConsolidate and spellId

See Also Edit

List of known buff and debuff effects that can be queried
Upcoming 3.0 Changes - Concise List

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki