From 1fce6017bd76a15c683685fad4f0581b5eb5faa8 Mon Sep 17 00:00:00 2001 From: omicron Date: Thu, 14 Dec 2023 19:42:11 +0100 Subject: [PATCH] Add bar overlays for absorb and heal absorb --- media/textures/bar_subtle_diagonal_bottom.tga | Bin 0 -> 53115 bytes media/textures/bar_subtle_diagonal_top.tga | Bin 0 -> 53115 bytes src/types/statusbar.lua | 22 ++++-- src/types/unitframe.lua | 71 +++++++++++++++++- 4 files changed, 83 insertions(+), 10 deletions(-) create mode 100644 media/textures/bar_subtle_diagonal_bottom.tga create mode 100644 media/textures/bar_subtle_diagonal_top.tga diff --git a/media/textures/bar_subtle_diagonal_bottom.tga b/media/textures/bar_subtle_diagonal_bottom.tga new file mode 100644 index 0000000000000000000000000000000000000000..910382a87e31abf42988580cf9ca789ef90ba601 GIT binary patch literal 53115 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 EKXE)(H~;_u literal 0 HcmV?d00001 diff --git a/src/types/statusbar.lua b/src/types/statusbar.lua index e9f15e2..a18a18f 100644 --- a/src/types/statusbar.lua +++ b/src/types/statusbar.lua @@ -20,7 +20,7 @@ local types = omi.GetModule("types") types.StatusBar = types.CreateClass("StatusBar") local StatusBar = types.StatusBar -function StatusBar:Init(parent, width, height, level, top) +function StatusBar:Init(parent, width, height, level, top, texture, bgtexture) if top == nil then top = true end level = level or 0 -- parent: the parent frame @@ -38,15 +38,17 @@ function StatusBar:Init(parent, width, height, level, top) end bar:SetSize(width, height) - bar:SetStatusBarTexture("Interface\\Addons\\OmicronFrames\\media\\textures\\bar_subtle_diagonal") + bar:SetStatusBarTexture(texture) bar:GetStatusBarTexture():SetHorizTile(false) bar:GetStatusBarTexture():SetVertTile(false) self.bar = bar - local bg = bar:CreateTexture(nil, "BACKGROUND") - bg:SetTexture("Interface\\Addons\\OmicronFrames\\media\\textures\\bar_subtle_diagonal") - bg:SetAllPoints(true) - self.bg = bg + if bgtexture ~= nil then + local bg = bar:CreateTexture(nil, "BACKGROUND") + bg:SetTexture(bgtexture) + bg:SetAllPoints(true) + self.bg = bg + end self:SetRange(0, 1) self:SetValue(1) @@ -61,6 +63,10 @@ function StatusBar:SetValue(value) self.bar:SetValue(value) end +function StatusBar:SetFillStyle(style) + self.bar:SetFillStyle(style) +end + function StatusBar:Show() self.bar:Show() end @@ -78,5 +84,7 @@ end function StatusBar:SetColor(r, g, b) self.bar:SetStatusBarColor(r, g, b) - self.bg:SetVertexColor(0.2 * r, 0.2 * g, 0.2 * b) + if self.bg ~= nil then + self.bg:SetVertexColor(0.2 * r, 0.2 * g, 0.2 * b) + end end diff --git a/src/types/unitframe.lua b/src/types/unitframe.lua index 9c388b6..b1f40e1 100644 --- a/src/types/unitframe.lua +++ b/src/types/unitframe.lua @@ -50,7 +50,9 @@ local colors = { immune = { 0.0, 0.2, 0.4 }, bomb = { 1.0, 0.7, 0.7 }, cyan = { 0.0, 0.8, 0.8 }, - white = { 1.0, 1.0, 1.0 } + white = { 1.0, 1.0, 1.0 }, + shield = { 0.85, .95, 1.0 }, + absorb = { 0.5, .4, .75 }, } -- This trucates _codepoints_ not graphemes. If combination codepoints are @@ -86,11 +88,28 @@ function UnitFrame:Init(unit, config) self:SetMouseBinds(config.mouse) - self.hp = StatusBar:new(self, width, height, 0, true) - self.power = StatusBar:new(self, width, 6, 2, false) + local texture = "Interface\\Addons\\OmicronFrames\\media\\textures\\bar_subtle_diagonal" + local texture_top = "Interface\\Addons\\OmicronFrames\\media\\textures\\bar_subtle_diagonal_top" + local texture_bot = "Interface\\Addons\\OmicronFrames\\media\\textures\\bar_subtle_diagonal_bottom" + + self.hp = StatusBar:new(self, width, height, 0, true, texture, texture) + + self.power = StatusBar:new(self, width, 6, 2, false, texture, texture) self.power:Hide() + + self.absorb = StatusBar:new(self, width, height, 1, true, texture_top) + self.absorb:SetColor(unpack(colors.absorb)) + self.absorb:SetFillStyle("REVERSE") + + self.shield = StatusBar:new(self, width, height, 1, true, texture_bot) + self.shield:SetColor(unpack(colors.shield)) + self.shield:SetRange(0, 1) + self.shield:SetValue(0.6) + self.shield:SetFillStyle("REVERSE") + self.auras = AuraList:new(self) + local overlays = CreateFrame("Frame", nil, secure) overlays:SetFrameStrata("MEDIUM") overlays:SetFrameLevel(100) @@ -410,6 +429,8 @@ function UnitFrame:RegisterEvents() secure:RegisterUnitEvent("UNIT_HEALTH", unit) secure:RegisterUnitEvent("UNIT_MAXHEALTH", unit) secure:RegisterUnitEvent("UNIT_NAME_UPDATE", unit) + secure:RegisterUnitEvent("UNIT_ABSORB_AMOUNT_CHANGED", unit) + secure:RegisterUnitEvent("UNIT_HEAL_ABSORB_AMOUNT_CHANGED", unit) end -- returns whether or not the unit guid has changed since the last call to this @@ -430,6 +451,22 @@ function UnitFrame:HasUnitChanged() end end +function UnitFrame:UNIT_HEAL_ABSORB_AMOUNT_CHANGED() + if self:HasUnitChanged() then + self:UpdateAll(true) + return + end + self:UpdateAbsorb() +end + +function UnitFrame:UNIT_ABSORB_AMOUNT_CHANGED() + if self:HasUnitChanged() then + self:UpdateAll(true) + return + end + self:UpdateShield() +end + function UnitFrame:UNIT_AURA(unit, info) if self:HasUnitChanged() then self:UpdateAll(true) @@ -536,6 +573,8 @@ function UnitFrame:UpdateAll(unitChanged) end self:UpdateHealth() self:UpdateHealthColor() + self:UpdateAbsorb() + self:UpdateShield() self:UpdateRange() self:UpdateName() self:UpdateRole() -- Also calls UpdatePower if power is visible @@ -550,6 +589,32 @@ function UnitFrame:UpdateHealth() self.hp:SetValue(val) end +function UnitFrame:UpdateShield() + local unit = self.unit + local val = UnitGetTotalAbsorbs(unit) + local max = UnitHealthMax(unit) + if val <= 0 then + self.shield:Hide() + else + self.shield:SetRange(0, max) + self.shield:SetValue(val) + self.shield:Show() + end +end + +function UnitFrame:UpdateAbsorb() + local unit = self.unit + local val = UnitGetTotalHealAbsorbs(unit) + local max = UnitHealthMax(unit) + if val <= 0 then + self.absorb:Hide() + else + self.absorb:SetRange(0, max) + self.absorb:SetValue(val) + self.absorb:Show() + end +end + function UnitFrame:UpdateHealthColor() local unit = self.unit local val = UnitHealth(unit)