From 0c3ccc093191d91ce9361fa13b277b622cce6a19 Mon Sep 17 00:00:00 2001 From: Aleksi Blinnikka Date: Fri, 2 Feb 2018 02:53:26 +0200 Subject: [PATCH 1/1] Small fixes from normal unit frame side --- OmaRF/Events.lua | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/OmaRF/Events.lua b/OmaRF/Events.lua index 7c31381..c28ef44 100644 --- a/OmaRF/Events.lua +++ b/OmaRF/Events.lua @@ -102,7 +102,7 @@ local function updateHealth(frame, unit) frame.health:SetWidth(width); updateMaxHealth(frame, unit); frame.health:Show(); - elseif UnitIsDeadOrGhost(unit) then + elseif current <= 0 or UnitIsDeadOrGhost(unit) then frame.health:Hide(); else frame.health:SetWidth(current/max*width); @@ -151,11 +151,15 @@ end local function updatePower(frame, unit) local current, max = UnitPower(unit), frame.mana.max; - if current > max or max <= 0 then + if current <= 0 then + frame.mana:Hide(); + elseif current > max or max <= 0 then frame.mana:SetWidth(width); updateMaxPower(frame, unit); + frame.mana:Show(); else frame.mana:SetWidth(current/max*width); + frame.mana:Show(); end end @@ -189,17 +193,20 @@ end local function updateShield(frame, unit) local shield = UnitGetTotalAbsorbs(unit) or 0; if shield > 0 then - local max = frame.health.max; local space = width - frame.health:GetWidth(); shield = (shield / frame.health.max) * width; - if space < shield then + if space == 0 then + frame.shield:Hide(); + frame.shieldhl:Show(); + elseif space < shield then frame.shield:SetWidth(space); + frame.shield:Show(); frame.shieldhl:Show(); else frame.shield:SetWidth(shield); + frame.shield:Show(); frame.shieldhl:Hide(); end - frame.shield:Show(); else frame.shield:Hide(); frame.shieldhl:Hide(); -- 2.39.5