Quantcast

update to 4.08.1

Munglunch [08-19-14 - 18:43]
update to 4.08.1
Filename
Interface/AddOns/SVUI/SVUI.toc
Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Afflicted/oUF_Afflicted.toc
Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.lua
Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc
Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Combatant/oUF_Combatant.toc
Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_GPS/oUF_GPS.toc
Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_HyperCombo/oUF_HyperCombo.lua
Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_TotemBars/oUF_TotemBars.lua
Interface/AddOns/SVUI/packages/stats/SVStats.lua
Interface/AddOns/SVUI/packages/stats/stats/bags.lua
Interface/AddOns/SVUI/packages/stats/stats/cta.lua
Interface/AddOns/SVUI/packages/stats/stats/dps.lua
Interface/AddOns/SVUI/packages/stats/stats/durability.lua
Interface/AddOns/SVUI/packages/stats/stats/friends.lua
Interface/AddOns/SVUI/packages/stats/stats/guild.lua
Interface/AddOns/SVUI/packages/stats/stats/hps.lua
Interface/AddOns/SVUI/packages/stats/stats/time.lua
Interface/AddOns/SVUI/packages/unit/resources/druid.lua
Interface/AddOns/SVUI/scripts/misc.lua
Interface/AddOns/SVUI/system/database.lua
Interface/AddOns/SVUI/system/slash.lua
Interface/AddOns/SVUI_AnsweringService/SVUI_AnsweringService.toc
Interface/AddOns/SVUI_ArtOfWar/SVUI_ArtOfWar.toc
Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
Interface/AddOns/SVUI_Laborer/SVUI_Laborer.toc
Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc
Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
diff --git a/Interface/AddOns/SVUI/SVUI.toc b/Interface/AddOns/SVUI/SVUI.toc
index c6a7b15..371f165 100644
--- a/Interface/AddOns/SVUI/SVUI.toc
+++ b/Interface/AddOns/SVUI/SVUI.toc
@@ -1,6 +1,6 @@
 ## Interface: 50400
 ## Author: Munglunch
-## Version: 4.08
+## Version: 4.081
 ## Title: |cffFF9900SVUI|r
 ## Notes: Supervillain UI [|cff9911FFCore Framework|r].
 ## SavedVariables: SVUI_Global
diff --git a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ActionPanel/oUF_ActionPanel.toc b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
index f58eee1..789651c 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
+++ b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
@@ -2,7 +2,7 @@
 ## Title: oUF ActionPanel
 ## Notes: Adds a backing to all unit frames that provides many utilities.
 ## Author: Munglunch
-## Version: 1.00
+## Version: 1.081
 ## X-Category: oUF
 ## Dependencies: oUF

diff --git a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Afflicted/oUF_Afflicted.toc b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Afflicted/oUF_Afflicted.toc
index 16f281c..8d88588 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Afflicted/oUF_Afflicted.toc
+++ b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Afflicted/oUF_Afflicted.toc
@@ -2,7 +2,7 @@
 ## Title: oUF Afflicted
 ## Notes: Adds Custom Debuff Highlighting to oUF.
 ## Author: Munglunch
-## Version: 1.00
+## Version: 1.081
 ## X-Category: oUF
 ## Dependencies: oUF

diff --git a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.lua b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.lua
index 661687e..55456bd 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.lua
+++ b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.lua
@@ -1,9 +1,9 @@
+if select(2, UnitClass('player')) ~= "MAGE" then return end
+
 local _, ns = ...
 local oUF = oUF or ns.oUF
 if not oUF then return end

-if select(2, UnitClass('player')) ~= "MAGE" then return end
-
 local function UpdateBar(self, elapsed)
 	if not self.expirationTime then return end
 	self.elapsed = (self.elapsed or 0) + elapsed
diff --git a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc
index 5c17b0f..b859c16 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc
+++ b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc
@@ -2,7 +2,7 @@
 ## Title: oUF Arcane Charge
 ## Notes: Adds support for arcane charge indicators to oUF.
 ## Author: Munglunch
-## Version: 1.0.0
+## Version: 1.081
 ## Dependencies: oUF

 oUF_ArcaneCharge.lua
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Combatant/oUF_Combatant.toc b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Combatant/oUF_Combatant.toc
index a14926f..98aa9fc 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Combatant/oUF_Combatant.toc
+++ b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Combatant/oUF_Combatant.toc
@@ -2,7 +2,7 @@
 ## Title: oUF Combatant
 ## Notes: Adds PvP trinket status and spec icons to oUF frames.
 ## Author: Munglunch
-## Version: 1.00
+## Version: 1.0810
 ## X-Category: oUF
 ## Dependencies: oUF

diff --git a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_GPS/oUF_GPS.toc b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_GPS/oUF_GPS.toc
index d8d5171..cdca787 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_GPS/oUF_GPS.toc
+++ b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_GPS/oUF_GPS.toc
@@ -1,7 +1,7 @@
 ## Interface: 50001
 ## Title: oUF GPS
 ## Notes: Adds GPS arrow to frames.
-## Author: Omega1970
+## Author: Omega1970, Munglunch
 ## Version: 1.00
 ## X-Category: oUF
 ## Dependencies: oUF
diff --git a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_HyperCombo/oUF_HyperCombo.lua b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_HyperCombo/oUF_HyperCombo.lua
index 1411b50..f7a0bb8 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_HyperCombo/oUF_HyperCombo.lua
+++ b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_HyperCombo/oUF_HyperCombo.lua
@@ -1,9 +1,11 @@
+local class = select(2, UnitClass("player"));
+if(class ~= "ROGUE" and class ~= "DRUID") then return end
+
 local parent, ns = ...
 local oUF = ns.oUF

 local GetComboPoints = GetComboPoints
 local MAX_COMBO_POINTS = MAX_COMBO_POINTS
-local class = select(2, UnitClass("player"));
 local GUILE1 = GetSpellInfo(84745)
 local GUILE2 = GetSpellInfo(84746)
 local GUILE3 = GetSpellInfo(84747)
@@ -63,20 +65,20 @@ local Update = function(self, event, unit)
 		end
 	end

