Files

104 lines
2.6 KiB
Lua

local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("TotemTimers") then return end
local _G = _G
local pairs, ipairs = pairs, ipairs
local unpack = unpack
-- TotemTimers 10.2.4
-- https://www.curseforge.com/wow/addons/totemtimers/files/454307
S:AddCallbackForAddon("TotemTimers", "TotemTimers", function()
if not E.private.addOnSkins.TotemTimers then return end
if E.myclass ~= "SHAMAN" then return end
local SLOT_EMPTY_TCOORDS = {
[EARTH_TOTEM_SLOT] = {
left = 66 / 128,
right = 96 / 128,
top = 3 / 256,
bottom = 33 / 256
},
[FIRE_TOTEM_SLOT] = {
left = 67 / 128,
right = 97 / 128,
top = 100 / 256,
bottom = 130 / 256
},
[WATER_TOTEM_SLOT] = {
left = 39 / 128,
right = 69 / 128,
top = 209 / 256,
bottom = 239 / 256
},
[AIR_TOTEM_SLOT] = {
left = 66 / 128,
right = 96 / 128,
top = 36 / 256,
bottom = 66 / 256
}
}
S:SecureHook("TotemTimers_SetupGlobals", function()
for i, f in pairs(TTActionBars.bars) do
for j in pairs(f.buttons) do
local button = _G["TT_ActionButton" .. i .. j]
button:StyleButton(nil, nil, true)
button:CreateBackdrop("Default")
button.backdrop:SetAllPoints()
button.icon:SetInside()
for x = 1, 4 do
button.MiniIcons[x]:SetTexCoord(unpack(E.TexCoords))
end
end
end
for i = 1, XiTimers.numtimers do
local button = _G["XiTimers_Timer" .. i]
local icon = _G["XiTimers_Timer" .. i .. "Icon"]
button:StyleButton(nil, nil, true)
button:CreateBackdrop("Default")
button.backdrop:SetAllPoints()
icon:SetTexCoord(unpack(E.TexCoords))
icon:SetInside()
end
TotemTimers_MultiSpell:StyleButton(nil, nil, true)
TotemTimers_MultiSpell:CreateBackdrop("Default")
TotemTimers_MultiSpell.backdrop:SetAllPoints()
TotemTimers_MultiSpellIcon:SetTexCoord(unpack(E.TexCoords))
TotemTimers_MultiSpellIcon:SetInside()
S:Unhook("TotemTimers_SetupGlobals")
end)
hooksecurefunc(TotemTimers, "SetEmptyTexCoord", function(icon, nr)
if nr and nr > 0 then
local tcoords = SLOT_EMPTY_TCOORDS[nr]
icon:SetTexCoord(tcoords.left, tcoords.right, tcoords.top, tcoords.bottom)
else
icon:SetTexCoord(unpack(E.TexCoords))
end
end)
hooksecurefunc(TotemTimers, "SetDoubleTexture", function(button, isdouble, flash)
if isdouble then
button.icons[1]:SetTexCoord(.08, 0.5, .08, .92)
button.icons[2]:SetTexCoord(0.5, .92, .08, .92)
end
end)
hooksecurefunc(XiTimers, "new", function(self)
for _, bar in ipairs(self.timers[#self.timers].timerbars) do
bar:SetTemplate("Default")
bar.background.Show = E.noop
bar.background:Hide()
end
end)
end)