fac8827 - aura updates
[wowui.git] / OmaTMW / TellMeWhen.lua
index eeba0b2..b5a5a2b 100644 (file)
@@ -65,8 +65,8 @@ local chars = {
                 auraFilter = "PLAYER HELPFUL",
                 x = 570,
                 y = 530,
-                width = 80,
-                height = 80,
+                width = 40,
+                height = 40,
             },
             {
                 unit = "player",
@@ -93,9 +93,8 @@ local chars = {
         ["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,
@@ -103,13 +102,12 @@ local chars = {
             },
             {
                 unit = "player",
-                spec = 3, -- Retribution
                 auras = {"Divine Purpose"},
                 auraFilter = "PLAYER HELPFUL",
                 x = 570,
                 y = 530,
-                width = 80,
-                height = 80,
+                width = 40,
+                height = 40,
             },
             {
                 unit = "player",
@@ -118,8 +116,27 @@ 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",
+                auras = {"Seraphim", "Righteous Verdict"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 570,
+                y = 480,
+                width = 40,
+                height = 40,
             },
             {
                 unit = "player",
@@ -130,6 +147,46 @@ local chars = {
                 width = 80,
                 height = 80,
             },
+            {
+                unit = "player",
+                auras = {"Devotion Aura"},
+                auraFilter = "HELPFUL",
+                invert = true,
+                x = 720,
+                y = 440,
+                width = 60,
+                height = 60,
+            },
+        },
+        ["Gilden"] = {
+            {
+                unit = "target",
+                auras = {"Shadow Word: Pain", "Purge the Wicked"},
+                auraFilter = "PLAYER HARMFUL",
+                x = 660,
+                y = 440,
+                width = 60,
+                height = 60,
+            },
+            {
+                unit = "player",
+                auras = {"Power Word: Fortitude"},
+                auraFilter = "HELPFUL",
+                invert = true,
+                x = 720,
+                y = 440,
+                width = 60,
+                height = 60,
+            },
+            {
+                unit = "player",
+                auras = {"Overcharge Mana"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 720,
+                y = 440,
+                width = 60,
+                height = 60,
+            },
         },
         ["Gedren"] = {
             {
@@ -159,6 +216,135 @@ local chars = {
                 width = 40,
                 height = 40,
             },
+            {
+                unit = "player",
+                auras = {"Unleash Life"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 740,
+                y = 440,
+                width = 40,
+                height = 40,
+            },
+        },
+        ["Gran"] = {
+            {
+                unit = "player",
+                auras = {"Tidal Waves"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 660,
+                y = 440,
+                width = 40,
+                height = 40,
+            },
+            {
+                unit = "player",
+                auras = {"Healing Rain"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 700,
+                y = 440,
+                width = 40,
+                height = 40,
+            },
+            {
+                unit = "player",
+                auras = {"Unleash Life"},
+                auraFilter = "PLAYER HELPFUL",
+                x = 740,
+                y = 440,
+                width = 40,
+                height = 40,
+            },
+        },
+        ["Gedrin"] = {
+            {
+                unit = "pet",
+                auras = {"Frenzy"},
+                auraFilter = "HELPFUL",
+                x = 660,
+                y = 440,
+                width = 40,
+                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,
+            },
         },
     },
 };
@@ -178,20 +364,37 @@ local chars = {
 local settings = {
     {
         unit = "player",
-        auras = {"Innervate"},
+        auras = {"Innervate", "Gift of the Titans", "Power Infusion"},
         auraFilter = "HELPFUL",
         x = 570,
         y = 440,
         width = 80,
         height = 80,
     },
+    {
+        unit = "player",
+        auras = {"Ineffable Truth"},
+        auraFilter = "HELPFUL",
+        x = 570,
+        y = 440,
+        width = 40,
+        height = 40,
+    },
     {
         unit = "player",
         auras = {
             "Delusions", "Entropic Blast", "Necrotic Embrace", "Flametouched", "Shadowtouched",
             "Blazing Eruption", "Shattering Scream", "Consuming Hunger", "Unstable Soul",
             "Time Bomb", "Broken Shard", "Demolished", "Fetid Rot", "Roiling Deceit",
-            "Putrid Blood",
+            "Putrid Blood", "Endemic Virus", "Lingering Infection", "Gigavolt Charge",
+            "Crackling Lightning", "Storm's Wail", "Death's Door", "Deathly Withering",
+            "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", "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,
@@ -199,6 +402,17 @@ local settings = {
         width = 80,
         height = 80,
     },
+    {
+        unit = "player",
+        auras = {
+            "Adaptive Membrane", "Gluttonous Miasma", "Remnant: Soulforge Heat"
+        },
+        auraFilter = "HARMFUL",
+        x = 660,
+        y = 780,
+        width = 160,
+        height = 160,
+    },
 };
 
 local frames = {};
@@ -215,14 +429,14 @@ 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] then
+            if frame.auras[name] and not frame.invert then
                 if count > 1 then
                     frame.stack:SetText(count);
                     frame.stack:Show();
@@ -238,9 +452,17 @@ local function updateAuraFrame(frame)
                 frame.icon:SetTexture(icon);
                 frame:Show();
                 return;
+            elseif frame.auras[name] and frame.invert then
+                frame.icon:SetTexture(icon);
+                frame:Hide();
+                return;
             end
             i = i + 1;
         end
+        if frame.invert then
+            frame:Show(); -- not functional without first hiding once to get SetTexture
+            return;
+        end
     end
     frame:Hide();
 end
@@ -287,6 +509,7 @@ local function createTMW(name, config, parent)
     end
     frame.auraFilter = config.auraFilter;
     frame.totems = config.totems;
+    frame.invert = config.invert;
     frame:Hide();
     frame.base = frame:CreateTexture(nil, "BACKGROUND");
     frame.base:SetAllPoints();
@@ -296,6 +519,7 @@ local function createTMW(name, config, parent)
     frame.icon:SetPoint("BOTTOMRIGHT", frame.base, "BOTTOMRIGHT", -1, 1);
     frame.icon:SetTexCoord(0.07, 0.93, 0.07, 0.93);
     frame.stack = frame:CreateFontString(nil, "OVERLAY", "NumberFontNormalLarge");
+    frame.stack:SetFont(STANDARD_TEXT_FONT, 26, "OUTLINE");
     frame.stack:SetPoint("TOPLEFT");
     frame.stack:Hide();
     frame.cd = CreateFrame("Cooldown", name.."CD", frame, "CooldownFrameTemplate");