This commit is contained in:
Tercio Jose
2023-07-11 14:11:03 -03:00
parent 6f92e054d8
commit fa65530a7c
19 changed files with 463 additions and 246 deletions
+65 -32
View File
@@ -580,7 +580,7 @@
end
--~spell ~spelldamage
function parser:spell_dmg(token, time, sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags, targetRaidFlags, spellId, spellName, spellType, amount, overkill, school, resisted, blocked, absorbed, critical, glacing, crushing, isoffhand, isreflected)
function parser:spell_dmg(token, time, sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags, targetRaidFlags, spellId, spellName, spellType, amount, overkill, school, resisted, blocked, absorbed, critical, glacing, crushing, isoffhand, isreflected, A1, A2, A3)
--early checks and fixes
if (sourceSerial == "") then
if (sourceFlags and bitBand(sourceFlags, OBJECT_TYPE_PETS) ~= 0) then
@@ -1181,7 +1181,19 @@
end
------------------------------------------------------------------------------------------------
--amount add
--amount add ~roskash
if (Details222.Roskash[sourceSerial]) then
local rSourceSerial, rSourceName, rSourceFlags = unpack(Details222.Roskash[sourceSerial])
local roskashActor = damage_cache[rSourceSerial]
if (not roskashActor) then
roskashActor = _current_damage_container:PegarCombatente(rSourceSerial, rSourceName, rSourceFlags, true)
end
if (roskashActor) then
roskashActor.extra_bar = roskashActor.extra_bar + (amount * 0.14)
end
end
--actor owner (if any)
if (ownerActor) then --se for dano de um Pet
@@ -2447,6 +2459,10 @@
sourceSerial = ""
end
if (spellId == 395152) then --~roskash
Details222.Roskash[targetSerial] = {sourceSerial, sourceName, sourceFlags}
end
------------------------------------------------------------------------------------------------
--spell reflection
if (reflection_spellid[spellId]) then --~reflect
@@ -2731,6 +2747,10 @@
return
end
if (spellid == 395152) then --~roskash
Details222.Roskash[alvo_serial] = {sourceSerial, sourceName, sourceFlags}
end
if (sourceName == alvo_name and raid_members_cache [sourceSerial] and _in_combat) then
--call record buffs uptime
parser:add_buff_uptime (token, time, sourceSerial, sourceName, sourceFlags, alvo_serial, alvo_name, alvo_flags, alvo_flags2, spellid, spellName, "BUFF_UPTIME_REFRESH")
@@ -2800,36 +2820,40 @@
end
if (tipo == "BUFF") then
if (spellid == 272790 and cacheAnything.track_hunter_frenzy) then --hunter pet Frenzy spellid
if (not pet_frenzy_cache[sourceName]) then
return
end
parser:add_buff_uptime(token, time, sourceSerial, sourceName, sourceFlags, sourceSerial, sourceName, sourceFlags, 0x0, spellid, spellName, "BUFF_UPTIME_OUT")
pet_frenzy_cache[sourceName] = nil
if (spellid == 395152) then --~roskash
Details222.Roskash[targetSerial] = nil
end
if (spellid == 272790 and cacheAnything.track_hunter_frenzy) then --hunter pet Frenzy spellid
if (not pet_frenzy_cache[sourceName]) then
return
end
parser:add_buff_uptime(token, time, sourceSerial, sourceName, sourceFlags, sourceSerial, sourceName, sourceFlags, 0x0, spellid, spellName, "BUFF_UPTIME_OUT")
pet_frenzy_cache[sourceName] = nil
return
end
if (sourceName == targetName and raid_members_cache [sourceSerial] and _in_combat) then
--call record buffs uptime
parser:add_buff_uptime (token, time, sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags, alvo_flags2, spellid, spellName, "BUFF_UPTIME_OUT")
elseif (container_pets [sourceSerial] and container_pets [sourceSerial][2] == targetSerial) then
--um pet colocando uma aura do dono
parser:add_buff_uptime (token, time, targetSerial, targetName, targetFlags, targetSerial, targetName, targetFlags, alvo_flags2, spellid, spellName, "BUFF_UPTIME_OUT")
if (sourceName == targetName and raid_members_cache [sourceSerial] and _in_combat) then
--call record buffs uptime
parser:add_buff_uptime (token, time, sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags, alvo_flags2, spellid, spellName, "BUFF_UPTIME_OUT")
elseif (container_pets [sourceSerial] and container_pets [sourceSerial][2] == targetSerial) then
--um pet colocando uma aura do dono
parser:add_buff_uptime (token, time, targetSerial, targetName, targetFlags, targetSerial, targetName, targetFlags, alvo_flags2, spellid, spellName, "BUFF_UPTIME_OUT")
elseif (buffs_to_other_players[spellid]) then
parser:add_buff_uptime(token, time, targetSerial, targetName, targetFlags, targetSerial, targetName, targetFlags, alvo_flags2, spellid, spellName, "BUFF_UPTIME_OUT")
elseif (buffs_to_other_players[spellid]) then
parser:add_buff_uptime(token, time, targetSerial, targetName, targetFlags, targetSerial, targetName, targetFlags, alvo_flags2, spellid, spellName, "BUFF_UPTIME_OUT")
end
if (spellid == SPELLID_MONK_GUARD) then
--BfA monk talent
if (monk_guard_talent [sourceSerial]) then
local damage_prevented = monk_guard_talent [sourceSerial] - (amount or 0)
parser:heal (token, time, sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags, alvo_flags2, spellid, spellName, spellSchool, damage_prevented, ceil (amount or 0), 0, 0, true)
end
if (spellid == SPELLID_MONK_GUARD) then
--BfA monk talent
if (monk_guard_talent [sourceSerial]) then
local damage_prevented = monk_guard_talent [sourceSerial] - (amount or 0)
parser:heal (token, time, sourceSerial, sourceName, sourceFlags, targetSerial, targetName, targetFlags, alvo_flags2, spellid, spellName, spellSchool, damage_prevented, ceil (amount or 0), 0, 0, true)
end
elseif (spellid == 388007 or spellid == 388011) then --buff: bleesing of the summer
cacheAnything.paladin_vivaldi_blessings[targetSerial] = nil
end
elseif (spellid == 388007 or spellid == 388011) then --buff: bleesing of the summer
cacheAnything.paladin_vivaldi_blessings[targetSerial] = nil
end
------------------------------------------------------------------------------------------------
--shield overheal
@@ -5934,14 +5958,20 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
end
local parserDebug = {}
function Details.OnParserEventDebug()
local time, token, hidding, who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, spellId, spellName, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, unknown1, unknown2, unknown3, unknown4, unknown5 = CombatLogGetCurrentEventInfo()
function Details.OnParserEventDebug() --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()
if (not parserDebug[token]) then
parserDebug[token] = true
print(token)
end
if ( spellId == 409632 ) then
--print(who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, spellId, spellName, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, unknown1, unknown2, unknown3, unknown4, unknown5)
elseif( spellId == 395160 ) then
--print(who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, spellId, spellName, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, unknown1, unknown2, unknown3, unknown4, unknown5)
end
if (token == "SPELL_DAMAGE") then
if (A13 ~= nil or unknown1 ~= nil or unknown2 ~= nil or unknown3 ~= nil or unknown4 ~= nil or unknown5) then
--print(time, token, hidding, who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, spellId, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18)
@@ -5988,7 +6018,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
["8"] = 5061347,
--]=]
if (who_serial == UnitGUID("player")) then
if (sourceSerial == UnitGUID("player")) then
GLOB = GLOB or {}
--table.insert(GLOB, {time, token, hidding, who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, spellId, spellName, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18})
--print(time, token, hidding, who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, spellId, spellName, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18)
@@ -6004,12 +6034,14 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
--print(time, token, hidding, who_serial, who_name, who_flags, who_flags2, target_serial, target_name, target_flags, target_flags2, spellId, spellName, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, unknown1, unknown2, unknown3, unknown4, unknown5)
end
if (spellName== "Ebon Might") then
--print(token, spellName, spellId)
if (spellName == "Ebon Might") then
--6/30 14:19:19.299 SPELL_AURA_REMOVED,Player-5764-00018FF1,"Termøhead-Iridikron",0x518,0x0,Player-5764-0001977A,"Drgndeesnutz-Fyrakk",0x518,0x0,395152,"Ebon Might",0xc,BUFF
local spellschool, auraType, amount = A3, A4, A5
print(token, spellName, sourceName, targetName, spellschool, auraType, amount, A6, A7, A8, A9, A10)
end
if (token == "SPELL_CAST_START") then
if (who_serial == UnitGUID("player")) then
if (sourceSerial == UnitGUID("player")) then
--print(token, spellName, spellId)
end
end
@@ -6166,6 +6198,7 @@ local SPELL_POWER_PAIN = SPELL_POWER_PAIN or (PowerEnum and PowerEnum.Pain) or 1
Details:Destroy(cacheAnything.paladin_vivaldi_blessings)
Details:Destroy(cacheAnything.rampage_cast_amount)
Details:Destroy(Details222.Roskash) --~roskash
cacheAnything.track_hunter_frenzy = Details.combat_log.track_hunter_frenzy