--<< ====================================================================== >>-- -- 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