Skip to content
3 changes: 2 additions & 1 deletion CooldownTracker.toc
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
## Title: Healer Cooldown Tracker
## Notes: Manually track healer cooldowns for raid leaders. Click to start a timer when a healer calls out on comms.
## Author: Reube
## Version: 1.0.0
## Version: 1.1.0
## SavedVariables: CooldownTrackerDB

Data.lua
UI.lua
Settings.lua
Core.lua
5 changes: 5 additions & 0 deletions Core.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
-- Slash commands:
-- /cdt — toggle the tracker window
-- /cdt reset — reset all running timers
-- /cdt settings — open the settings panel
--------------------------------------------------------------------------------

local AddonName, CT = ...
Expand All @@ -25,6 +26,8 @@ eventFrame:SetScript("OnEvent", function(_, event, name)
-- Build the UI (defined in UI.lua) then restore the saved position
CT:BuildUI()
CT:RestorePosition()
-- Register the settings panel (defined in Settings.lua)
CT:InitSettings()
end
end)

Expand All @@ -40,6 +43,8 @@ SlashCmdList["COOLDOWNTRACKER"] = function(msg)
CT.activeTimers[cd.id] = nil
end
print("|cffaaddff[CooldownTracker]|r All timers reset.")
elseif cmd == "settings" then
CT:OpenSettings()
else
if CT.mainFrame:IsShown() then
CT.mainFrame:Hide()
Expand Down
130 changes: 70 additions & 60 deletions Data.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
-- Data.lua
-- Cooldown definitions. Add new healer abilities here — no other file needs
-- to change. Each entry requires:
-- id - unique string key
-- class - class name (display only)
-- name - ability name (display only)
-- duration - cooldown length in seconds
-- icon - WoW texture path (Interface\Icons\...)
-- r, g, b - accent colour using WoW class colours (0-1 range)
-- id - unique string key
-- class - class name (display only)
-- name - ability name (display only)
-- duration - cooldown length in seconds (may be overridden by user)
-- defaultDuration - original duration used by the Reset button in settings
-- icon - WoW texture path (Interface\Icons\...)
-- r, g, b - accent colour using WoW class colours (0-1 range)
--------------------------------------------------------------------------------

local AddonName, CT = ...
Expand All @@ -17,95 +18,104 @@ CT.COOLDOWNS = {
-- Druid (class colour: orange)
-- -------------------------------------------------------------------------
{
id = "druid_convoke",
class = "Druid",
name = "Convoke the Spirits",
duration = 60,
icon = "Interface\\Icons\\ability_ardenweald_druid",
r = 1.0, g = 0.49, b = 0.04,
id = "druid_convoke",
class = "Druid",
name = "Convoke the Spirits",
duration = 60,
defaultDuration = 60,
icon = "Interface\\Icons\\ability_ardenweald_druid",
r = 1.0, g = 0.49, b = 0.04,
},
{
id = "druid_tranquility",
class = "Druid",
name = "Tranquility",
duration = 180,
icon = "Interface\\Icons\\spell_nature_tranquility",
r = 1.0, g = 0.49, b = 0.04,
id = "druid_tranquility",
class = "Druid",
name = "Tranquility",
duration = 180,
defaultDuration = 180,
icon = "Interface\\Icons\\spell_nature_tranquility",
r = 1.0, g = 0.49, b = 0.04,
},

-- -------------------------------------------------------------------------
-- Paladin (class colour: pink)
-- -------------------------------------------------------------------------
{
id = "paladin_avenging_wrath",
class = "Paladin",
name = "Avenging Wrath",
duration = 120,
icon = "Interface\\Icons\\spell_holy_avenginewrath",
r = 0.96, g = 0.55, b = 0.73,
id = "paladin_avenging_wrath",
class = "Paladin",
name = "Avenging Wrath",
duration = 120,
defaultDuration = 120,
icon = "Interface\\Icons\\spell_holy_avenginewrath",
r = 0.96, g = 0.55, b = 0.73,
},
{
id = "paladin_aura_mastery",
class = "Paladin",
name = "Aura Mastery",
duration = 120,
icon = "Interface\\Icons\\spell_holy_auramastery",
r = 0.96, g = 0.55, b = 0.73,
id = "paladin_aura_mastery",
class = "Paladin",
name = "Aura Mastery",
duration = 120,
defaultDuration = 120,
icon = "Interface\\Icons\\spell_holy_auramastery",
r = 0.96, g = 0.55, b = 0.73,
},

-- -------------------------------------------------------------------------
-- Shaman (class colour: blue)
-- -------------------------------------------------------------------------
{
id = "shaman_ascendance",
class = "Shaman",
name = "Ascendance",
duration = 180,
icon = "Interface\\Icons\\spell_fire_elementaldevastation",
r = 0.0, g = 0.44, b = 0.87,
id = "shaman_ascendance",
class = "Shaman",
name = "Ascendance",
duration = 180,
defaultDuration = 180,
icon = "Interface\\Icons\\spell_fire_elementaldevastation",
r = 0.0, g = 0.44, b = 0.87,
},
{
id = "shaman_spirit_link",
class = "Shaman",
name = "Spirit Link Totem",
duration = 180,
icon = "Interface\\Icons\\spell_shaman_spiritlink",
r = 0.0, g = 0.44, b = 0.87,
id = "shaman_spirit_link",
class = "Shaman",
name = "Spirit Link Totem",
duration = 180,
defaultDuration = 180,
icon = "Interface\\Icons\\spell_shaman_spiritlink",
r = 0.0, g = 0.44, b = 0.87,
},

-- -------------------------------------------------------------------------
-- Warrior (class colour: tan/gold)
-- -------------------------------------------------------------------------
{
id = "warrior_rallying_cry",
class = "Warrior",
name = "Rallying Cry",
duration = 180,
icon = "Interface\\Icons\\ability_warrior_rallyingcry",
r = 0.78, g = 0.61, b = 0.23,
id = "warrior_rallying_cry",
class = "Warrior",
name = "Rallying Cry",
duration = 180,
defaultDuration = 180,
icon = "Interface\\Icons\\ability_warrior_rallyingcry",
r = 0.78, g = 0.61, b = 0.23,
},

-- -------------------------------------------------------------------------
-- Evoker (class colour: teal)
-- -------------------------------------------------------------------------
{
id = "evoker_zephyr",
class = "Evoker",
name = "Zephyr",
duration = 120,
icon = "Interface\\Icons\\ability_evoker_hoverblack",
r = 0.2, g = 0.58, b = 0.5,
id = "evoker_zephyr",
class = "Evoker",
name = "Zephyr",
duration = 120,
defaultDuration = 120,
icon = "Interface\\Icons\\ability_evoker_hoverblack",
r = 0.2, g = 0.58, b = 0.5,
},

-- -------------------------------------------------------------------------
-- Death Knight (class colour: red)
-- -------------------------------------------------------------------------
{
id = "dk_amz",
class = "Death Knight",
name = "Anti-Magic Zone",
duration = 120,
icon = "Interface\\Icons\\spell_deathknight_antimagiczone",
r = 0.77, g = 0.12, b = 0.23,
id = "dk_amz",
class = "Death Knight",
name = "Anti-Magic Zone",
duration = 120,
defaultDuration = 120,
icon = "Interface\\Icons\\spell_deathknight_antimagiczone",
r = 0.77, g = 0.12, b = 0.23,
},
}
Loading