WoW API: UnitDebuff
Jump to navigation
Jump to search
← WoW API < UnitDebuff
Retrieve info about a certain debuff on a certain unit.
name, rank, iconTexture, count, debuffType, duration, timeLeft = UnitDebuff(unitID, debuffIndex [, removable]);
Parameters
Arguments
- unitId
- String - The unit you want debuff information for.
- debuffIndex
- Number - The index of the debuff to retrieve info for. Starts at 1, maximum 40.
- removable
- Boolean - (optional) - If 1, only debuffs removable by player will be returned; debuffIndex still begins at 1.
Returns
- name
- String - The name of the spell or effect of the debuff. This is the name shown in yellow when you mouse over the icon.
- rank
- String - The rank of the spell or effect that caused the debuff. Returns "" if there is no rank.
- texture
- String - The identifier of (path and filename to) the indicated debuff, or nil if no debuff
- count
- 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 ).
- debuffType
- String - The type of the debuff: Magic, Disease, Poison, Curse, or nothing for those with out a type.
- duration
- Number - The full duration of the debuff in seconds; nil if the debuff was not cast by the player.
- timeLeft
- Number - Time until the debuff expires, in seconds; nil if the debuff was not cast by the player.
Example
Retrieves the name, rank and icon texture of the first debuff on the player's pet:
name, rank, texture = UnitDebuff("pet", 1);
Macros
Macro to print a list of the target's debuffs:
/run for i=1,40 do local D= UnitDebuff("target",i); if D then print(i.."="..D) end end
Macro to retrieve focus's remaining debuff time for any of the three Mage Poly spells and announce it via "SAY":
/run for i=1,40 do local n,_,_,_,_,_,x,_,_=UnitDebuff("focus",i);if (n=="Polymorph")or (n=="Polymorph(Pig)")or (n=="Polymorph(Turtle)")then SendChatMessage(format("%.0f",-1*(GetTime()-x)).." secs left on "..UnitName("focus").."'s CC!","EMOTE");end end
History
- Patch 1.9 introduced the removable argument.
- Patch 2.0 extended the maximum number of debuffs to 40 (from 16).
- Patch 2.0 introduced name and rank return values.
- Patch 2.1 introduced duration and timeLeft return values.