-	if(tracker) then
-		if(current > 0) then
-			tracker.Text:SetText(current)
-			tracker.Text:SetTextColor(unpack(TextColors[current]))
-		elseif(bar.LAST_COMBO_POINTS > 0) then
-			tracker.Text:SetText(bar.LAST_COMBO_POINTS)
-			tracker.Text:SetTextColor(0.5,0.5,1)
-		else
-			tracker.Text:SetText("0")
-			tracker.Text:SetTextColor(0.3,0.3,0.3)
+	if(class == "ROGUE") then
+		if(tracker) then
+			if(current > 0) then
+				tracker.Text:SetText(current)
+				tracker.Text:SetTextColor(unpack(TextColors[current]))
+			elseif(bar.LAST_COMBO_POINTS > 0) then
+				tracker.Text:SetText(bar.LAST_COMBO_POINTS)
+				tracker.Text:SetTextColor(0.5,0.5,1)
+			else
+				tracker.Text:SetText("0")
+				tracker.Text:SetTextColor(0.3,0.3,0.3)
+			end
 		end
-	end

-	if(class == "ROGUE") then
 		local anticipation = bar.Anticipation;
 		if(anticipation) then
 			local anti = select(4, UnitBuff("player", ANTICIPATION)) -- Anticipation stacks
@@ -97,6 +99,23 @@ local Update = function(self, event, unit)
 				guile.Text:SetText("")
 			end
 		end
+	else
+		if(tracker) then
+			if(GetShapeshiftForm() == 3) then
+				if(current > 0) then
+					tracker.Text:SetText(current)
+					tracker.Text:SetTextColor(unpack(TextColors[current]))
+				elseif(bar.LAST_COMBO_POINTS > 0) then
+					tracker.Text:SetText(bar.LAST_COMBO_POINTS)
+					tracker.Text:SetTextColor(0.5,0.5,1)
+				else
+					tracker.Text:SetText("0")
+					tracker.Text:SetTextColor(0.3,0.3,0.3)
+				end
+			else
+				tracker.Text:SetText("")
+			end
+		end
 	end

 	if(bar.PostUpdate) then
@@ -108,7 +127,7 @@ local Path = function(self, ...)
 	return (self.HyperCombo.Override or Update) (self, ...)
 end

-local RogueTracker = function(self, ...)
+local Tracker = function(self, ...)
 	local bar = self.HyperCombo
 	if(UnitHasVehicleUI'player') then
 		bar.LAST_COMBO_POINTS = GetComboPoints('vehicle', 'target')
@@ -118,33 +137,6 @@ local RogueTracker = function(self, ...)
 	return Path(self, ...)
 end

---index = GetShapeshiftForm()
-
-local DruidPath = function(self, ...)
-	local bar = self.HyperCombo
-	if(GetShapeshiftForm() == 3) then
-		bar:Show()
-		return (bar.Override or Update) (self, ...)
-	else
-		bar:Hide()
-	end
-end
-
-local DruidTracker = function(self, ...)
-	local bar = self.HyperCombo
-	if(GetShapeshiftForm() == 3) then
-		bar:Show()
-		if(UnitHasVehicleUI'player') then
-			bar.LAST_COMBO_POINTS = GetComboPoints('vehicle', 'target')
-		else
-			bar.LAST_COMBO_POINTS = GetComboPoints('player', 'target')
-		end
-		return DruidPath(self, ...)
-	else
-		bar:Hide()
-	end
-end
-
 local ForceUpdate = function(element)
 	return Path(element.__owner, 'ForceUpdate', element.__owner.unit)
 end
@@ -157,15 +149,9 @@ local Enable = function(self)
 		bar.EXISTING_COMBO_POINTS = 0
 		bar.LAST_COMBO_POINTS = 0

-		if(class == "DRUID") then
-			self:RegisterEvent('UNIT_COMBO_POINTS', DruidTracker, true)
-			self:RegisterEvent('PLAYER_TARGET_CHANGED', DruidPath, true)
-			self:RegisterEvent('UNIT_AURA', DruidPath, true)
-		else
-			self:RegisterEvent('UNIT_COMBO_POINTS', RogueTracker, true)
-			self:RegisterEvent('PLAYER_TARGET_CHANGED', Path, true)
-			self:RegisterEvent('UNIT_AURA', Path, true)
-		end
+		self:RegisterEvent('UNIT_COMBO_POINTS', Tracker, true)
+		self:RegisterEvent('PLAYER_TARGET_CHANGED', Path, true)
+		self:RegisterEvent('UNIT_AURA', Path, true)

 		local cpoints = bar.CPoints;
 		if(cpoints) then
@@ -190,20 +176,10 @@ local Disable = function(self)
 				cpoints[index]:Hide()
 			end
 		end
-		if(class == "DRUID") then
-			self:UnregisterEvent('UNIT_COMBO_POINTS', DruidTracker)
-			self:UnregisterEvent('PLAYER_TARGET_CHANGED', DruidPath)
-			self:UnregisterEvent('UNIT_AURA', DruidPath)
-		else
-			self:UnregisterEvent('UNIT_COMBO_POINTS', RogueTracker)
-			self:UnregisterEvent('PLAYER_TARGET_CHANGED', Path)
-			self:UnregisterEvent('UNIT_AURA', Path)
-		end
+		self:UnregisterEvent('UNIT_COMBO_POINTS', Tracker)
+		self:UnregisterEvent('PLAYER_TARGET_CHANGED', Path)
+		self:UnregisterEvent('UNIT_AURA', Path)
 	end
 end

-if(class == "DRUID") then
-	oUF:AddElement('HyperCombo', DruidPath, Enable, Disable)
-else
-	oUF:AddElement('HyperCombo', Path, Enable, Disable)
-end
+oUF:AddElement('HyperCombo', Path, Enable, Disable)
diff --git a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_TotemBars/oUF_TotemBars.lua b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_TotemBars/oUF_TotemBars.lua
index 03e186e..948541b 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_TotemBars/oUF_TotemBars.lua
+++ b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_TotemBars/oUF_TotemBars.lua
@@ -1,3 +1,6 @@
+local class = select(2, UnitClass('player'))
+if(class ~= 'SHAMAN') then return end
+
 local parent, ns = ...
 local oUF = ns.oUF

@@ -8,69 +11,55 @@ oUF.colors.totems = {
 	[AIR_TOTEM_SLOT] = { 132/255, 056/255, 231/255 }
 }

