["Vildan"] = {
{
unit = "target",
- spec = 3, -- Retribution
- auras = {"Judgment"},
- auraFilter = "PLAYER HARMFUL",
+ auras = {"Bursting With Pride"},
+ auraFilter = "HELPFUL",
x = 570, -- placed over Innervate frame
y = 440,
width = 80,
width = 80,
height = 80,
},
+ {
+ unit = "player",
+ auras = {"Seraphim", "Righteous Verdict"},
+ auraFilter = "PLAYER HELPFUL",
+ x = 570,
+ y = 480,
+ width = 40,
+ height = 40,
+ },
{
unit = "player",
auras = {"Divine Shield"},
"Chilling Touch", "Volatile Charge", "Liquid Gold", "Drained Soul", "Evoke Anguish",
"Ancient Curse", "Corrosion", "Debilitating Spit", "Tasty Morsel", "Encroaching Shadows",
"Corrupted Existence", "Madness Bomb", "Crimson Chorus", "Essence Sap", "Bloodlight",
- "Arcane Vulnerability"
+ "Arcane Vulnerability", "Wicked Laceration", "Withering Touch"
},
auraFilter = "HARMFUL",
x = 660,
[102342] = {1, "tankcd"}, -- Ironbark
[116849] = {1, "tankcd"}, -- Life Cocoon
[196555] = {1, "tankcd"}, -- Netherwalk
+ --[124275] = {1, "stagger"}, -- Light Stagger (Monk)
+ --[124274] = {1, "stagger"}, -- Moderate Stagger (Monk)
+ [124273] = {1, "stagger"}, -- Heavy Stagger (Monk)
-- M+
[209858] = {1, "stacks"}, -- Necrotic Wound (M+)
[240559] = {1, "stacks"}, -- Grievous Wound (M+)
[327814] = {1, "heal"}, -- Wicked Gash (Gauntlet) (Sanguine Depths)
[323687] = {1, "heal"}, -- Arcane Lightning (De Other Side)
[324154] = {1, "heal"}, -- Dark Stride (Spires of Ascension)
+ [335305] = {1, "heal"}, -- Barbed Shackles (Sanguine Depths)
+ [336279] = {1, "heal"}, -- Explosive Anger (Sanguine Depths)
-- Castle Nathria
[346301] = {1, "stacks"}, -- Bloodlight (Shriekwing)
[328897] = {7, "alert"}, -- Exsanguinated (Shriekwing)
[324982] = {1, "heal"}, -- Shared Suffering (Lady Inerva Darkvein)
[324983] = {1, "heal"}, -- Shared Suffering (Lady Inerva Darkvein)
[340860] = {1, "heal", 14}, -- Withering Touch (Artificer Xy'mox)
+ [326302] = {1, "alert"}, -- Stasis Trap (Artificer Xy'mox)
[334771] = {1, "heal"}, -- Heart Hemorrhage (Stone Legion Generals)
[326699] = {1, "stacks"}, -- Burden of Sin (Sire Denathrius)
[329298] = {1, "alert"}, -- Gluttonous Miasma (Hungering Destroyer)
[334755] = {14, "heal"}, -- Essence Sap (Hungering Destroyer)
[343320] = {1, "alert"}, -- Curse of Caramain (Trash)
- [333913] = {2, "stacks"}, -- Wicked Laceration (Stone Legion Generals)
+ [333913] = {1, "stacks"}, -- Wicked Laceration (Stone Legion Generals)
};
local playerGuid = nil;
frame[watchedAuras[id][2]][id] = amount;
elseif atype == "DEBUFF" then
frame[watchedAuras[id][2]][id] = amount;
- if watchedAuras[id][3] ~= nil then
- frame.stacks[id] = watchedAuras[id][3];
+ if watchedAuras[id][3] ~= nil and frame.hits[id] == nil then
+ frame.hits[id] = watchedAuras[id][3];
end
end
end
frame[watchedAuras[id][2]][id] = nil;
elseif atype == "DEBUFF" then
frame[watchedAuras[id][2]][id] = nil;
+ if watchedAuras[id][3] ~= nil then
+ frame.hits[id] = nil;
+ end
end
end
end
auraEvents.SPELL_AURA_BROKEN_SPELL = auraEvents.SPELL_AURA_BROKEN;
auraEvents.SPELL_PERIODIC_DAMAGE = function(frame, id, source)
if watchedAuras[id][3] ~= nil then
- if frame.stacks[id] ~= nil and frame.stacks[id] > 0 then
- frame.stacks[id] = frame.stacks[id] - 1;
- if frame.stacks[id] == 0 then
- frame.stacks[id] = nil;
+ if frame.hits[id] ~= nil and frame.hits[id] > 0 then
+ frame.hits[id] = frame.hits[id] - 1;
+ if frame.hits[id] == 0 then
+ frame.hits[id] = nil;
end
- elseif frame.stacks[id] ~= nil then
- frame.stacks[id] = nil;
+ elseif frame.hits[id] ~= nil then
+ frame.hits[id] = nil;
end
end
end
+auraEvents.SPELL_PERIODIC_ABSORBED = auraEvents.SPELL_PERIODIC_DAMAGE;
+auraEvents.SPELL_PERIODIC_MISSED = auraEvents.SPELL_PERIODIC_DAMAGE;
local counter = 0;
local function clog(ts, event, _, source, _, _, _, dest, _, _, _, spellid, ...)
frame.heal = {};
frame.buff1 = {};
frame.buff2 = {};
+ frame.stagger = {};
addon.SetAuras(frame.unit, frame.guid);
frame.rounds = 0;
end
local _, amount = next(frame.stacks);
frame.stack:SetText(amount);
if not frame.stack:IsShown() then frame.stack:Show() end
+ elseif next(frame.hits) then
+ local _, amount = next(frame.hits);
+ frame.stack:SetText(amount);
+ if not frame.stack:IsShown() then frame.stack:Show() end
elseif frame.stack:IsShown() then
frame.stack:Hide();
end
elseif frame.glow:IsShown() then
frame.glow:Hide();
end
- -- DK death strike tracking
- if frame.isdk and frame.rolename == "TANK" then
- local power = UnitPower(unit);
- if power < 45 then
- frame.bottomwarn:Show();
- elseif frame.bottomwarn:IsShown() then
- frame.bottomwarn:Hide();
+ -- DK Death Strike and Monk Stagger tracking
+ if frame.rolename == "TANK" then
+ if frame.classname == "DEATHKNIGHT" then
+ local power = UnitPower(unit);
+ if power < 45 then
+ if not frame.bottomwarn:IsShown() then frame.bottomwarn:Show() end
+ elseif frame.bottomwarn:IsShown() then
+ frame.bottomwarn:Hide();
+ end
+ elseif frame.classname == "MONK" then
+ if next(frame.stagger) then -- Heavy Stagger
+ if not frame.bottomwarn:IsShown() then frame.bottomwarn:Show() end
+ elseif frame.bottomwarn:IsShown() then
+ frame.bottomwarn:Hide();
+ end
end
elseif frame.bottomwarn:IsShown() then
frame.bottomwarn:Hide();