3c2cef6 - Decrease high healing overlay opacity
[wowui.git] / kehys / updater.lua
index fac538c..f51d200 100644 (file)
@@ -15,6 +15,7 @@ local UnitGetTotalHealAbsorbs = UnitGetTotalHealAbsorbs;
 local dispelcolor = addon.Colors.OverlayColorDispel;
 local charmcolor = addon.Colors.OverlayColorCharm;
 local majorcolor = addon.Colors.OverlayColorAlert;
 local dispelcolor = addon.Colors.OverlayColorDispel;
 local charmcolor = addon.Colors.OverlayColorCharm;
 local majorcolor = addon.Colors.OverlayColorAlert;
+local healcolor = addon.Colors.OverlayColorHeal;
 
 local function updateAuras()
     -- TODO
 
 local function updateAuras()
     -- TODO
@@ -39,17 +40,23 @@ function addon.FrameUpdate(frame)
         if not frame.text:IsShown() then frame.text:Show() end
         if frame.health:IsShown() then frame.health:Hide() end
         if frame.shield:IsShown() then frame.shield:Hide() end
         if not frame.text:IsShown() then frame.text:Show() end
         if frame.health:IsShown() then frame.health:Hide() end
         if frame.shield:IsShown() then frame.shield:Hide() end
+        if frame.shieldhl:IsShown() then frame.shieldhl:Hide() end
         if frame.healpred:IsShown() then frame.healpred:Hide() end
         if frame.healabsorb:IsShown() then frame.healabsorb:Hide() end
         --if frame.auras:IsShown() then frame.auras:Hide() end
         if frame.healpred:IsShown() then frame.healpred:Hide() end
         if frame.healabsorb:IsShown() then frame.healabsorb:Hide() end
         --if frame.auras:IsShown() then frame.auras:Hide() end
+        frame.prev.health = nil;
+        frame.prev.hmax = nil;
     elseif not UnitIsConnected(unit) then
         frame.text:SetText("DC");
         if not frame.text:IsShown() then frame.text:Show() end
         if frame.health:IsShown() then frame.health:Hide() end
         if frame.shield:IsShown() then frame.shield:Hide() end
     elseif not UnitIsConnected(unit) then
         frame.text:SetText("DC");
         if not frame.text:IsShown() then frame.text:Show() end
         if frame.health:IsShown() then frame.health:Hide() end
         if frame.shield:IsShown() then frame.shield:Hide() end
+        if frame.shieldhl:IsShown() then frame.shieldhl:Hide() end
         if frame.healpred:IsShown() then frame.healpred:Hide() end
         if frame.healabsorb:IsShown() then frame.healabsorb:Hide() end
         --if frame.auras:IsShown() then frame.auras:Hide() end
         if frame.healpred:IsShown() then frame.healpred:Hide() end
         if frame.healabsorb:IsShown() then frame.healabsorb:Hide() end
         --if frame.auras:IsShown() then frame.auras:Hide() end
+        frame.prev.health = nil;
+        frame.prev.hmax = nil;
     else
         if UnitIsAFK(unit) then
             frame.text:SetText("afk");
     else
         if UnitIsAFK(unit) then
             frame.text:SetText("afk");
@@ -120,13 +127,20 @@ function addon.FrameUpdate(frame)
             frame.healpred:Hide();
         end
         -- auras
             frame.healpred:Hide();
         end
         -- auras
-        if updateAuras(frame, unit) then
+        if next(frame.alert) then
             -- major
             if frame.overlay.color ~= majorcolor then
                 frame.overlay:SetVertexColor(unpack(majorcolor));
                 frame.overlay.color = majorcolor;
                 if not frame.overlay:IsShown() then frame.overlay:Show() end
             end
             -- major
             if frame.overlay.color ~= majorcolor then
                 frame.overlay:SetVertexColor(unpack(majorcolor));
                 frame.overlay.color = majorcolor;
                 if not frame.overlay:IsShown() then frame.overlay:Show() end
             end
+        elseif next(frame.heal) then
+            -- major heals needed
+            if frame.overlay.color ~= healcolor then
+                frame.overlay:SetVertexColor(unpack(healcolor));
+                frame.overlay.color = healcolor;
+                if not frame.overlay:IsShown() then frame.overlay:Show() end
+            end
         elseif UnitIsCharmed(unit) and frame.unit == frame.displayed then
             -- charmed
             if frame.overlay.color ~= charmcolor then
         elseif UnitIsCharmed(unit) and frame.unit == frame.displayed then
             -- charmed
             if frame.overlay.color ~= charmcolor then