-local priorities = STANDARD_TOTEM_PRIORITIES
-if(select(2, UnitClass'player') == 'SHAMAN') then
-	priorities = SHAMAN_TOTEM_PRIORITIES
-end
-
-local OnClick = function(self)
-	DestroyTotem(self:GetID())
-end
-
-local UpdateTooltip = function(self)
-	GameTooltip:SetTotem(self:GetID())
-end
-
-local OnEnter = function(self)
-	if(not self:IsVisible()) then return end
-	GameTooltip:SetOwner(self, 'ANCHOR_BOTTOMRIGHT')
-	self:UpdateTooltip()
-end
-
-local OnLeave = function()
-	GameTooltip:Hide()
-end
-
-local function UpdateBar(self, elapsed)
-	if not self.expirationTime then return end
-	self.elapsed = (self.elapsed or 0) + elapsed
-	if self.elapsed >= 0.5 then
-		local timeLeft = self.expirationTime - GetTime()
-		if timeLeft > 0 then
-			self:SetValue(timeLeft)
+local total = 0
+local delay = 0.01
+local GetTotemInfo, SetValue, GetTime = GetTotemInfo, SetValue, GetTime
+local haveTotem, name, startTime, duration, totemIcon
+local priorities = SHAMAN_TOTEM_PRIORITIES or STANDARD_TOTEM_PRIORITIES
+
+local Totem_OnUpdate = function(self, elapsed)
+	total = total + elapsed
+	if total >= delay then
+		total = 0
+		haveTotem, name, startTime, duration, totemIcon = GetTotemInfo(self.ID)
+		if ((GetTime() - startTime) == 0) or (duration == 0) then
+			self:SetValue(0)
 		else
-			self:SetScript("OnUpdate", nil)
+			self:SetValue(1 - ((GetTime() - startTime) / duration))
 		end
-	end
+	end
 end

-local UpdateTotem = function(self, event, slot)
-	if(slot > MAX_TOTEMS) then return end
+local UpdateTotem = function(self, slot)
 	local totems = self.TotemBars
-
+	if(slot > MAX_TOTEMS or not priorities[slot]) then return end
 	local totem = totems[priorities[slot]]
-	if(totem) then
-		local haveTotem, name, start, duration, icon = GetTotemInfo(slot)
-		local timeLeft = (start + duration) - GetTime()
-		totem:SetMinMaxValues(0,duration)
-
-		if(timeLeft > 0) then
-			totem.expirationTime = (start + duration)
-			totem:SetValue(timeLeft)
-			totem:SetScript('OnUpdate', UpdateBar)
+	if not totem then return end
+
+	haveTotem, name, startTime, duration, totemIcon = GetTotemInfo(slot)
+	totem:SetValue(0)
+	totem.ID = slot
+
+	if(haveTotem) then
+		if(duration > 0) then
+			totem:SetValue(1 - ((GetTime() - startTime) / duration))
+			totem:SetScript("OnUpdate", Totem_OnUpdate)
 		else
+			totem:SetScript("OnUpdate",nil)
 			totem:SetValue(0)
-			totem:SetScript('OnUpdate', nil)
-		end
+		end
+	else
+		totem:SetValue(0)
 	end
 end

 local Update = function(self, event)
 	local totems = self.TotemBars
+
 	if(totems.PreUpdate) then totems:PreUpdate() end

 	for i = 1, MAX_TOTEMS do
-		UpdateTotem(self, event, i)
+		UpdateTotem(self, i)
 	end

 	if(totems.PostUpdate) then
@@ -90,6 +79,8 @@ local Enable = function(self)
 	local totems = self.TotemBars

 	if(totems) then
+		self:RegisterEvent('PLAYER_TOTEM_UPDATE', Path, true)
+
 		totems.__owner = self
 		totems.__map = { unpack(priorities) }
 		totems.ForceUpdate = ForceUpdate
@@ -97,30 +88,15 @@ local Enable = function(self)
 		for i = 1, MAX_TOTEMS do
 			local totem = totems[i]
 			totem:SetID(priorities[i])
-
-			if(totem:HasScript'OnClick') then
-				totem:SetScript('OnClick', OnClick)
-			end
-
-			if(totem:IsMouseEnabled()) then
-				totem:SetScript('OnEnter', OnEnter)
-				totem:SetScript('OnLeave', OnLeave)
-
-				if(not totem.UpdateTooltip) then
-					totem.UpdateTooltip = UpdateTooltip
-				end
-			end
 		end

-		self:RegisterEvent('PLAYER_TOTEM_UPDATE', Path, true)
-
 		TotemFrame.Show = TotemFrame.Hide
 		TotemFrame:Hide()

-		TotemFrame:UnregisterEvent"PLAYER_TOTEM_UPDATE"
-		TotemFrame:UnregisterEvent"PLAYER_ENTERING_WORLD"
-		TotemFrame:UnregisterEvent"UPDATE_SHAPESHIFT_FORM"
-		TotemFrame:UnregisterEvent"PLAYER_TALENT_UPDATE"
+		TotemFrame:UnregisterEvent("PLAYER_TOTEM_UPDATE")
+		TotemFrame:UnregisterEvent("PLAYER_ENTERING_WORLD")
+		TotemFrame:UnregisterEvent("UPDATE_SHAPESHIFT_FORM")
+		TotemFrame:UnregisterEvent("PLAYER_TALENT_UPDATE")

 		return true
 	end
@@ -134,13 +110,13 @@ local Disable = function(self)
 		TotemFrame.Show = nil
 		TotemFrame:Show()

-		TotemFrame:RegisterEvent"PLAYER_TOTEM_UPDATE"
-		TotemFrame:RegisterEvent"PLAYER_ENTERING_WORLD"
-		TotemFrame:RegisterEvent"UPDATE_SHAPESHIFT_FORM"
-		TotemFrame:RegisterEvent"PLAYER_TALENT_UPDATE"
+		TotemFrame:RegisterEvent("PLAYER_TOTEM_UPDATE")
+		TotemFrame:RegisterEvent("PLAYER_ENTERING_WORLD")
+		TotemFrame:RegisterEvent("UPDATE_SHAPESHIFT_FORM")
+		TotemFrame:RegisterEvent("PLAYER_TALENT_UPDATE")

 		self:UnregisterEvent('PLAYER_TOTEM_UPDATE', Path)
 	end
 end
-
+
 oUF:AddElement("TotemBars", Path, Enable, Disable)
diff --git a/Interface/AddOns/SVUI/packages/stats/SVStats.lua b/Interface/AddOns/SVUI/packages/stats/SVStats.lua
index 0901c80..320fd19 100644
--- a/Interface/AddOns/SVUI/packages/stats/SVStats.lua
+++ b/Interface/AddOns/SVUI/packages/stats/SVStats.lua
@@ -53,7 +53,7 @@ LOCAL VARIABLES
 ]]--
 local playerName = UnitName("player");
 local playerRealm = GetRealmName();
