Returns the cooldown info of a spell.
start, duration, enabled, modRate = GetSpellCooldown(spell)
= GetSpellCooldown(index, bookType)
Arguments
- spell
- number|string - Spell ID or Name. When passing a name requires the spell to be in your Spellbook.
Spellbook args
|
- index
- number - Spellbook slot index, ranging from 1 through the total number of spells across all tabs and pages.
- bookType
- string -
BOOKTYPE_SPELL or BOOKTYPE_PET depending on if you wish to query the player or pet spellbook.
- Internally the game only tests if this is equal to
"pet" and treats any other string value as "spell".
Constant |
Value |
Description
|
BOOKTYPE_SPELL |
"spell" |
The General, Class, Specs and Professions tabs[1]
|
BOOKTYPE_PET |
"pet" |
The Pet tab
|
|
Returns
- startTime
- number - The time when the cooldown started (as returned by GetTime()); zero if no cooldown; current time if (enabled == 0).
- duration
- number - Cooldown duration in seconds, 0 if spell is ready to be cast.
- enabled
- number - 0 if the spell is active (Stealth, Shadowmeld, Presence of Mind, etc) and the cooldown will begin as soon as the spell is used/cancelled; 1 otherwise.
- modRate
- number - The rate at which the cooldown widget's animation should be updated.
Details
Example
The following snippet checks the state of [Presence of Mind] cooldown. On English clients, you could also use "Presence of Mind"
in place of 12043
, which is the spell's ID.
local start, duration, enabled, modRate = GetSpellCooldown(12043)
if enabled == 0 then
print("Presence of Mind is currently active, use it and wait " .. duration .. " seconds for the next one.")
elseif ( start > 0 and duration > 0) then
local cdLeft = start + duration - GetTime()
print("Presence of Mind is cooling down, wait " .. cdLeft .. " seconds for the next one.")
else
print("Presence of Mind is ready.")
end
Details
- To check the Global Cooldown, you can use the spell ID
61304
. This is a dummy spell specifically for the GCD.
- The enabled return value allows addons to easily check if the player has used a buff-providing spell (such as Presence of Mind or Nature's Swiftness) without searching through the player's buffs.
- Values returned by this function are not updated immediately when UNIT_SPELLCAST_SUCCEEDED event is raised.
Patch changes
Patch 7.1.0 (2016-10-25): The modRate
return value was added.
Patch 6.2.0 (2015-06-23): The charges
and maxCharges
return values were removed. They were moved to GetSpellCharges.