from retail

This commit is contained in:
NoM0Re
2025-01-13 17:38:21 +01:00
parent 0291e5b5e7
commit d14313d848
4 changed files with 83 additions and 18 deletions
+6 -7
View File
@@ -742,20 +742,20 @@ local function runDynamicConditionFunctions(funcs)
end
end
local function handleDynamicConditions(self, event)
local function handleDynamicConditions(self, event, onlyUpdateState)
Private.StartProfileSystem("dynamic conditions")
if (globalDynamicConditionFuncs[event]) then
for i, func in ipairs(globalDynamicConditionFuncs[event]) do
func(globalConditionState);
end
end
if (dynamicConditions[event]) then
if (dynamicConditions[event] and not onlyUpdateState) then
runDynamicConditionFunctions(dynamicConditions[event]);
end
Private.StopProfileSystem("dynamic conditions")
end
local function handleDynamicConditionsPerUnit(self, event, unit)
local function handleDynamicConditionsPerUnit(self, event, unit, onlyUpdateState)
Private.StartProfileSystem("dynamic conditions")
if unit and unit == self.unit then
local unitEvent = event..":"..unit
@@ -764,7 +764,7 @@ local function handleDynamicConditionsPerUnit(self, event, unit)
func(globalConditionState);
end
end
if (dynamicConditions[unitEvent]) then
if (dynamicConditions[unitEvent] and not onlyUpdateState) then
runDynamicConditionFunctions(dynamicConditions[unitEvent]);
end
end
@@ -853,7 +853,6 @@ function Private.RegisterForGlobalConditions(uid)
if (not dynamicConditionsFrame.onUpdate) then
dynamicConditionsFrame:SetScript("OnUpdate", handleDynamicConditionsOnUpdate);
dynamicConditionsFrame.onUpdate = true;
handleDynamicConditionsOnUpdate(dynamicConditionsFrame, event)
end
else
local unitEvent, unit = event:match("([^:]+):([^:]+)")
@@ -865,10 +864,10 @@ function Private.RegisterForGlobalConditions(uid)
end
dynamicConditionsFrame.units[unit].unit = unit;
pcall(dynamicConditionsFrame.RegisterEvent, dynamicConditionsFrame.units[unit], unitEvent);
handleDynamicConditionsPerUnit(dynamicConditionsFrame, event, unit)
handleDynamicConditionsPerUnit(dynamicConditionsFrame, event, unit, true)
else
pcall(dynamicConditionsFrame.RegisterEvent, dynamicConditionsFrame, event);
handleDynamicConditions(dynamicConditionsFrame, event)
handleDynamicConditions(dynamicConditionsFrame, event, true)
end
end
end
+7 -8
View File
@@ -445,7 +445,7 @@ function ConstructFunction(prototype, trigger)
return table.concat(ret);
end
function Private.EndEvent(id, triggernum, force, state)
function Private.EndEvent(state)
if state then
if (state.show ~= false and state.show ~= nil) then
state.show = false;
@@ -796,7 +796,7 @@ local function RunTriggerFunc(allStates, data, id, triggernum, event, arg1, arg2
elseif (ok and returnValue) or optionsEvent then
for id, state in pairs(allStates) do
if (state.changed) then
if (Private.EndEvent(id, triggernum, nil, state)) then
if (Private.EndEvent(state)) then
updateTriggerState = true;
end
end
@@ -808,11 +808,11 @@ local function RunTriggerFunc(allStates, data, id, triggernum, event, arg1, arg2
if arg1 then
local state = allStates[cloneIdForUnitTrigger]
if state then
local ok, returnValue = pcall(data.untriggerFunc, state, event, unitForUnitTrigger, arg2, ...);
local ok, returnValue = pcall(data.untriggerFunc, state, event, unitForUnitTrigger, arg1, arg2, ...);
if not ok then
errorHandler(returnValue)
elseif ok and returnValue then
if (Private.EndEvent(id, triggernum, nil, state)) then
if (Private.EndEvent(state)) then
updateTriggerState = true;
end
end
@@ -832,7 +832,7 @@ local function RunTriggerFunc(allStates, data, id, triggernum, event, arg1, arg2
if not ok then
errorHandler(returnValue)
elseif (ok and returnValue) then
if (Private.EndEvent(id, triggernum, nil, state)) then
if (Private.EndEvent(state)) then
updateTriggerState = true;
end
end
@@ -845,7 +845,7 @@ local function RunTriggerFunc(allStates, data, id, triggernum, event, arg1, arg2
elseif (ok and returnValue) then
allStates[""] = allStates[""] or {};
local state = allStates[""];
if(Private.EndEvent(id, triggernum, nil, state)) then
if (Private.EndEvent(state)) then
updateTriggerState = true;
end
end
@@ -1790,8 +1790,7 @@ function GenericTrigger.Add(data, region)
if warnAboutCLEUEvents then
Private.AuraWarnings.UpdateWarning(data.uid, "spamy_event_warning", "warning",
L["COMBAT_LOG_EVENT_UNFILTERED with no filter can trigger frame drops in raid environment. Find more information:\nhttps://github.com/WeakAuras/WeakAuras2/wiki/Deprecated-CLEU"],
true)
L["COMBAT_LOG_EVENT_UNFILTERED with no filter can trigger frame drops in raid environment. Find more information:\nhttps://github.com/WeakAuras/WeakAuras2/wiki/Deprecated-CLEU"])
else
Private.AuraWarnings.UpdateWarning(data.uid, "spamy_event_warning")
end
+62 -1
View File
@@ -4713,7 +4713,7 @@ Private.event_prototypes = {
tier = %s
column = %s
local name, icon, _, _, rank = GetTalentInfo(tier, column)
if rank > 0 then
if rank and rank > 0 then
active = true;
activeName = name;
activeIcon = icon;
@@ -5406,6 +5406,67 @@ Private.event_prototypes = {
delayEvents = true,
timedrequired = true
},
-- fixing later
--[[["Spell Cast Succeeded"] = {
type = "event",
events = function(trigger)
local result = {}
local unit = trigger.unit
AddUnitEventForEvents(result, unit, "UNIT_SPELLCAST_SUCCEEDED")
return result
end,
name = L["Spell Cast Succeeded"],
statesParameter = "unit",
args = {
{},
{
name = "unit",
init = "arg",
display = L["Caster Unit"],
type = "unit",
test = "true",
values = "actual_unit_types_cast",
store = true,
conditionType = "select",
conditionTest = function(state, needle, op)
return state and state.show and (UnitIsUnit(needle, state.unit or '') == (op == "=="))
end
},
{
name = "spellName",
type = "string",
init = "arg",
test = "true",
store = true,
hidden = true
},
{
name = "rank",
type = "string",
init = "arg",
test = "true",
store = true,
hidden = true
},
{
name = "spellId",
display = L["Spell Id"],
type = "string",
store = true,
conditionType = "number"
},
{
name = "icon",
hidden = true,
init = "select(3, GetSpellInfo(spellId))",
store = true,
test = "true"
},
},
countEvents = true,
delayEvents = true,
timedrequired = true
},]]
["Ready Check"] = {
type = "event",
events = {
+8 -2
View File
@@ -338,9 +338,15 @@ local function SetAnimAlpha(self, alpha)
end
self.animAlpha = alpha;
if (WeakAuras.IsOptionsOpen()) then
self:SetAlpha(max(self.animAlpha or self.alpha or 1, 0.5));
local ok = pcall(self.SetAlpha, self, max(self.animAlpha or self.alpha or 1, 0.5))
if not ok then
Private.GetErrorHandlerId(self.id, L["Custom Fade Animation"])
end
else
self:SetAlpha(self.animAlpha or self.alpha or 1);
local ok = pcall(self.SetAlpha, self, self.animAlpha or self.alpha or 1)
if not ok then
Private.GetErrorHandlerId(self.id, L["Custom Fade Animation"])
end
end
self.subRegionEvents:Notify("AlphaChanged")
end