Returns information about a debuff on a unit. This function is an alias for UnitAura() with a built-in HARMFUL filter (which cannot be removed or negated with the HELPFUL filter).

Signature:

name, rank, icon, count, dispelType, duration, expires, caster, isStealable = UnitDebuff("unit", index [, "filter"]) or UnitDebuff("unit", "name" [, "rank" [, "filter"]])

Arguments:

  • unit - A unit to query (string, unitID)
  • index - Index of an aura to query (number)
  • name - Name of an aura to query (string)
  • rank - Secondary text of an aura to query (often a rank; e.g. "Rank 7") (string)
  • filter - A list of filters to use separated by the pipe '|' character; e.g. "CANCELABLE|PLAYER" will query cancelable debuffs cast by the player (string)
    • CANCELABLE - Show auras that can be cancelled
    • NOT_CANCELABLE - Show auras that cannot be cancelled
    • PLAYER - Show auras the player has cast
    • RAID - Show auras the player can cast on party/raid members (as opposed to self buffs)

Returns:

  • name - Name of the aura (string)

  • rank - Secondary text for the aura (often a rank; e.g. "Rank 7") (string)

  • icon - Path to an icon texture for the aura (string)

  • count - The number of times the aura has been applied (number)

  • dispelType - Type of aura (relevant for dispelling and certain other mechanics); nil if not one of the following values: (string)

    • Curse
    • Disease
    • Magic
    • Poison

  • duration - Total duration of the aura (in seconds) (number)

  • expires - Time at which the aura will expire; can be compared to GetTime() to determine time remaining (number)

  • caster - Unit which applied the aura. If the aura was applied by a unit that does not have a token but is controlled by one that does (e.g. a totem or another player's vehicle), returns the controlling unit. Returns nil if the casting unit (or its controller) has no unitID. (string, unitID)

  • isStealable - 1 if the aura can be transferred to a player using the Spellsteal spell; otherwise nil (1nil)