Fandom

WoWWiki

API GetSpellCooldown

104,635pages on
this wiki
Add New Page
Talk2 Share

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.

WoW API < GetSpellCooldown

Retrieves the cooldown data of the spell specified.

start, duration, enabled = GetSpellCooldown(spellName or spellID or slotID, "bookType");

ArgumentsEdit

spellName
String - name of the spell to retrieve cooldown data for.
spellID
Number - ID of the spell in the database
slotID
Number - Valid values are 1 through total number of spells in the spellbook on all pages and all tabs, ignoring empty slots.
bookType
String - BOOKTYPE_SPELL or BOOKTYPE_PET depending on whether you wish to query the player or pet spellbook.

ReturnsEdit

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.

ExampleEdit

 local start, duration, enabled = GetSpellCooldown("Presence of Mind");
if enabled == 0 then
 DEFAULT_CHAT_FRAME:AddMessage("Presence of Mind is currently active, use it and wait " .. duration .. " seconds for the next one.");
elseif ( start > 0 and duration > 0) then
 DEFAULT_CHAT_FRAME:AddMessage("Presence of Mind is cooling down, wait " .. (start + duration - GetTime()) .. " seconds for the next one.");
else
 DEFAULT_CHAT_FRAME:AddMessage("Presence of Mind is ready.");
end

ResultEdit

Checks status of the Presence of Mind cooldown and outputs the appropriate message to the default chat frame.

ExampleEdit

local name = GetSpellInfo(28370);
local start, duration, enabled = GetSpellCooldown(name);
etc...

Example of using SpellIDs to retrieve cooldown info


ExampleEdit

local start, duration, enabled = GetSpellCooldown(48505);

ResultEdit

returns 0, 0, 1 if the spell 'Starfall' is not on Cooldown otherwise it returns GetTime(), 90, 1


NotesEdit

  • 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.
  • GetSpellCooldown() does not directly accept SpellIDs. You must first retrieve the spell name using GetSpellInfo(spellID) [Seems out of date as of 3.3]
  • GetSpellCooldown() accepts SpellIDs [Noticed in 3.3.2 - but worked with it as of 3.3]

Also on Fandom

Random Wiki