-- 2019 Aleksi Blinnikka
local _, addon = ...;
local CombatLogGetCurrentEventInfo = CombatLogGetCurrentEventInfo;
+local UnitAura = UnitAura;
+local UnitGUID = UnitGUID;
local guids = addon.FrameGuids;
local watchedAuras = {
--[268391] = {bar=false}, -- Mental Assault
--[272571] = {bar=false}, -- Choking Waters
--[268008] = {bar=false}, -- Snake Charm
- --[260741] = {bar=false}, -- Jagged Nettles
--[280605] = {bar=false}, -- Brain Freeze
--[268797] = {bar=false}, -- Transmute to Goo
--[265889] = {bar=false}, -- Torch Strike
--[262513] = {bar=false}, -- Azerite Heartseeker
[287280] = {1, "buff1"}, -- Glimmer of Light
[194384] = {1, "buff1"}, -- Atonement
+ [61295] = {1, "buff1"}, -- Riptide
+ [53563] = {1, "buff2"}, -- Beacon of Light
+ [156910] = {1, "buff2"}, -- Beacon of Faith
+ [200025] = {1, "buff2"}, -- Beacon of Virtue
-- Tank defensives
[6940] = {1, "tankcd"}, -- Blessing of Sacrifice
[33206] = {1, "tankcd"}, -- Pain Suppression
[209858] = {1, "stacks"}, -- Necrotic Wound (M+)
[240559] = {1, "stacks"}, -- Grievous Wound (M+)
[240443] = {1, "stacks"}, -- Burst (M+)
+ [260741] = {1, "heal"}, -- Jagged Nettles (Waycrest Manor)
-- Uldir
[265264] = {2, "alert"}, -- Void Lash (Zek'voz)
-- Battle of Dazar'alor
[288415] = {1, "alert"}, -- Caress of Death in Death realm (Rastakhan)
[285195] = {8, "stacks"}, -- Deathly Withering (Rastakhan)
[286646] = {1, "heal"}, -- Gigavolt Charge (Mekkatorque)
+ [288939] = {1, "heal"}, -- Gigavolt Radiation (Mekkatorque)
[287891] = {1, "stacks"}, -- Sheep Shrapnel (Mekkatorque)
+ [287114] = {1, "alert"}, -- Miscalculated Teleport (Mekkatorque)
+ [287167] = {1, "stacks"}, -- Discombobulation (Mekkatorque)
[287993] = {1, "stacks"}, -- Chilling Touch (Jaina)
[283507] = {1, "heal"}, -- Volatile Charge (Opulence)
[287648] = {1, "heal"}, -- Volatile Charge (Opulence)
[287072] = {1, "heal"}, -- Liquid Gold (Opulence)
[284781] = {1, "heal"}, -- Grievous Axe (Rastakhan)
[290955] = {1, "heal"}, -- Grievous Axe (Rastakhan)
- --[284663] = {1, "alert"}, -- Bwonsamdi's Wrath (Conclave)
-- Crucible of Storms
[282566] = {1, "stacks"}, -- Promises of Power (Restless Cabal)
[282738] = {1, "alert"}, -- Embrace of the Void (Restless Cabal)
[296693] = {1, "stacks"}, -- Waterlogged (Ashvane)
[297333] = {1, "heal"}, -- Briny Bubble (Ashvane)
[298306] = {1, "stacks"}, -- Incubation Fluid (Orgozoa)
+ -- Ny'alotha
+ [313255] = {20, "stacks"}, -- Creeping Madness (Wrathion)
+ [310224] = {1, "stacks"}, -- Annihilation (Vexiona)
+ [307358] = {1, "heal"}, -- Debilitating Spit (Shad'har)
+ [318078] = {1, "alert"}, -- Fixate (Shad'har)
+ [312486] = {1, "stacks"}, -- Recurring Nightmare (Il'gynoth)
+ [313400] = {1, "stacks"}, -- Corrupted Mind (N'zoth)
+ [319346] = {1, "heal"}, -- Infinity's Toll (N'zoth) phase marker
+ [316506] = {1, "alert"}, -- Heartpiercer Venom (Trash)
+ [315025] = {1, "heal"}, -- Ancient Curse (Maut)
+ [315311] = {1, "stacks"}, -- Ravage (Hivemind)
+ [313460] = {1, "alert"}, -- Nullification (Hivemind)
+ [313461] = {1, "heal"}, -- Corrosion (Hivemind)
+ [307359] = {1, "heal"}, -- Despair (Vexiona)
+ [313077] = {1, "heal"}, -- Unleashed Nightmare (Ra-den)
+ [316065] = {1, "alert"}, -- Corrupted Existence (Ra-den)
+ [313364] = {1, "heal"}, -- Mental Decay (Carapace of N'zoth)
};
local playerGuid = nil;
auraEvents.SPELL_AURA_BROKEN_SPELL = auraEvents.SPELL_AURA_BROKEN;
local counter = 0;
-local function clog(ts, event, _, source, _, _, _, dest, _, flags, _, spellid, ...)
+local function clog(ts, event, _, source, _, _, _, dest, _, _, _, spellid, ...)
if auraEvents[event] and watchedAuras[spellid] and guids[dest] then
auraEvents[event](guids[dest], spellid, source, ...);
end
end
addon.Events.Clog = clog;
+local types = {["HELPFUL"] = "BUFF", ["HARMFUL"] = "DEBUFF"};
+local function setAuras(unit, guid)
+ local name;
+ local spellid, count, source;
+ for filter, atype in pairs(types) do
+ local i = 1;
+ while true do
+ name, _, count, _, _, _, source, _, _, spellid = UnitAura(unit, i, filter);
+ if not spellid then break end
+ if count == 0 then count = nil end
+ if source ~= nil then
+ clog(0, "SPELL_AURA_APPLIED", nil, UnitGUID(source), nil, nil, nil,
+ guid, nil, nil, nil, spellid, nil, nil, atype, count);
+ elseif filter == "HARMFUL" then
+ clog(0, "SPELL_AURA_APPLIED", nil, nil, nil, nil, nil,
+ guid, nil, nil, nil, spellid, nil, nil, atype, count);
+ end
+ i = i + 1;
+ end
+ end
+end
+addon.SetAuras = setAuras;
+
local frame = CreateFrame("Frame");
frame:Hide();
frame:SetScript("OnEvent", function()
frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED");
end);
frame:RegisterEvent("PLAYER_LOGIN");
+
+-- debug slash command to get target auras
+SLASH_KEHYS1 = "/kaura"
+function SlashCmdList.KEHYS(msg, editBox)
+ local name, spellid, count, source;
+ local unit = "target";
+ if msg and msg ~= "" then
+ unit = msg;
+ end
+ for filter, atype in pairs(types) do
+ local i = 1;
+ while true do
+ name, _, count, _, _, _, source, _, _, spellid = UnitAura(unit, i, filter);
+ if not spellid then break end
+ print(atype, name, count, source, spellid);
+ i = i + 1;
+ end
+ end
+end