From: Aleksi Blinnikka Date: Thu, 22 Mar 2018 22:50:13 +0000 (+0200) Subject: Add soul shard tracking X-Git-Url: https://www.aleksib.fi/git/wowui.git/commitdiff_plain/3d660c55b38f95a6f03209d1f7d1174d0e7d48e7?ds=inline Add soul shard tracking --- diff --git a/OmaPower/HolyPower.lua b/OmaPower/AltPower.lua similarity index 69% rename from OmaPower/HolyPower.lua rename to OmaPower/AltPower.lua index 05fca76..5ab7742 100644 --- a/OmaPower/HolyPower.lua +++ b/OmaPower/AltPower.lua @@ -1,6 +1,7 @@ -- Based on Simple Holy Power local _; -local hptype = Enum.PowerType.HolyPower; +local class = "PALADIN"; +local ptype = Enum.PowerType.HolyPower; local UnitPower = UnitPower; local GetSpecialization = GetSpecialization; local f = CreateFrame("Frame", "OmaSHP", UIParent); @@ -17,27 +18,40 @@ local updatehp = { [5] = function() f[1]:Show(); f[2]:Show(); f[3]:Show(); f[4]:Show(); f[5]:Show() end, }; function f:PLAYER_SPECIALIZATION_CHANGED() - if GetSpecialization() == 3 then -- ret + if class == "PALADIN" then + if GetSpecialization() == 3 then -- ret + f:Show(); + f:RegisterUnitEvent("UNIT_POWER", "player"); + updatehp[UnitPower("player", ptype)](); + else + f:UnregisterEvent("UNIT_POWER"); + f:Hide(); + end + elseif class == "WARLOCK" then f:Show(); f:RegisterUnitEvent("UNIT_POWER", "player"); - updatehp[UnitPower("player", hptype)](); - else - f:UnregisterEvent("UNIT_POWER"); - f:Hide(); + updatehp[UnitPower("player", ptype)](); end end f.PLAYER_ENTERING_WORLD = f.PLAYER_SPECIALIZATION_CHANGED; function f:UNIT_POWER(_, t) - if t == "HOLY_POWER" then - return updatehp[UnitPower("player", hptype)](); + if t == "HOLY_POWER" or t == "SOUL_SHARDS" then + return updatehp[UnitPower("player", ptype)](); end end function f:PLAYER_LOGIN() f:UnregisterAllEvents(); f:Hide(); - if select(2, UnitClass("player")) ~= "PALADIN" then return end + _, class = UnitClass("player"); + if class == "PALADIN" then + ptype = Enum.PowerType.HolyPower; + elseif class == "WARLOCK" then + ptype = Enum.PowerType.SoulShards; + else + return; + end f:SetFrameStrata("LOW"); f:SetPoint("CENTER", UIParent, "CENTER", -283, -220); f:SetWidth(29*5); @@ -52,6 +66,7 @@ function f:PLAYER_LOGIN() f[i]:SetWidth(25); f[i]:SetHeight(25); -- color is default from SHP + -- TODO different for different classes f[i]:SetColorTexture(0.9686274509803922, 0.674509803921568, 0.1450980392156863); end diff --git a/OmaPower/OmaPower.toc b/OmaPower/OmaPower.toc index 365dc4c..e9c55f0 100644 --- a/OmaPower/OmaPower.toc +++ b/OmaPower/OmaPower.toc @@ -4,4 +4,4 @@ ## Author: schyrio ## Notes: My player power frame -HolyPower.lua +AltPower.lua