-local hexString = "|cffFFFFFF";
+local hexString = "FFFFFF";
 local myName = UnitName("player");
 local myClass = select(2,UnitClass("player"));
 local classColor = RAID_CLASS_COLORS[myClass];
@@ -541,7 +541,7 @@ do
 	end

 	local BGStatColorUpdate = function()
-		BGStatString = join("", "%s: ", hexString, "%s|r")
+		BGStatString = join("", "%s: |cff", hexString, "%s|r")
 		if BGStatPrev ~= nil then
 			BG_OnUpdate(BGStatPrev)
 		end
@@ -559,7 +559,7 @@ function MOD:ReLoad()
 end

 function MOD:Load()
-	hexString = SuperVillain:HexColor("highlight") or "|cffFFFFFF"
+	hexString = SuperVillain:HexColor("highlight") or "FFFFFF"
 	SVUI_Global["Accountant"] = SVUI_Global["Accountant"] or {};
 	SVUI_Global["Accountant"][playerRealm] = SVUI_Global["Accountant"][playerRealm] or {};
 	SVUI_Global["Accountant"][playerRealm]["gold"] = SVUI_Global["Accountant"][playerRealm]["gold"] or {};
diff --git a/Interface/AddOns/SVUI/packages/stats/stats/bags.lua b/Interface/AddOns/SVUI/packages/stats/stats/bags.lua
index 979272f..9156da3 100644
--- a/Interface/AddOns/SVUI/packages/stats/stats/bags.lua
+++ b/Interface/AddOns/SVUI/packages/stats/stats/bags.lua
@@ -57,8 +57,8 @@ BAG STATS
 ##########################################################
 ]]--
 local StatEvents = {"PLAYER_ENTERING_WORLD", "BAG_UPDATE"};
-
-local bags_text = "";
+local hexColor = "FFFFFF"
+local bags_text = "%s|cff%s%d / %d|r";
 local currentObject;

 local function bags_events(this, e, ...)
@@ -69,7 +69,7 @@ local function bags_events(this, e, ...)
 		g + GetContainerNumSlots(i)
 	end;
 	h = g - f;
-	this.text:SetFormattedText(bags_text, L["Bags"]..": ", h, g)
+	this.text:SetFormattedText(bags_text, L["Bags"]..": ", hexColor, h, g)
 end;

 local function bags_click()
@@ -92,10 +92,8 @@ local function bags_focus(this)
 end;

 local BagsColorUpdate = function()
-	local r = SuperVillain:HexColor("highlight");
-	local s, t, u = unpack(SuperVillain.Media.color.highlight)
-	bags_text = join("", "%s", r, "%d / %d|r")
-	if currentObject  ~= nil then
+	hexColor = SuperVillain:HexColor("highlight")
+	if currentObject ~= nil then
 		bags_events(currentObject)
 	end
 end;
diff --git a/Interface/AddOns/SVUI/packages/stats/stats/cta.lua b/Interface/AddOns/SVUI/packages/stats/stats/cta.lua
index 3d3a6a9..e4f46c2 100644
--- a/Interface/AddOns/SVUI/packages/stats/stats/cta.lua
+++ b/Interface/AddOns/SVUI/packages/stats/stats/cta.lua
@@ -58,7 +58,7 @@ CALL TO ARMS STATS
 ]]--
 local StatEvents = {"PLAYER_ENTERING_WORLD", "LFG_UPDATE_RANDOM_INFO"};

-local tooltipString = BATTLEGROUND_HOLIDAY..": N/A"
+local tooltipString = ("%s: N/A"):format(BATTLEGROUND_HOLIDAY)
 local currentObject;

 local function formatCTAtext(tanks, heals, dps)
@@ -149,7 +149,7 @@ end;

 local CTAColorUpdate = function()
 	local hexColor = SuperVillain:HexColor("highlight");
-	tooltipString = BATTLEGROUND_HOLIDAY..": "..hexColor.."N/A|r"
+	tooltipString = ("%s: |cff%sN/A|r"):format(BATTLEGROUND_HOLIDAY, hexColor)
 	if currentObject ~= nil then
 		CTA_OnEvent(currentObject)
 	end
diff --git a/Interface/AddOns/SVUI/packages/stats/stats/dps.lua b/Interface/AddOns/SVUI/packages/stats/stats/dps.lua
index 5087b02..4a2c430 100644
--- a/Interface/AddOns/SVUI/packages/stats/stats/dps.lua
+++ b/Interface/AddOns/SVUI/packages/stats/stats/dps.lua
@@ -47,7 +47,8 @@ local combatTime = 0
 local timeStamp = 0
 local lastSegment = 0
 local lastPanel
-local displayString = '';
+local hexColor = "FFFFFF"
+local displayString = "%s: |cff%s%.1f|r";

 local function Reset()
 	timeStamp = 0
@@ -63,7 +64,7 @@ local function GetDPS(self)
 	else
 		DPS = (DMGTotal) / (combatTime)
 	end
-	self.text:SetFormattedText(displayString, L["DPS"]..': ', DPS)
+	self.text:SetFormattedText(displayString, L["DPS"], hexColor, DPS)
 end

 local function DPS_OnClick(self)
@@ -110,9 +111,7 @@ local function DPS_OnEvent(self, event, ...)
 end

 local DPSColorUpdate = function()
-	local hexColor = SuperVillain:HexColor("highlight");
-	displayString = join("", "%s", hexColor, "%.1f|r")
-
+	hexColor = SuperVillain:HexColor("highlight")
 	if lastPanel ~= nil then
 		DPS_OnEvent(lastPanel)
 	end
diff --git a/Interface/AddOns/SVUI/packages/stats/stats/durability.lua b/Interface/AddOns/SVUI/packages/stats/stats/durability.lua
index 43eafb7..f410471 100644
--- a/Interface/AddOns/SVUI/packages/stats/stats/durability.lua
+++ b/Interface/AddOns/SVUI/packages/stats/stats/durability.lua
@@ -58,7 +58,8 @@ DURABILITY STATS
 ]]--
 local StatEvents = {"PLAYER_ENTERING_WORLD", "UPDATE_INVENTORY_DURABILITY", "MERCHANT_SHOW"};

-local durabilityText = "";
+local hexColor = "FFFFFF"
+local displayString = "%s: |cff%s%d%%|r";
 local overall = 0;
 local min, max, currentObject;
 local equipment = {}
