from retail
This commit is contained in:
@@ -899,9 +899,14 @@ function WeakAuras.ScanUnitEvents(event, unit, ...)
|
||||
Private.ActivateAuraEnvironment(id);
|
||||
local updateTriggerState = false;
|
||||
for triggernum, data in pairs(triggers) do
|
||||
local allStates = WeakAuras.GetTriggerStateForTrigger(id, triggernum);
|
||||
if (RunTriggerFunc(allStates, data, id, triggernum, event, unit, ...)) then
|
||||
updateTriggerState = true;
|
||||
local delay = GenericTrigger.GetDelay(data)
|
||||
if delay == 0 then
|
||||
local allStates = WeakAuras.GetTriggerStateForTrigger(id, triggernum);
|
||||
if (RunTriggerFunc(allStates, data, id, triggernum, event, unit, ...)) then
|
||||
updateTriggerState = true;
|
||||
end
|
||||
else
|
||||
Private.RunTriggerFuncWithDelay(delay, id, triggernum, data, event, unit, ...)
|
||||
end
|
||||
end
|
||||
if (updateTriggerState) then
|
||||
@@ -2262,6 +2267,7 @@ do
|
||||
local spellCdsRune = CreateSpellCDHandler();
|
||||
|
||||
local spellDetails = {}
|
||||
local mark_ACTIONBAR_UPDATE_COOLDOWN, mark_PLAYER_ENTERING_WORLD
|
||||
|
||||
function Private.InitCooldownReady()
|
||||
cdReadyFrame = CreateFrame("Frame");
|
||||
@@ -2292,21 +2298,35 @@ do
|
||||
end
|
||||
|
||||
if GetTime() - cdReadyFrame.inWorld < 2 then
|
||||
cdReadyFrame:SetScript("OnUpdate", cdReadyFrame.HandleEvent)
|
||||
mark_PLAYER_ENTERING_WORLD = true
|
||||
cdReadyFrame:Show()
|
||||
return
|
||||
end
|
||||
if (event == "ACTIONBAR_UPDATE_COOLDOWN") then
|
||||
mark_ACTIONBAR_UPDATE_COOLDOWN = true
|
||||
cdReadyFrame:Show()
|
||||
return
|
||||
end
|
||||
cdReadyFrame:SetScript("OnUpdate", nil)
|
||||
|
||||
Private.StartProfileSystem("generictrigger cd tracking");
|
||||
if type(event) == "number" then-- Called from OnUpdate!
|
||||
Private.CheckSpellKnown()
|
||||
Private.CheckCooldownReady()
|
||||
Private.CheckItemSlotCooldowns()
|
||||
elseif(event == "SPELL_UPDATE_COOLDOWN"
|
||||
or event == "RUNE_POWER_UPDATE" or event == "RUNE_TYPE_UPDATE" or event == "ACTIONBAR_UPDATE_COOLDOWN"
|
||||
if mark_PLAYER_ENTERING_WORLD then
|
||||
Private.CheckSpellKnown()
|
||||
Private.CheckCooldownReady()
|
||||
Private.CheckItemSlotCooldowns()
|
||||
mark_PLAYER_ENTERING_WORLD = nil
|
||||
mark_ACTIONBAR_UPDATE_COOLDOWN = nil
|
||||
elseif mark_ACTIONBAR_UPDATE_COOLDOWN then
|
||||
Private.CheckCooldownReady()
|
||||
mark_ACTIONBAR_UPDATE_COOLDOWN = nil
|
||||
end
|
||||
elseif(event == "SPELL_UPDATE_COOLDOWN" or event == "RUNE_POWER_UPDATE"
|
||||
or event == "PLAYER_TALENT_UPDATE"
|
||||
or event == "CHARACTER_POINTS_CHANGED") then
|
||||
Private.CheckCooldownReady();
|
||||
or event == "CHARACTER_POINTS_CHANGED" or event == "RUNE_TYPE_UPDATE") then
|
||||
if event == "SPELL_UPDATE_COOLDOWN" then
|
||||
mark_ACTIONBAR_UPDATE_COOLDOWN = nil
|
||||
end
|
||||
Private.CheckCooldownReady();
|
||||
elseif(event == "SPELLS_CHANGED") then
|
||||
Private.CheckSpellKnown()
|
||||
Private.CheckCooldownReady()
|
||||
@@ -2326,8 +2346,15 @@ do
|
||||
Private.CheckItemSlotCooldowns();
|
||||
end
|
||||
Private.StopProfileSystem("generictrigger cd tracking");
|
||||
if mark_PLAYER_ENTERING_WORLD == nil and mark_ACTIONBAR_UPDATE_COOLDOWN == nil then
|
||||
cdReadyFrame:Hide()
|
||||
else
|
||||
cdReadyFrame:Show()
|
||||
end
|
||||
end
|
||||
cdReadyFrame:Hide()
|
||||
cdReadyFrame:SetScript("OnEvent", cdReadyFrame.HandleEvent)
|
||||
cdReadyFrame:SetScript("OnUpdate", cdReadyFrame.HandleEvent)
|
||||
end
|
||||
|
||||
function WeakAuras.GetRuneCooldown(id)
|
||||
|
||||
Reference in New Issue
Block a user