View Single Post
02-15-17, 04:55 AM   #32
Aftermathhqt
A Molten Giant
 
Aftermathhqt's Avatar
AddOn Author - Click to view addons
Join Date: Dec 2009
Posts: 784
Managed to fix this yesterday, thanks Vlad & Phanx!

Lua Code:
  1. hooksecurefunc("AuraButton_Update", function(self, index, filter)  
  2.     local ABuffFrame = _G[self..index]
  3.     if not ABuffFrame then return end
  4.  
  5.     ABuffFrame:SetSize(BuffSize, BuffSize)
  6.     A.CreateBorder(ABuffFrame, true, BuffSize, BuffSize)
  7.    
  8.     local ABuffFrameIcon = _G[self..index.."Icon"]
  9.     ABuffFrameIcon:SetTexCoord(unpack(A.TexCoords))
  10.  
  11.     local BuffStatusBar = ABuffFrame.StatusBar
  12.     if not BuffStatusBar then      
  13.         BuffStatusBar = CreateFrame("StatusBar", nil, ABuffFrame)
  14.         BuffStatusBar:SetSize(BuffSize, 6)
  15.         BuffStatusBar:SetPoint("BOTTOM", ABuffFrame, 0, -9)
  16.        
  17.         BuffStatusBar:SetStatusBarTexture("Interface\\Buttons\\WHITE8x8")
  18.         BuffStatusBar:SetMinMaxValues(0, 1)
  19.        
  20.         BuffStatusBar:SetBackdrop({
  21.             bgFile = "Interface\\Buttons\\WHITE8x8",
  22.             insets = {top = A.Scale(1), left = A.Scale(1), bottom = A.Scale(1), right = A.Scale(1)},
  23.         })
  24.        
  25.         A.CreateBorder(BuffStatusBar)
  26.  
  27.         ABuffFrame.StatusBar = BuffStatusBar
  28.     end
  29.    
  30.     local TimeLeft = 0
  31.    
  32.     BuffStatusBar:SetScript("OnUpdate", function(self, Elapsed)
  33.         TimeLeft = TimeLeft - Elapsed
  34.    
  35.         if (TimeLeft <= 0) then
  36.        
  37.             local Name, Rank, Texture, Count, DType, Duration, ExpirationTime, Caster, IsStealable, IsConsolidate, SpellID, CanApplyAura, IsBossDebuff = UnitAura(ABuffFrame.unit, index, filter)
  38.             if (Duration > 0 and ExpirationTime and not IsConsolidate) then
  39.                 local GetDurationTime = GetTime()
  40.                 BuffStatusBar:SetValue((ExpirationTime - GetDurationTime) / Duration)
  41.                
  42.                 local R, G, B = A.ColorGradient((ExpirationTime - GetDurationTime), Duration, 0.8, 0, 0, 0.8, 0.8, 0, 0, 0.8, 0)
  43.                 BuffStatusBar:SetStatusBarColor(R, G, B)
  44.                 BuffStatusBar:SetBackdropColor(R*0.5, G*0.5, B*0.5)
  45.             else
  46.                 local Min, Max = BuffStatusBar:GetMinMaxValues()
  47.                 BuffStatusBar:SetValue(Max)
  48.                 BuffStatusBar:SetStatusBarColor(0, 0.8, 0)
  49.             end
  50.            
  51.             TimeLeft = 0.01
  52.         end
  53.     end)
  54.  
  55.     local ABuffFrameDuration = _G[self..index.."Duration"]
  56.     --ABuffFrameDuration:ClearAllPoints()
  57.     --ABuffFrameDuration:SetPoint("BOTTOM", ABuffFrame, "BOTTOM", 1, -15.5)
  58.     --ABuffFrameDuration:SetFont(Font2, 12, "THINOUTLINE")
  59.     --ABuffFrameDuration:SetShadowOffset(1, -1)
  60.     --ABuffFrameDuration:SetShadowColor(0, 0, 0)
  61.     ABuffFrameDuration:SetAlpha(0)
  62.  
  63.     local ABuffFrameCount = _G[self..index.."Count"]
  64.     ABuffFrameCount:ClearAllPoints()
  65.     ABuffFrameCount:SetPoint("BOTTOMRIGHT", ABuffFrame, -1.5, 4)
  66.     ABuffFrameCount:SetFont(Font2, 12.5, "THINOUTLINE")
  67.     ABuffFrameCount:SetShadowOffset(1, -1)
  68.     ABuffFrameCount:SetShadowColor(0, 0, 0)
  69.  
  70.     local ABuffFrameBorder = _G[self..index.."Border"]
  71.     if ABuffFrameBorder then
  72.         ABuffFrameBorder:SetTexture(nil)
  73.         ABuffFrameBorder:Hide()
  74.        
  75.         local R, G, B = ABuffFrameBorder:GetVertexColor()
  76.         A.ColorBorder(ABuffFrame, R, G, B)
  77.         A.ColorBorder(BuffStatusBar, R, G, B)
  78.     end
  79. end)
  Reply With Quote