@@ -94,7 +95,7 @@ local function Durability_OnEvent(self, ...)
 			end
 		end
 	end;
-	self.text:SetFormattedText(durabilityText, overall)
+	self.text:SetFormattedText(displayString, DURABILITY, hexColor, overall)
 end;

 local function DurabilityBar_OnEvent(self, ...)
@@ -136,8 +137,7 @@ local function Durability_OnEnter(self)
 end;

 local DurColorUpdate = function()
-	local hexColor = SuperVillain:HexColor("highlight");
-	durabilityText = join("", DURABILITY, ": ", hexColor, "%d%%|r")
+	hexColor = SuperVillain:HexColor("highlight")
 	if currentObject ~= nil then
 		Durability_OnEvent(currentObject)
 	end
diff --git a/Interface/AddOns/SVUI/packages/stats/stats/friends.lua b/Interface/AddOns/SVUI/packages/stats/stats/friends.lua
index 4f818b5..8b364e4 100644
--- a/Interface/AddOns/SVUI/packages/stats/stats/friends.lua
+++ b/Interface/AddOns/SVUI/packages/stats/stats/friends.lua
@@ -136,7 +136,8 @@ local wowString, scString, d3String, wtcgString  = BNET_CLIENT_WOW, BNET_CLIENT_
 local totalOnlineString = join("", FRIENDS_LIST_ONLINE, ": %s/%s")
 local tthead, ttsubh, ttoff = {r=0.4, g=0.78, b=1}, {r=0.75, g=0.9, b=1}, {r=.3,g=1,b=.3}
 local activezone, inactivezone = {r=0.3, g=1.0, b=0.3}, {r=0.65, g=0.65, b=0.65}
-local displayString = ''
+local hexColor = "FFFFFF"
+local displayString = "%s: |cff%s%d|r";
 local statusTable = { "|cffFFFFFF[|r|cffFF0000"..L['AFK'].."|r|cffFFFFFF]|r", "|cffFFFFFF[|r|cffFF0000"..L['DND'].."|r|cffFFFFFF]|r", "" }
 local groupedTable = { "|cffaaaaaa*|r", "" }
 local friendTable, BNTable, BNTableWoW, BNTableD3, BNTableSC, BNTableWTCG = {}, {}, {}, {}, {}, {}
@@ -229,8 +230,8 @@ local function OnEvent(self, event, ...)

 	-- force update when showing tooltip
 	dataValid = false
-
-	self.text:SetFormattedText(displayString, L['Friends'], onlineFriends + numBNetOnline)
+	local amt = onlineFriends + numBNetOnline
+	self.text:SetFormattedText(displayString, L['Friends'], hexColor, amt)
 	lastPanel = self
 end

@@ -372,8 +373,7 @@ local function OnEnter(self)
 end

 local FriendsColorUpdate = function()
-	local updateColor = SuperVillain:HexColor("highlight");
-	displayString = join("","%s: ", updateColor, "%d|r")
+	hexColor = SuperVillain:HexColor("highlight")
 	if lastPanel ~= nil then
 		OnEvent(lastPanel,'SVUI_COLOR_UPDATE')
 	end
