Managed to fix this yesterday, thanks Vlad & Phanx!
Lua Code:
hooksecurefunc("AuraButton_Update", function(self, index, filter)
local ABuffFrame = _G[self..index]
if not ABuffFrame then return end
ABuffFrame:SetSize(BuffSize, BuffSize)
A.CreateBorder(ABuffFrame, true, BuffSize, BuffSize)
local ABuffFrameIcon = _G[self..index.."Icon"]
ABuffFrameIcon:SetTexCoord(unpack(A.TexCoords))
local BuffStatusBar = ABuffFrame.StatusBar
if not BuffStatusBar then
BuffStatusBar = CreateFrame("StatusBar", nil, ABuffFrame)
BuffStatusBar:SetSize(BuffSize, 6)
BuffStatusBar:SetPoint("BOTTOM", ABuffFrame, 0, -9)
BuffStatusBar:SetStatusBarTexture("Interface\\Buttons\\WHITE8x8")
BuffStatusBar:SetMinMaxValues(0, 1)
BuffStatusBar:SetBackdrop({
bgFile = "Interface\\Buttons\\WHITE8x8",
insets = {top = A.Scale(1), left = A.Scale(1), bottom = A.Scale(1), right = A.Scale(1)},
})
A.CreateBorder(BuffStatusBar)
ABuffFrame.StatusBar = BuffStatusBar
end
local TimeLeft = 0
BuffStatusBar:SetScript("OnUpdate", function(self, Elapsed)
TimeLeft = TimeLeft - Elapsed
if (TimeLeft <= 0) then
local Name, Rank, Texture, Count, DType, Duration, ExpirationTime, Caster, IsStealable, IsConsolidate, SpellID, CanApplyAura, IsBossDebuff = UnitAura(ABuffFrame.unit, index, filter)
if (Duration > 0 and ExpirationTime and not IsConsolidate) then
local GetDurationTime = GetTime()
BuffStatusBar:SetValue((ExpirationTime - GetDurationTime) / Duration)
local R, G, B = A.ColorGradient((ExpirationTime - GetDurationTime), Duration, 0.8, 0, 0, 0.8, 0.8, 0, 0, 0.8, 0)
BuffStatusBar:SetStatusBarColor(R, G, B)
BuffStatusBar:SetBackdropColor(R*0.5, G*0.5, B*0.5)
else
local Min, Max = BuffStatusBar:GetMinMaxValues()
BuffStatusBar:SetValue(Max)
BuffStatusBar:SetStatusBarColor(0, 0.8, 0)
end
TimeLeft = 0.01
end
end)
local ABuffFrameDuration = _G[self..index.."Duration"]
--ABuffFrameDuration:ClearAllPoints()
--ABuffFrameDuration:SetPoint("BOTTOM", ABuffFrame, "BOTTOM", 1, -15.5)
--ABuffFrameDuration:SetFont(Font2, 12, "THINOUTLINE")
--ABuffFrameDuration:SetShadowOffset(1, -1)
--ABuffFrameDuration:SetShadowColor(0, 0, 0)
ABuffFrameDuration:SetAlpha(0)
local ABuffFrameCount = _G[self..index.."Count"]
ABuffFrameCount:ClearAllPoints()
ABuffFrameCount:SetPoint("BOTTOMRIGHT", ABuffFrame, -1.5, 4)
ABuffFrameCount:SetFont(Font2, 12.5, "THINOUTLINE")
ABuffFrameCount:SetShadowOffset(1, -1)
ABuffFrameCount:SetShadowColor(0, 0, 0)
local ABuffFrameBorder = _G[self..index.."Border"]
if ABuffFrameBorder then
ABuffFrameBorder:SetTexture(nil)
ABuffFrameBorder:Hide()
local R, G, B = ABuffFrameBorder:GetVertexColor()
A.ColorBorder(ABuffFrame, R, G, B)
A.ColorBorder(BuffStatusBar, R, G, B)
end
end)