fac8827 - aura updates
authorAleksi Blinnikka <aleksi.blinnikka@iki.fi>
Fri, 3 Dec 2021 12:40:16 +0000
committerAleksi Blinnikka <aleksi.blinnikka@iki.fi>
Fri, 3 Dec 2021 12:40:16 +0000
OmaTMW/TellMeWhen.lua
kehys/auras.lua

index 6037c86..b5a5a2b 100644 (file)
@@ -116,8 +116,18 @@ local chars = {
                 auraFilter = "PLAYER HELPFUL",
                 x = 570,
                 y = 440,
-                width = 80,
-                height = 80,
+                width = 60,
+                height = 60,
+            },
+            {
+                unit = "player",
+                spec = 2, -- Protection
+                auras = {"Shining Light"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 630,
+                y = 440,
+                width = 60,
+                height = 60,
             },
             {
                 unit = "player",
@@ -256,6 +266,86 @@ local chars = {
                 height = 40,
             },
         },
+        ["Iled"] = {
+            {
+                unit = "player",
+                auras = {"Arcane Intellect"},
+                auraFilter = "HELPFUL",
+                invert = true,
+                x = 720,
+                y = 460,
+                width = 60,
+                height = 60,
+            },
+            {
+                unit = "player",
+                auras = {"Rune of Power"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 660,
+                y = 460,
+                width = 40,
+                height = 40,
+            },
+            {
+                unit = "target",
+                spec = 3, -- Frost
+                auras = {"Winter's Chill"},
+                auraFilter = "PLAYER HARMFUL",
+                x = 700,
+                y = 460,
+                width = 40,
+                height = 40,
+            },
+            {
+                unit = "player",
+                spec = 2, -- Fire
+                auras = {"Sun King's Blessing"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 700,
+                y = 460,
+                width = 40,
+                height = 40,
+            },
+            {
+                unit = "player",
+                spec = 3, -- Frost
+                auras = {"Icy Veins"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 660,
+                y = 420,
+                width = 40,
+                height = 40,
+            },
+            {
+                unit = "player",
+                spec = 2, -- Fire
+                auras = {"Combustion"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 660,
+                y = 420,
+                width = 40,
+                height = 40,
+            },
+            {
+                unit = "player",
+                spec = 2, -- Fire
+                auras = {"Infernal Cascade"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 620,
+                y = 420,
+                width = 40,
+                height = 40,
+            },
+            {
+                unit = "player",
+                auras = {"Alter Time"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 700,
+                y = 420,
+                width = 40,
+                height = 40,
+            },
+        },
     },
 };
 
@@ -301,7 +391,10 @@ local settings = {
             "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", "Wicked Laceration", "Withering Touch"
+            "Arcane Vulnerability", "Wicked Laceration", "Withering Touch", "Fragment of Destiny",
+            "Flameclasp Eruption", "Wailing Arrow", "Frozen Destruction",
+            "Remnant: Mort'regar's Echoes", "Barbed Arrow", "Scorn", "Ire", "Song of Dissolution",
+            "Grim Portent", "Exposed Threads of Fate", "Despair"
         },
         auraFilter = "HARMFUL",
         x = 660,
@@ -312,7 +405,7 @@ local settings = {
     {
         unit = "player",
         auras = {
-            "Adaptive Membrane", "Gluttonous Miasma"
+            "Adaptive Membrane", "Gluttonous Miasma", "Remnant: Soulforge Heat"
         },
         auraFilter = "HARMFUL",
         x = 660,
@@ -336,11 +429,11 @@ local Indicators = CreateFrame("Frame", "OmaTMW", UIParent);
 local function updateAuraFrame(frame)
     local unit = frame.unit;
     if UnitExists(unit) and (not frame.spec or frame.spec == currentSpec) then
-        local name, icon, count, duration, expires;
+        local name, icon, count, duration, expires, id;
         local auraFilter = frame.auraFilter;
         local i = 1;
         while true do
-            name, icon, count, _, duration, expires = UnitAura(unit, i, auraFilter);
+            name, icon, count, _, duration, expires, _, _, _, id = UnitAura(unit, i, auraFilter);
             if not name then break end
             -- possible improvement to add spellID as an option
             if frame.auras[name] and not frame.invert then
index f777e22..9f18dc5 100644 (file)
@@ -7,24 +7,13 @@ local UnitGUID = UnitGUID;
 
 local guids = addon.FrameGuids;
 local watchedAuras = {
-    --[286988] = duration, -- Searing Embers
-    --[257908] = {bar=false}, -- Oiled Blade
-    --[268391] = {bar=false}, -- Mental Assault
-    --[272571] = {bar=false}, -- Choking Waters
-    --[268008] = {bar=false}, -- Snake Charm
-    --[280605] = {bar=false}, -- Brain Freeze
-    --[268797] = {bar=false}, -- Transmute to Goo
-    --[265889] = {bar=false}, -- Torch Strike
-    --[266209] = {bar=false}, -- Wicked Frenzy
-    --[258323] = {bar=false}, -- Infected Wound
-    --[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
-    [974] = {1, "buff2"}, -- Earth Shield
+    --[974] = {1, "buff2"}, -- Earth Shield
     -- Tank defensives
     [6940] = {1, "tankcd"}, -- Blessing of Sacrifice
     [33206] = {1, "tankcd"}, -- Pain Suppression
@@ -32,6 +21,11 @@ local watchedAuras = {
     [102342] = {1, "tankcd"}, -- Ironbark
     [116849] = {1, "tankcd"}, -- Life Cocoon
     [196555] = {1, "tankcd"}, -- Netherwalk
+    -- Raid-wide defensives
+    [31821] = {1, "tankcd"}, -- Aura Mastery
+    [81782] = {1, "tankcd"}, -- Power Word: Barrier
+    [145629] = {1, "tankcd"}, -- Anti-Magic Zone
+    [325174] = {1, "tankcd"}, -- Spirit Link Totem
     --[124275] = {1, "stagger"}, -- Light Stagger (Monk)
     --[124274] = {1, "stagger"}, -- Moderate Stagger (Monk)
     [124273] = {1, "stagger"}, -- Heavy Stagger (Monk)
@@ -102,11 +96,15 @@ local watchedAuras = {
     [344993] = {5, "stacks"}, -- Jagged Swipe (Halls of Atonement)
     [323692] = {1, "stacks"}, -- Arcane Vulnerability (De Other Side)
     [317661] = {1, "stacks"}, -- Insidious Venom (Spires of Ascension)
+    [355732] = {1, "stacks"}, -- Melt Soul (Incinerator Arkolath)
     [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)
+    [356011] = {1, "heal"}, -- Beam Splicer (Tazavesh)
+    [347481] = {1, "heal"}, -- Shuri (Tazavesh)
+    [357190] = {1, "heal"}, -- Star Vulnerability (Tazavesh)
     -- Castle Nathria
     [346301] = {1, "stacks"}, -- Bloodlight (Shriekwing)
     [328897] = {7, "alert"}, -- Exsanguinated (Shriekwing)
@@ -128,14 +126,36 @@ local watchedAuras = {
     [334755] = {14, "heal"}, -- Essence Sap (Hungering Destroyer)
     [343320] = {1, "alert"}, -- Curse of Caramain (Trash)
     [333913] = {1, "stacks"}, -- Wicked Laceration (Stone Legion Generals)
+    -- Sanctum of Domination
+    [357431] = {1, "heal"}, -- Grasp of Death (Tarragrue)
+    [352392] = {2, "stacks"}, -- Soulforge Heat (Tarragrue)
+    [350034] = {1, "heal"}, -- Fractured Soul (Eye of the Jailer)
+    [350542] = {1, "stacks"}, -- Fragment of Destiny (The Nine)
+    [350184] = {1, "heal"}, -- Daschla's Mighty Impact (The Nine)
+    [350647] = {1, "heal"}, -- Brand of Torment (Soulrender Dormazain)
+    [355506] = {1, "heal"}, -- Shadowsteel Chains (Painsmith Raznal)
+    [350496] = {1, "heal"}, -- Threat Neutralization (Guardian of the First Ones)
+    [357686] = {1, "heal"}, -- Runic Affinity (Fatescribe Roh-Kalo)
+    [353162] = {1, "stacks"}, -- Fate Fragment (Fatescribe Roh-Kalo)
+    [347807] = {2, "stacks"}, -- Barbed Arrow (Sylvanas Windrunner)
+    [351117] = {1, "stacks"}, -- Crushing Dread (Sylvanas Windrunner)
+    [353929] = {1, "stacks"}, -- Banshee's Bane (Sylvanas Windrunner)
+    [351870] = {1, "heal"}, -- Haunting Wave (Sylvanas Windrunner)
+    [351451] = {1, "heal"}, -- Curse of Lethargy (Sylvanas Windrunner)
+    [348064] = {1, "heal"}, -- Wailing Arrow (Sylvanas Windrunner)
 };
+
+--local overlapAuras = {
+--    [53563] = {1, "buff3"}, -- other Beacon of Light
+--    [156910] = {1, "buff3"}, -- other Beacon of Faith
+--};
 local playerGuid = nil;
 
 local auraEvents = {};
 auraEvents.SPELL_AURA_APPLIED = function(frame, id, source, _, _, atype, amount)
     if (amount == nil and watchedAuras[id][1] == 1) or (amount ~= nil and amount >= watchedAuras[id][1]) then
         amount = amount or 1;
-        if atype == "BUFF" and (source == playerGuid or watchedAuras[id][2] == "tankcd") then
+        if atype == "BUFF" and (source == playerGuid or watchedAuras[id][2] == "tankcd" or watchedAuras[id][2] == "buff2") then
             frame[watchedAuras[id][2]][id] = amount;
         elseif atype == "DEBUFF" then
             frame[watchedAuras[id][2]][id] = amount;
@@ -149,7 +169,7 @@ auraEvents.SPELL_AURA_APPLIED_DOSE = auraEvents.SPELL_AURA_APPLIED;
 auraEvents.SPELL_AURA_REFRESH = auraEvents.SPELL_AURA_APPLIED;
 auraEvents.SPELL_AURA_REMOVED = function(frame, id, source, _, _, atype, amount)
     if amount == nil or amount == 0 then
-        if atype == "BUFF" and (source == playerGuid or watchedAuras[id][2] == "tankcd") then
+        if atype == "BUFF" and (source == playerGuid or watchedAuras[id][2] == "tankcd" or watchedAuras[id][2] == "buff2") then
             frame[watchedAuras[id][2]][id] = nil;
         elseif atype == "DEBUFF" then
             frame[watchedAuras[id][2]][id] = nil;