From 0051bb49579945bb78153b4c5009a0fa633ecce9 Mon Sep 17 00:00:00 2001 From: Aleksi Blinnikka Date: Wed, 30 Jun 2021 19:27:49 +0300 Subject: [PATCH 1/1] add death strike tracking --- kehys/events.lua | 12 +++++++++--- kehys/frame.lua | 7 +++++++ kehys/updater.lua | 11 +++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/kehys/events.lua b/kehys/events.lua index 170c029..7d46c61 100644 --- a/kehys/events.lua +++ b/kehys/events.lua @@ -77,6 +77,12 @@ local function updateName(frame, unit) local _, class = UnitClass(unit); local color = RAID_CLASS_COLORS[class]; + if class == "DEATHKNIGHT" then + frame.isdk = true; + else + frame.isdk = nil; + end + if color then if not frame.raid then if not UnitPlayerControlled(unit) and UnitIsTapDenied(unit) then @@ -123,11 +129,11 @@ end addon.Events.UpdateVehicle = updateVehicle; local function updateRole(frame, unit) - local role = UnitGroupRolesAssigned(unit); - if role == "HEALER" then + frame.rolename = UnitGroupRolesAssigned(unit); + if frame.rolename == "HEALER" then frame.role:SetTexCoord(0.75, 1, 0, 1); frame.role:Show(); - elseif role == "TANK" then + elseif frame.rolename == "TANK" then frame.role:SetTexCoord(0.5, 0.75, 0, 1); frame.role:Show(); else diff --git a/kehys/frame.lua b/kehys/frame.lua index 4f1615f..f740c77 100644 --- a/kehys/frame.lua +++ b/kehys/frame.lua @@ -57,6 +57,8 @@ function addon.NewRaidFrame(parent, width, height, unit, attributes, f.buff1 = {}; -- custom buff indicator 1 f.buff2 = {}; -- custom buff indicator 2 f.incoming = {}; -- incoming ability indicator + f.rolename = nil; -- TANK, HEALER, DAMAGER, NONE + f.isdk = nil; -- DK death strike tracker for DK tanks f.raid = true; f.rounds = 0; -- set up periodic updates @@ -137,6 +139,11 @@ function addon.NewRaidFrame(parent, width, height, unit, attributes, f.overlay:SetPoint("BOTTOMRIGHT", f.background, "BOTTOMRIGHT"); f.overlay:SetColorTexture(1, 1, 1); f.overlay:Hide(); + f.bottomwarn = f:CreateTexture(nil, "ARTWORK", nil, 1); + f.bottomwarn:SetPoint("TOPLEFT", f.background, "BOTTOMLEFT", 16, 5); + f.bottomwarn:SetPoint("BOTTOMRIGHT", f.background, "BOTTOMRIGHT", -16, 1); + f.bottomwarn:SetColorTexture(1, 0.3, 0.1, 0.66); + f.bottomwarn:Hide(); f.role = f:CreateTexture(nil, "ARTWORK", nil, 2); f.role:SetPoint("BOTTOMRIGHT", f, "BOTTOMRIGHT", -3, 3); f.role:SetPoint("TOPLEFT", f, "BOTTOMRIGHT", -15, 15); diff --git a/kehys/updater.lua b/kehys/updater.lua index 72c51ed..94977d4 100644 --- a/kehys/updater.lua +++ b/kehys/updater.lua @@ -267,6 +267,17 @@ function addon.FrameUpdate(frame) elseif frame.glow:IsShown() then frame.glow:Hide(); end + -- DK death strike tracking + if frame.isdk and frame.rolename == "TANK" then + local power = UnitPower(unit); + if power < 45 then + frame.bottomwarn:Show(); + elseif frame.bottomwarn:IsShown() then + frame.bottomwarn:Hide(); + end + elseif frame.bottomwarn:IsShown() then + frame.bottomwarn:Hide(); + end -- overlays if next(frame.alert) then -- major -- 2.39.5