Quantcast

-Added descriptions to the anchors

Xruptor [01-17-11 - 17:30]
-Added descriptions to the anchors
-Refresh display when turning on/off auras
-Changed the anchor background so it doesn't conflict with xanDebuffTimers
-Had to add a check for nil or empty durations.
Filename
XanBuffTimers.lua
diff --git a/XanBuffTimers.lua b/XanBuffTimers.lua
index f4e3837..a61c172 100644
--- a/XanBuffTimers.lua
+++ b/XanBuffTimers.lua
@@ -33,8 +33,8 @@ function f:PLAYER_LOGIN()
 	if XBT_DB.auras == nil then XBT_DB.auras = false end

 	--create our anchors
-	f:CreateAnchor("XBT_Anchor", UIParent)
-	f:CreateAnchor("XBT_FocusAnchor", UIParent)
+	f:CreateAnchor("XBT_Anchor", UIParent, "xanBuffTimers: Target Anchor")
+	f:CreateAnchor("XBT_FocusAnchor", UIParent, "xanBuffTimers: Focus Anchor")

 	--create our timers
 	for i=1,MAX_TIMERS do
@@ -105,6 +105,15 @@ function f:PLAYER_LOGIN()
 					XBT_DB.auras = true
 					DEFAULT_CHAT_FRAME:AddMessage("xanBuffTimers: Buff Auras [|cFF99CC33ON|r]")
 				end
+				--update the buff display
+				if UnitName("target") and UnitGUID("target") then
+					targetGUID = UnitGUID("target")
+					f:ProcessBuffs("target", timers)
+				end
+				if UnitName("focus") and UnitGUID("focus") then
+					focusGUID = UnitGUID("focus")
+					f:ProcessBuffs("focus", timersFocus)
+				end
 				return true
 			end
 		end
@@ -179,7 +188,7 @@ end
 --  Frame Creation  --
 ----------------------

-function f:CreateAnchor(name, parent)
+function f:CreateAnchor(name, parent, desc)

 	--create the anchor
 	local frameAnchor = CreateFrame("Frame", name, parent)
@@ -202,8 +211,8 @@ function f:CreateAnchor(name, parent)
 			edgeSize = 16,
 			insets = { left = 5, right = 5, top = 5, bottom = 5 }
 	})
-	frameAnchor:SetBackdropColor(0.75,0,0,1)
-	frameAnchor:SetBackdropBorderColor(0.75,0,0,1)
+	frameAnchor:SetBackdropColor(0,183/255,239/255,1)
+	frameAnchor:SetBackdropBorderColor(0,183/255,239/255,1)

 	frameAnchor:SetScript("OnLeave",function(self)
 		GameTooltip:Hide()
@@ -216,6 +225,9 @@ function f:CreateAnchor(name, parent)
 		GameTooltip:ClearLines()

 		GameTooltip:AddLine(name)
+		if desc then
+			GameTooltip:AddLine(desc)
+		end
 		GameTooltip:Show()
 	end)

@@ -350,14 +362,14 @@ function f:ProcessBuffs(sT, sdTimer)
 		if XBT_DB.auras then
 			--auras are on so basically were allowing everything
 			passChk = true
-		elseif not XBT_DB.auras and duration > 0 then
+		elseif not XBT_DB.auras and duration and duration > 0 then
 			--auras are not on but the duration is greater then zero, so allow
 			passChk = true
 		end

 		--UnitIsUnit is used JUST IN CASE (you never know lol)
 		if passChk and name and unitCaster and UnitIsUnit(unitCaster, "player") then
-			if duration <= 0 then expTime = 0 end --just in case for non-cancel auras
+			if not duration or duration <= 0 then expTime = 0 end --just in case for non-cancel auras
 			sdTimer[i].id = sT
 			sdTimer[i].spellName = name
 			sdTimer[i].spellId = spellId