There's still something wrong with the timers´
Lua Code:
hooksecurefunc("AuraButton_Update", function(self, index, filter)
local ABuffFrame = _G[self..index]
if ABuffFrame then
ABuffFrame:SetSize(BuffSize, BuffSize)
A.CreateBorder(ABuffFrame, true, BuffSize, BuffSize)
local BuffStatusBar = ABuffFrame.StatusBar
if not BuffStatusBar then
BuffStatusBar = CreateFrame("StatusBar", nil, ABuffFrame)
BuffStatusBar:SetFrameStrata("HIGH")
BuffStatusBar:SetSize(32, 6)
BuffStatusBar:SetPoint("BOTTOM", ABuffFrame, 0, -8)
BuffStatusBar:SetStatusBarTexture(C.Media.Texture)
BuffStatusBar:SetStatusBarColor(A.ClassColor.r, A.ClassColor.g, A.ClassColor.b)
local _, _, _, _, _, duration, expirationTime = UnitAura(PlayerFrame.unit, index, filter)
if duration > 0 and expirationTime then
BuffStatusBar:SetMinMaxValues(expirationTime - duration, expirationTime)
else
BuffStatusBar:SetMinMaxValues(0, 1)
BuffStatusBar:SetValue(1)
end
A.Skin(BuffStatusBar)
ABuffFrame.StatusBar = BuffStatusBar
end
end
local ABuffFrameIcon = _G[self..index.."Icon"]
if ABuffFrameIcon then
ABuffFrameIcon:SetTexCoord(0.03, 0.97, 0.03, 0.97)
end
local ABuffFrameDuration = _G[self..index.."Duration"]
if ABuffFrameDuration then
ABuffFrameDuration:SetDrawLayer("OVERLAY")
ABuffFrameDuration:ClearAllPoints()
ABuffFrameDuration:SetPoint("BOTTOM", ABuffFrame, "BOTTOM", 1, -15.5)
ABuffFrameDuration:SetFont(C.Media.Font, 12, "THINOUTLINE")
ABuffFrameDuration:SetShadowOffset(1, -1)
ABuffFrameDuration:SetShadowColor(0, 0, 0)
ABuffFrameDuration:SetAlpha(0)
end
local ABuffFrameCount = _G[self..index.."Count"]
if ABuffFrameCount then
ABuffFrameCount:SetDrawLayer("OVERLAY")
ABuffFrameCount:ClearAllPoints()
ABuffFrameCount:SetPoint("BOTTOMRIGHT", ABuffFrame, 1, 1)
ABuffFrameCount:SetFont(C.Media.Font, 12.5, "THINOUTLINE")
ABuffFrameCount:SetShadowOffset(1, -1)
ABuffFrameCount:SetShadowColor(0, 0, 0)
end
local ABuffFrameBorder = _G[self..index.."Border"]
if ABuffFrameBorder then
local R, G, B = ABuffFrameBorder:GetVertexColor()
ABuffFrameBorder:Hide()
ABuffFrameBorder:SetTexture(nil)
A.ColorBorder(ABuffFrame, R, G, B)
end
end)
BuffFrame:HookScript("OnUpdate", function()
local GetDurationTime = GetTime()
for i = 1, BUFF_ACTUAL_DISPLAY do
local button = _G["BuffButton"..i]
if button.timeLeft then
button.StatusBar:SetValue(GetDurationTime)
end
end
for i = 1, DEBUFF_ACTUAL_DISPLAY do
local button = _G["DebuffButton"..i]
if button.timeLeft then
button.StatusBar:SetValue(GetDurationTime)
end
end
end)