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()