127 lines
3.7 KiB
Lua
127 lines
3.7 KiB
Lua
-- COMBAT_LOG_EVENT_UNFILTERED
|
|
function(
|
|
allstates,
|
|
event,
|
|
timestamp,
|
|
eventtype,
|
|
hideCaster,
|
|
srcGUID,
|
|
srcName,
|
|
srcFlags,
|
|
srcRaidFlags,
|
|
dstGUID,
|
|
dstName,
|
|
dstFlags,
|
|
dstRaidFlags,
|
|
...
|
|
)
|
|
aura_env.rayActive = true
|
|
if aura_env.debug and aura_env.rayActive then
|
|
print(string.format("aura_env.rayActive: %s, eventtype: %s", tostring(aura_env.rayActive), tostring(eventtype)))
|
|
end
|
|
-- if aura_env.debug then aura_env.rayActive = true end
|
|
if aura_env.rayActive and (eventtype == "SPELL_MISSED" or eventtype == "SPELL_HEAL_ABSORBED") then
|
|
local spellID, spellName, spellSchool, aSrcGUID, aSrcName, _, _, aSpellID, aSpellName, aSpellSchool, aSpellAmountAbsorbed, somebullshit, horseshit =
|
|
...
|
|
local function debuggerprinter()
|
|
if aura_env.debug then
|
|
local str = string.format(
|
|
"event: %s, timestamp: %s, eventtype: %s, hideCaster: %s, srcGUID: %s, srcName: %s, dstGUID: %s, dstName: %s, spellID: %s, spellName: %s, spellSchool: %s, aSpellAmountAbsorbed: %s, somebullshit: %s, horseshit: %s",
|
|
tostring(event),
|
|
tostring(timestamp),
|
|
tostring(eventtype),
|
|
tostring(hideCaster),
|
|
tostring(srcGUID),
|
|
tostring(srcName),
|
|
tostring(dstGUID),
|
|
tostring(dstName),
|
|
tostring(spellID),
|
|
tostring(spellName),
|
|
tostring(spellSchool),
|
|
tostring(aSpellAmountAbsorbed),
|
|
tostring(somebullshit),
|
|
tostring(horseshit)
|
|
)
|
|
print(str)
|
|
end
|
|
end
|
|
debuggerprinter()
|
|
-- Ray absorbed heal
|
|
-- srcName = Player
|
|
-- dstName = RoH Target
|
|
-- spellID = RoH spellID
|
|
-- aSrcName = Absorbed Heal Caster
|
|
-- aSpellID = Absorbed Heal SpellID
|
|
-- aSpellAmountAbsorbed = duh;
|
|
if eventtype == "SPELL_HEAL_ABSORBED" then
|
|
-- if aura_env.debug then spellID = 197268 end
|
|
if srcGUID == UnitGUID("player") and spellID == aura_env.spellID then
|
|
if aura_env.debug then
|
|
local str = string.format(
|
|
"Ray of Hope absorbed %s's heal, %s, for %d.",
|
|
tostring(aSrcName),
|
|
tostring(aSpellName),
|
|
tostring(aSpellAmountAbsorbed)
|
|
)
|
|
print(str)
|
|
end
|
|
|
|
aura_env.totalHealAbsorb = aura_env.totalHealAbsorb + aSpellAmountAbsorbed
|
|
return true
|
|
end
|
|
end
|
|
|
|
-- Ray absorbed dmg
|
|
-- srcName = enemy
|
|
-- dstName = RoH Target
|
|
-- spellID = Spell Absorbed spellID
|
|
-- spellName = Spell Absorbed Name
|
|
-- aSrcName = Player
|
|
-- aSpellID = RoH spellID
|
|
if eventtype == "SPELL_ABSORBED" then
|
|
-- if aura_env.debug then aSpellID = 197268 end
|
|
if aSrcGUID == UnitGUID("player") and aSpellID == aura_env.spellID then
|
|
if aura_env.debug then
|
|
local str = string.format(
|
|
"Ray of Hope absorbed %s's damage, %s, for %d.",
|
|
tostring(srcName),
|
|
tostring(spellName),
|
|
tostring(aSpellAmountAbsorbed)
|
|
)
|
|
print(str)
|
|
end
|
|
|
|
aura_env.totalDmgAbsorb = aura_env.totalDmgAbsorb + aSpellAmountAbsorbed
|
|
return true
|
|
end
|
|
end
|
|
end
|
|
|
|
-- Ray expire
|
|
if aura_env.rayActive and eventtype == "SPELL_AURA_REMOVED" then
|
|
local spellID = ...
|
|
if srcGUID == UnitGUID("player") and spellID == aura_env.spellID then
|
|
if aura_env.debug then
|
|
print("Ray removed.")
|
|
print("RoH heals taken: ", tostring(aura_env.totalHealAbsorb))
|
|
print("RoH dmg taken: ", tostring(aura_env.totalDmgAbsorb))
|
|
|
|
-- 1.5 represents the 50% modifier to heals into ray
|
|
local net = aura_env.totalHealAbsorb * 1.5 - aura_env.totalDmgAbsorb
|
|
|
|
local colorString = ""
|
|
if net > 0 then
|
|
colorString = string.format("|cff00ff00%d|r", net)
|
|
else
|
|
colorString = string.format("|cffff0000%d|r", net)
|
|
end
|
|
print("Net: ", colorString)
|
|
end
|
|
|
|
aura_env.rayActive = false
|
|
end
|
|
-- else
|
|
-- print(string.format("Ray not active (%s) or event fucked %s", tostring(aura_env.rayActive), tostring(eventtype)))
|
|
end
|
|
end
|