From 66624f924c0499590fa260b08151a1b32516ca9a Mon Sep 17 00:00:00 2001 From: Tercio Jose Date: Sun, 14 Jul 2024 22:47:15 -0300 Subject: [PATCH] Refined disabled parser outside combat --- classes/class_damage.lua | 3 +++ core/gears.lua | 9 +++++---- core/parser.lua | 12 ++++++++++++ 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/classes/class_damage.lua b/classes/class_damage.lua index eacac499..8fbeaeb0 100644 --- a/classes/class_damage.lua +++ b/classes/class_damage.lua @@ -1770,6 +1770,7 @@ end ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --main refresh function +--~refresh ---@param instanceObject instance ---@param combatObject combat ---@param bForceUpdate boolean @@ -1778,6 +1779,8 @@ function damageClass:RefreshWindow(instanceObject, combatObject, bForceUpdate, b ---@type actorcontainer local damageContainer = combatObject[class_type] --o que esta sendo mostrado -> [1] - dano [2] - cura --pega o container com ._NameIndexTable ._ActorTable + --print("updating the main window") + --not have something to show if (#damageContainer._ActorTable < 1) then if (Details.debug and false) then diff --git a/core/gears.lua b/core/gears.lua index 40279b65..4adb1b77 100644 --- a/core/gears.lua +++ b/core/gears.lua @@ -766,6 +766,7 @@ local checkForGroupCombat_Ticker = function() end end +--~parser local bConsiderGroupMembers = false Details222.Parser.Handler = {} Details222.Parser.EventFrame = CreateFrame("frame") @@ -791,13 +792,13 @@ Details222.Parser.EventFrame:SetScript("OnEvent", function(self, event, ...) Details222.Parser.EventFrame.ticker = C_Timer.NewTicker(1, checkForGroupCombat_Ticker) end else - Details222.parser_frame:SetScript("OnEvent", nil) + Details222.parser_frame:SetScript("OnEvent", Details222.Parser.OnParserEventOutOfCombat) end else if (UnitAffectingCombat("player")) then Details222.parser_frame:SetScript("OnEvent", Details222.Parser.OnParserEvent) else - Details222.parser_frame:SetScript("OnEvent", nil) + Details222.parser_frame:SetScript("OnEvent", Details222.Parser.OnParserEventOutOfCombat) end end @@ -814,10 +815,10 @@ Details222.Parser.EventFrame:SetScript("OnEvent", function(self, event, ...) Details222.Parser.EventFrame.ticker = C_Timer.NewTicker(1, checkForGroupCombat_Ticker) end else - Details222.parser_frame:SetScript("OnEvent", nil) + Details222.parser_frame:SetScript("OnEvent", Details222.Parser.OnParserEventOutOfCombat) end else - Details222.parser_frame:SetScript("OnEvent", nil) + Details222.parser_frame:SetScript("OnEvent", Details222.Parser.OnParserEventOutOfCombat) end end end) diff --git a/core/parser.lua b/core/parser.lua index 2bcb3fdb..6aeb953c 100755 --- a/core/parser.lua +++ b/core/parser.lua @@ -5951,6 +5951,18 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1 end end + local out_of_combat_interresting_events = { + ["SPELL_SUMMON"] = parser.summon, + } + + function Details222.Parser.OnParserEventOutOfCombat() + local time, token, hidding, who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12 = CombatLogGetCurrentEventInfo() + local func = out_of_combat_interresting_events[token] + if (func) then + return func(nil, token, time, who_serial, who_name, who_flags, target_serial, target_name, target_flags, target_flags2, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) + end + end + local parserDebug = {} function Details.OnParserEventDebug(self, event, ...) --buffs: spellschool, auraType, amount, arg1, arg2, arg3 local time, token, hidding, sourceSerial, sourceName, sourceFlags, who_flags2, targetSerial, targetName, targetFlags, target_flags2, spellId, spellName, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, unknown1, unknown2, unknown3, unknown4, unknown5 = CombatLogGetCurrentEventInfo(...)