X-Git-Url: https://www.aleksib.fi/git/wowui.git/blobdiff_plain/19b1609e82debe7790ea5ce6523c4753ea6b7104..3c2cef6ffb99d6e8febf3a4df2b4b51ee0b9c2aa:/kehys/updater.lua diff --git a/kehys/updater.lua b/kehys/updater.lua index fac538c..f51d200 100644 --- a/kehys/updater.lua +++ b/kehys/updater.lua @@ -15,6 +15,7 @@ local UnitGetTotalHealAbsorbs = UnitGetTotalHealAbsorbs; local dispelcolor = addon.Colors.OverlayColorDispel; local charmcolor = addon.Colors.OverlayColorCharm; local majorcolor = addon.Colors.OverlayColorAlert; +local healcolor = addon.Colors.OverlayColorHeal; 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 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 + 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 + 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 + frame.prev.health = nil; + frame.prev.hmax = nil; else if UnitIsAFK(unit) then frame.text:SetText("afk"); @@ -120,13 +127,20 @@ function addon.FrameUpdate(frame) 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 + 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