vanilla-wow-addons – Rev 1
?pathlinks?
--<< ====================================================================== >>--
-- Module Setup --
--<< ====================================================================== >>--
AceTimerSkill = AceTimer:AddModule({
option = ACETIMER.OPT_SKILL,
method = "CareOptSkill",
desc = ACETIMER.OPT_SKILL_DESC,
})
function AceTimerSkill:Enable()
if self.GetOpt("NoSkill") then return self:Disable() end
if self.timers[ACETIMER.SKILL] then
self:Hook("ActionButton_UpdateUsable")
end
end
function AceTimerSkill:Disable()
self:UnregisterAllEvents(self)
self:UnhookAllScripts()
end
--<< ====================================================================== >>--
-- Main --
--<< ====================================================================== >>--
function AceTimerSkill:ActionButton_UpdateUsable()
local slot = ActionButton_GetPagedID(this)
AceTimerTooltip:SetAction(slot)
local name = AceTimerTooltipTextLeft1:GetText()
local timer = self.timers[ACETIMER.SKILL][name]
if timer then
if IsUsableAction(slot) then
if not timer.v or timer.v < GetTime() then
timer.v = GetTime() + 5
self:StartTimer(timer, name)
end
else
if timer.v then
timer.v = nil
self:KillBar(name, "none")
end
end
end
return self:CallHook("ActionButton_UpdateUsable")
end
--<< ====================================================================== >>--
-- Command Handlers --
--<< ====================================================================== >>--
function AceTimerSkill:CareOptSkill()
if self.TogOpt("NoSkill") then self:Disable() else self:Enable() end
return self:Report()
end
function AceTimerSkill:Report()
return self.cmd:result(
ACETIMER.OPT_SKILL_TEXT,
ACETIMER.MAP_ONOFF[self.GetOpt("NoSkill") or 0]
)
end