Wowpedia

We have moved to Warcraft Wiki. Click here for information and the new URL.

READ MORE

Wowpedia
mNo edit summary
mNo edit summary
Line 27: Line 27:
 
== Macros ==
 
== Macros ==
 
Macro to print a list of the target's debuffs:
 
Macro to print a list of the target's debuffs:
<pre>/run for i=1,40 do local B=UnitBuff("target",i); if B then print(i.."="..B) end end</pre>
+
<pre>/run for i=1,40 do local D= UnitDebuff("target",i); if D then print(i.."="..D) end end</pre>
 
<br>
 
<br>
 
Macro to retrieve target's remaining debuff time for any of the three Mage Poly spells and announce it via "SAY":
 
Macro to retrieve target's remaining debuff time for any of the three Mage Poly spells and announce it via "SAY":

Revision as of 21:53, 19 October 2008

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 target'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.

See Also

UnitBuff
FAQ: Why doesn't UnitDebuff accurately report the spell I just cast?
HOWTO: Identify Buffs Using Textures
List of known buff and debuff effects that can be queried