diff --git a/Interface/AddOns/SVUI/packages/stats/stats/guild.lua b/Interface/AddOns/SVUI/packages/stats/stats/guild.lua
index cf139f2..2ee7e46 100644
--- a/Interface/AddOns/SVUI/packages/stats/stats/guild.lua
+++ b/Interface/AddOns/SVUI/packages/stats/stats/guild.lua
@@ -50,20 +50,23 @@ local StatEvents = {"PLAYER_ENTERING_WORLD","GUILD_ROSTER_UPDATE","GUILD_XP_UPDA

 local updatedString = "";
 local updatedString2 = "";
-local guildFormattedName = join("", GUILD, ": %d/%d");
-local guildFormattedXP = gsub(join("",SuperVillain:HexColor(0.75,0.9,1),GUILD_EXPERIENCE_CURRENT),": ",":|r |cffffffff",1);
-local guildFormattedDailyXP = gsub(join("",SuperVillain:HexColor(0.75,0.9,1),GUILD_EXPERIENCE_DAILY),": ",":|r |cffffffff",1);
-local guildFormattedFaction = join("",SuperVillain:HexColor(0.75,0.9,1),"%s:|r |cFFFFFFFF%s/%s (%s%%)");
-local guildFormattedOnline = join("","+ %d ",FRIENDS_LIST_ONLINE,"...");
-local guildFormattedNote = join("","|cff999999   ",LABEL_NOTE,":|r %s");
-local guildFormattedRank = join("","|cff999999   ",GUILD_RANK1_DESC,":|r %s");
-local GuildStatMembers,GuildStatXP,GuildStatMOTD={},{},"";
+local patternColor = SuperVillain:HexColor(0.75,0.9,1);
+local pattern1 = ("|cff%s%s"):format(patternColor, GUILD_EXPERIENCE_CURRENT);
+local pattern2 = ("|cff%s%s"):format(patternColor, GUILD_EXPERIENCE_DAILY);
+local guildFormattedName = "%s: %d/%d";
+local guildFormattedXP = gsub(pattern1, ": ", ":|r |cffFFFFFF", 1);
+local guildFormattedDailyXP = gsub(pattern2, ": ", ":|r |cffFFFFFF", 1);
+local guildFormattedFaction = join("|cff", patternColor, "%s:|r |cFFFFFFFF%s/%s (%s%%)");
+local guildFormattedOnline = join("", "+ %d ", FRIENDS_LIST_ONLINE, "...");
+local guildFormattedNote = join("", "|cff999999   ", LABEL_NOTE, ":|r %s");
+local guildFormattedRank = join("", "|cff999999   ", GUILD_RANK1_DESC, ":|r %s");
+local GuildStatMembers,GuildStatXP,GuildStatMOTD = {},{},"";
 local currentObject;

 local UnitFlagFormat = {
 	[0] = function()return "" end,
-	[1] = function()return format("|cffFFFFFF[|r|cffFF0000%s|r|cffFFFFFF]|r", L["AFK"])end,
-	[2] = function()return format("|cffFFFFFF[|r|cffFF0000%s|r|cffFFFFFF]|r", L["DND"])end
+	[1] = function()return ("|cffFFFFFF[|r|cffFF0000%s|r|cffFFFFFF]|r"):format(L["AFK"]) end,
+	[2] = function()return ("|cffFFFFFF[|r|cffFF0000%s|r|cffFFFFFF]|r"):format(L["DND"]) end
 };

 local MobileFlagFormat = {
@@ -169,7 +172,7 @@ end;

 local function MenuRightClick(self, unit)
 	GuildDatatTextRightClickMenu:Hide()
-	SetItemRef("player:"..unit, ("|Hplayer:%1$s|h[%1$s]|h"):format(unit), "LeftButton")
+	SetItemRef(("player:%s"):format(unit), ("|Hplayer:%1$s|h[%1$s]|h"):format(unit), "LeftButton")
 end;

 local function MenuLeftClick()
@@ -221,7 +224,7 @@ local function Guild_OnClick(self, button)
 					menuCountInvites = menuCountInvites + 1;
 					grouped = "";
 					MenuMap[2].menuList[menuCountInvites] = {
-						text = format("|cff%02x%02x%02x%d|r |cff%02x%02x%02x%s|r %s", levelc.r*255, levelc.g*255, levelc.b*255, info[3], classc.r*255, classc.g*255, classc.b*255, info[1], ""),
+						text = ("|cff%02x%02x%02x%d|r |cff%02x%02x%02x%s|r %s"):format(levelc.r*255, levelc.g*255, levelc.b*255, info[3], classc.r*255, classc.g*255, classc.b*255, info[1], ""),
 						arg1 = info[1],
 						notCheckable = true,
 						func = MenuInvite
@@ -232,7 +235,7 @@ local function Guild_OnClick(self, button)
 					grouped = ""
 				end;
 				MenuMap[3].menuList[menuCountWhispers] = {
-					text = format("|cff%02x%02x%02x%d|r |cff%02x%02x%02x%s|r %s", levelc.r*255, levelc.g*255, levelc.b*255, info[3], classc.r*255, classc.g*255, classc.b*255, info[1], grouped),
+					text = ("|cff%02x%02x%02x%d|r |cff%02x%02x%02x%s|r %s"):format(levelc.r*255, levelc.g*255, levelc.b*255, info[3], classc.r*255, classc.g*255, classc.b*255, info[1], grouped),
 					arg1 = info[1],
 					notCheckable = true,
 					func = MenuRightClick
@@ -256,19 +259,19 @@ local function Guild_OnEnter(self, _, ap)
 	local as, at = GetGuildInfo('player')
 	local au = GetGuildLevel()
 	if as and at and au then
-		MOD.tooltip:AddDoubleLine(format("%s [%d]", as, au), format(guildFormattedName, ar, aq), 0.4, 0.78, 1, 0.4, 0.78, 1)
+		MOD.tooltip:AddDoubleLine(("%s [%d]"):format(as, au), guildFormattedName:format(GUILD, ar, aq), 0.4, 0.78, 1, 0.4, 0.78, 1)
 		MOD.tooltip:AddLine(at, 0.4, 0.78, 1)
 	end;
 	if GuildStatMOTD ~= "" then
 		MOD.tooltip:AddLine(' ')
-		MOD.tooltip:AddLine(format("%s |cffaaaaaa- |cffffffff%s", GUILD_MOTD, GuildStatMOTD), 0.75, 0.9, 1, 1)
+		MOD.tooltip:AddLine(("%s |cffaaaaaa- |cffffffff%s"):format(GUILD_MOTD, GuildStatMOTD), 0.75, 0.9, 1, 1)
 	end;
 	local av = SuperVillain:HexColor(0.75,0.9,1)
 	if GetGuildLevel() ~= 25 then
 		if GuildStatXP[0] then
 			local Z, a0, a1 = unpack(GuildStatXP[0])
 			MOD.tooltip:AddLine(' ')
-			MOD.tooltip:AddLine(format(guildFormattedXP, TruncateString(Z), TruncateString(a0), a1))
+			MOD.tooltip:AddLine(guildFormattedXP:format(TruncateString(Z), TruncateString(a0), a1))
 		end
 	end;
 	local _, _, standingID, barMin, barMax, barValue = GetGuildFactionInfo()
@@ -276,7 +279,7 @@ local function Guild_OnEnter(self, _, ap)
 		barMax = barMax - barMin;
 		barValue = barValue - barMin;
 		barMin = 0;
-		MOD.tooltip:AddLine(format(guildFormattedFaction, COMBAT_FACTION_CHANGE, TruncateString(barValue), TruncateString(barMax), ceil(barValue / barMax * 100)))
+		MOD.tooltip:AddLine(guildFormattedFaction:format(COMBAT_FACTION_CHANGE, TruncateString(barValue), TruncateString(barMax), ceil(barValue / barMax * 100)))
 	end;
 	local zoneColor, classColor, questColor, member, groupFormat;
 	local counter = 0;
@@ -284,7 +287,7 @@ local function Guild_OnEnter(self, _, ap)
 	for X = 1, #GuildStatMembers do
 		if((30 - counter) <= 1) then
 			if((ar - 30) > 1) then
-				MOD.tooltip:AddLine(format(guildFormattedOnline, ar - 30), 0.75, 0.9, 1)
+				MOD.tooltip:AddLine(guildFormattedOnline:format(ar - 30), 0.75, 0.9, 1)
 			end;
 			break
 		end;
@@ -301,15 +304,15 @@ local function Guild_OnEnter(self, _, ap)
 			groupFormat = ""
 		end;
 		if IsShiftKeyDown() then
-			MOD.tooltip:AddDoubleLine(format("%s |cff999999-|cffffffff %s", member[1], member[2]), member[4], classColor.r, classColor.g, classColor.b, zoneColor.r, zoneColor.g, zoneColor.b)
+			MOD.tooltip:AddDoubleLine(("%s |cff999999-|cffffffff %s"):format(member[1], member[2]), member[4], classColor.r, classColor.g, classColor.b, zoneColor.r, zoneColor.g, zoneColor.b)
 			if member[5] ~= ""then
-				MOD.tooltip:AddLine(format(guildFormattedNote, member[5]), 0.75, 0.9, 1, 1)
+				MOD.tooltip:AddLine(guildFormattedNote:format(member[5]), 0.75, 0.9, 1, 1)
 			end;
 			if member[6] ~= ""then
-				MOD.tooltip:AddLine(format(guildFormattedRank, member[6]), 0.3, 1, 0.3, 1)
+				MOD.tooltip:AddLine(guildFormattedRank:format(member[6]), 0.3, 1, 0.3, 1)
 			end
 		else
-			MOD.tooltip:AddDoubleLine(format("|cff%02x%02x%02x%d|r %s%s %s", questColor.r*255, questColor.g*255, questColor.b*255, member[3], member[1], groupFormat, member[8]), member[4], classColor.r, classColor.g, classColor.b, zoneColor.r, zoneColor.g, zoneColor.b)
+			MOD.tooltip:AddDoubleLine(("|cff%02x%02x%02x%d|r %s%s %s"):format(questColor.r*255, questColor.g*255, questColor.b*255, member[3], member[1], groupFormat, member[8]), member[4], classColor.r, classColor.g, classColor.b, zoneColor.r, zoneColor.g, zoneColor.b)
 		end;
 		counter = counter + 1
 	end;
@@ -321,8 +324,8 @@ end;

 local GuildColorUpdate = function()
 	local hexColor = SuperVillain:HexColor("highlight");
-	updatedString = join("", GUILD, ": ", hexColor, "%d|r")
-	updatedString2 = join("", hexColor, L['No Guild'])
+	updatedString = join("", GUILD, ": |cff", hexColor, "%d|r")
+	updatedString2 = join("|cff", hexColor, L['No Guild'])
 	if currentObject ~= nil then
 		Guild_OnEvent(currentObject, 'SVUI_COLOR_UPDATE')
 	end
diff --git a/Interface/AddOns/SVUI/packages/stats/stats/hps.lua b/Interface/AddOns/SVUI/packages/stats/stats/hps.lua
index 3e57ea4..b119cc5 100644
--- a/Interface/AddOns/SVUI/packages/stats/stats/hps.lua
+++ b/Interface/AddOns/SVUI/packages/stats/stats/hps.lua
@@ -65,7 +65,8 @@ local combatTime = 0
 local timeStamp = 0
 local lastSegment = 0
 local lastPanel
-local displayString = '';
+local hexColor = "FFFFFF";
+local displayString = "%s: |cff%s%.1f|r";

 local join = string.join
 local max = math.max
@@ -84,7 +85,7 @@ local function GetHPS(self)
 	else
 		HPS = (healTotal) / (combatTime)
 	end
-	self.text:SetFormattedText(displayString, L["HPS"]..': ', HPS)
+	self.text:SetFormattedText(displayString, L["HPS"], hexColor, HPS)
 end

 local function HPS_OnClick(self)
@@ -128,9 +129,7 @@ local function HPS_OnEvent(self, event, ...)
 end

 local HPSColorUpdate = function()
-	local hexColor = SuperVillain:HexColor("highlight");
-	displayString = join("", "%s", hexColor, "%.1f|r")
-
+	hexColor = SuperVillain:HexColor("highlight");
 	if lastPanel ~= nil then
 		HPS_OnEvent(lastPanel)
 	end
diff --git a/Interface/AddOns/SVUI/packages/stats/stats/time.lua b/Interface/AddOns/SVUI/packages/stats/stats/time.lua
index 66105d4..3bec845 100644
--- a/Interface/AddOns/SVUI/packages/stats/stats/time.lua
+++ b/Interface/AddOns/SVUI/packages/stats/stats/time.lua
@@ -223,9 +223,9 @@ function Update(self, t)
 end

 local ColorUpdate = function()
-	local hexString = SuperVillain:HexColor("highlight")
-	europeDisplayFormat = join("", "%02d", hexString, ":|r%02d")
-	ukDisplayFormat = join("", "", "%d", hexString, ":|r%02d", hexString, " %s|r")
+	local hexColor = SuperVillain:HexColor("highlight")
+	europeDisplayFormat = join("", "%02d|cff", hexColor, ":|r%02d")
+	ukDisplayFormat = join("", "", "%d|cff", hexColor, ":|r%02d|cff", hexColor, " %s|r")
 	if lastPanel ~= nil then
 		Update(lastPanel, 20000)
 	end
diff --git a/Interface/AddOns/SVUI/packages/unit/resources/druid.lua b/Interface/AddOns/SVUI/packages/unit/resources/druid.lua
index a441acd..8afe358 100644
--- a/Interface/AddOns/SVUI/packages/unit/resources/druid.lua
+++ b/Interface/AddOns/SVUI/packages/unit/resources/druid.lua
@@ -29,7 +29,7 @@ local tostring  = _G.tostring;
 local tonumber  = _G.tonumber;
 local math 		= _G.math;
 --[[ MATH METHODS ]]--
-local random = math.random;
+local random,floor = math.random, math.floor;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -52,17 +52,20 @@ DRUID ALT MANA
 local UpdateAltPower = function(self, unit, arg1, arg2)
 	local value = self:GetParent().InfoPanel.Power;
 	if(arg1 ~= arg2) then
-		local color = oUF_SuperVillain['colors'].power['MANA']
+		local color = oUF_SuperVillain.colors.power.MANA
 		color = SuperVillain:HexColor(color[1],color[2],color[3])
-		if value:GetText()then
-			if select(4,value:GetPoint()) < 0 then
-				self.Text:SetFormattedText(color.."%d%%|r |cffD7BEA5- |r",floor(arg1/arg2*100))
+		local altValue = floor(arg1 / arg2 * 100)
+		local altStr
+		if(value:GetText()) then
+			if(select(4, value:GetPoint()) < 0) then
+				altStr = ("|cff%s%d%%|r |cffD7BEA5- |r"):format(color, altValue)
 			else
-				self.Text:SetFormattedText("|cffD7BEA5-|r"..color.." %d%%|r",floor(arg1/arg2*100))
+				altStr = ("|cffD7BEA5-|r|cff%s%d%%|r"):format(color, altValue)
 			end
 		else
-			self.Text:SetFormattedText(color.."%d%%|r",floor(arg1/arg2*100))
-		end
+			altStr = ("|cff%s%d%%|r"):format(color, altValue)
+		end
+		self.Text:SetFormattedText(altStr)
 	else
 		self.Text:SetText()
 	end
diff --git a/Interface/AddOns/SVUI/scripts/misc.lua b/Interface/AddOns/SVUI/scripts/misc.lua
index ad70cde..eacb8af 100644
--- a/Interface/AddOns/SVUI/scripts/misc.lua
+++ b/Interface/AddOns/SVUI/scripts/misc.lua
@@ -478,10 +478,30 @@ local function CreateTotemBar()
 		totem.CD:FillInner()
 		SuperVillain:AddCD(totem.CD)
 		totem:EnableMouse(true)
-		-- totem:RegisterForClicks("RightButtonUp")
-		-- totem:SetScript("OnClick", Totem_OnClick)
+
+		local t = _G['TotemFrameTotem'..i]
+		t:ClearAllPoints()
+		t:SetParent(totem)
+		t:SetAllPoints(totem)
+		t:SetFrameLevel(totem:GetFrameLevel() + 1)
+		t:SetFrameStrata(totem:GetFrameStrata())
+		t:SetAlpha(0)
+
 		TotemBar[i] = totem
 	end
+
+	hooksecurefunc("TotemFrame_Update", function()
+		for i=1, MAX_TOTEMS do
+			local t = _G['TotemFrameTotem'..i]
+			local slot = t.slot
+
+			if slot and slot > 0 then
+				t:ClearAllPoints()
+				t:SetAllPoints(_G['TotemBarTotem'..i])
+			end
+		end
+	end)
+
 	TotemBar:Show()
 	Totems:RegisterEvent("PLAYER_TOTEM_UPDATE")
 	Totems:RegisterEvent("PLAYER_ENTERING_WORLD")
diff --git a/Interface/AddOns/SVUI/system/database.lua b/Interface/AddOns/SVUI/system/database.lua
index a9c2124..4c22795 100644
--- a/Interface/AddOns/SVUI/system/database.lua
+++ b/Interface/AddOns/SVUI/system/database.lua
@@ -1108,7 +1108,7 @@ function SuperVillain:HexColor(arg1,arg2,arg3)
     r = (r < 0 or r > 1) and 0 or (r * 255)
     g = (g < 0 or g > 1) and 0 or (g * 255)
     b = (b < 0 or b > 1) and 0 or (b * 255)
-    local hexString = ("|cff%02x%02x%02x"):format(r,g,b)
+    local hexString = ("%02x%02x%02x"):format(r,g,b)
     return hexString
 end

diff --git a/Interface/AddOns/SVUI/system/slash.lua b/Interface/AddOns/SVUI/system/slash.lua
index 122a57c..a2c8a99 100644
--- a/Interface/AddOns/SVUI/system/slash.lua
+++ b/Interface/AddOns/SVUI/system/slash.lua
@@ -35,6 +35,7 @@ local MsgTest = function(warning)
 	end
 	return "SAY"
 end
+
 --[[
 ##########################################################
 LOCAL SLASH FUNCTIONS
@@ -113,7 +114,7 @@ do
 			target = ""
 		end
 		if not firstdone then
-			SendChatMessage(string.format(L["Pulling %s in %s.."], target, tostring(delay)), MsgTest(true))
+			SendChatMessage((L["Pulling %s in %s.."]):format(target, tostring(delay)), MsgTest(true))
 			firstdone = true
 			delay = delay - 1
 		end
@@ -142,7 +143,7 @@ do

 	SLASH_PULLCOUNTDOWN1 = "/jenkins"
 	SlashCmdList["PULLCOUNTDOWN"] = function(msg)
-		if tonumber(msg) ~= nil then
+		if(tonumber(msg) ~= nil) then
 			PullCountdown.Pull(msg)
 		else
 			PullCountdown.Pull()
diff --git a/Interface/AddOns/SVUI_AnsweringService/SVUI_AnsweringService.toc b/Interface/AddOns/SVUI_AnsweringService/SVUI_AnsweringService.toc
index 00f0be4..6f20a66 100644
--- a/Interface/AddOns/SVUI_AnsweringService/SVUI_AnsweringService.toc
+++ b/Interface/AddOns/SVUI_AnsweringService/SVUI_AnsweringService.toc
@@ -1,6 +1,6 @@
 ## Interface: 50400
 ## Author: Munglunch
-## Version: 1.0
+## Version: 1.081
 ## Title: |cffFF9900SVUI |r|cffFFEF00Answering Service|r
 ## Notes: Supervillain UI [|cff9911FFAutomatic Whispers|r].
 ## RequiredDeps: SVUI
diff --git a/Interface/AddOns/SVUI_ArtOfWar/SVUI_ArtOfWar.toc b/Interface/AddOns/SVUI_ArtOfWar/SVUI_ArtOfWar.toc
index 134f974..2f2e7c8 100644
--- a/Interface/AddOns/SVUI_ArtOfWar/SVUI_ArtOfWar.toc
+++ b/Interface/AddOns/SVUI_ArtOfWar/SVUI_ArtOfWar.toc
@@ -1,6 +1,6 @@
 ## Interface: 50400
 ## Author: Munglunch
-## Version: 1.0
+## Version: 1.081
 ## Title: |cffFF9900SVUI |r|cffFFEF00Art of War|r
 ## Notes: Supervillain UI [|cff9911FFPvP Tools|r].
 ## SavedVariables: SVAOW_Data
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
index bb96cbb..5f6afa2 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
+++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 50400
 ## Author: Munglunch, Elv
-## Version: 4.08
+## Version: 4.081
 ## Title: |cffFF9900SVUI |r|cffFFEF00Config O Matic|r
 ## Notes: Supervillain UI [|cff9911FFConfig Options|r]
 ## RequiredDeps: SVUI
diff --git a/Interface/AddOns/SVUI_Laborer/SVUI_Laborer.toc b/Interface/AddOns/SVUI_Laborer/SVUI_Laborer.toc
index aea9232..15c2a3b 100644
--- a/Interface/AddOns/SVUI_Laborer/SVUI_Laborer.toc
+++ b/Interface/AddOns/SVUI_Laborer/SVUI_Laborer.toc
@@ -1,6 +1,6 @@
 ## Interface: 50400
 ## Author: Munglunch
-## Version: 1.0
+## Version: 1.081
 ## Title: |cffFF9900SVUI |r|cffFFEF00Laborer|r
 ## Notes: Supervillain UI [|cff9911FFProfession Tools|r].
 ## SavedVariables: LABOR_Data
diff --git a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc
index 69029fe..a0a9371 100644
--- a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc
+++ b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 50400
 ## Author: Munglunch
-## Version: 1.0
+## Version: 1.081
 ## Title: |cffFF9900SVUI |r|cffFFEF00Log O Matic|r
 ## Notes: Supervillain UI [|cff9911FFData Logging|r].
 ## SavedVariables: SVLOG_Data
diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
index dff28a0..74bab39 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
+++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 50400
 ## Author: Munglunch, Azilroka, Sortokk
-## Version: 4.08
+## Version: 4.081
 ## Title: |cffFF9900SVUI |r|cffFFEF00Style O Matic|r
 ## Notes: Supervillain UI [|cff9911FFAddon Skins|r].
 ## RequiredDeps: SVUI