Quantcast

patch

Steven Jackson [08-24-14 - 23:07]
patch
Filename
Interface/AddOns/SVUI/SVUI.lua
Interface/AddOns/SVUI/libs/oUF/elements/castbar.lua
Interface/AddOns/SVUI/packages/bag/SVBag.lua
Interface/AddOns/SVUI/packages/map/SVMap.lua
Interface/AddOns/SVUI/packages/override/SVOverride.lua
Interface/AddOns/SVUI/system/system.lua
Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua
Interface/AddOns/SVUI_StyleOMatic/addons/spellbook.lua
Interface/AddOns/SVUI_StyleOMatic/addons/supervillain.lua
Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AdiBags.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/Altoholic.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AtlasLoot.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AuctionLite.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/BigWigs.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/DBM.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/VEM.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/_load.xml
Interface/AddOns/SVUI_StyleOMatic/common/methods.lua
diff --git a/Interface/AddOns/SVUI/SVUI.lua b/Interface/AddOns/SVUI/SVUI.lua
index 8dd3b48..03df2c0 100644
--- a/Interface/AddOns/SVUI/SVUI.lua
+++ b/Interface/AddOns/SVUI/SVUI.lua
@@ -439,8 +439,18 @@ do
                 if self.__owner.db[name] then
                     obj.db = self.__owner.db[name]
                 end
-                obj:PriorityLoad()
-                obj.PriorityLoad = nil
+
+                local halt = false
+                if(obj.db.incompatible) then
+                    for addon,_ in pairs(obj.db.incompatible) do
+                        if IsAddOnLoaded(addon) then halt = true end
+                    end
+                end
+                if(not halt) then
+                    obj:PriorityLoad()
+                    obj.PriorityLoad = nil
+                end
+
                 obj.initialized = true;
             end
         end
@@ -456,8 +466,16 @@ do
                     obj.db = self.__owner.db[name]
                 end
                 if obj.Load then
-                    obj:Load()
-                    obj.Load = nil
+                    local halt = false
+                    if(obj.db.incompatible) then
+                        for addon,_ in pairs(obj.db.incompatible) do
+                            if IsAddOnLoaded(addon) then halt = true end
+                        end
+                    end
+                    if(not halt) then
+                        obj:Load()
+                        obj.Load = nil
+                    end
                 end
                 obj.initialized = true;
             end
diff --git a/Interface/AddOns/SVUI/libs/oUF/elements/castbar.lua b/Interface/AddOns/SVUI/libs/oUF/elements/castbar.lua
index fec95e5..7de23e6 100644
--- a/Interface/AddOns/SVUI/libs/oUF/elements/castbar.lua
+++ b/Interface/AddOns/SVUI/libs/oUF/elements/castbar.lua
@@ -32,7 +32,7 @@ local UNIT_SPELLCAST_START = function(self, event, unit, spell)
 	if(self.unit ~= unit) or not unit then return end

 	local castbar = self.Castbar
-	local name, _, text, texture, startTime, endTime, _, castid, interrupt = UnitCastingInfo(unit)
+	local name, _, text, texture, startTime, endTime, tradeskill, castid, interrupt = UnitCastingInfo(unit)
 	if(not name) then
 		castbar:Hide()
 		return
@@ -40,8 +40,16 @@ local UNIT_SPELLCAST_START = function(self, event, unit, spell)

 	endTime = endTime / 1e3
 	startTime = startTime / 1e3
+
 	local max = endTime - startTime

+	-- if(tradeskill) then
+	-- 	local repeatCount = GetTradeskillRepeatCount()
+	-- 	max = (endTime * repeatCount) - startTime
+	-- else
+	-- 	max = endTime - startTime
+	-- end
+
 	castbar.castid = castid
 	castbar.duration = GetTime() - startTime
 	castbar.max = max
diff --git a/Interface/AddOns/SVUI/packages/bag/SVBag.lua b/Interface/AddOns/SVUI/packages/bag/SVBag.lua
index 0a2e0cc..f722b2b 100644
--- a/Interface/AddOns/SVUI/packages/bag/SVBag.lua
+++ b/Interface/AddOns/SVUI/packages/bag/SVBag.lua
@@ -1343,6 +1343,11 @@ DEFINE CONFIG AND REGISTER
 ##########################################################
 ]]--
 CONFIGS["SVBag"] = {
+	["incompatible"] = {
+		["AdiBags"] = true,
+		["ArkInventory"] = true,
+		["Bagnon"] = true,
+	},
 	["enable"] = true,
 	["sortInverted"] = false,
 	["bags"] = {
diff --git a/Interface/AddOns/SVUI/packages/map/SVMap.lua b/Interface/AddOns/SVUI/packages/map/SVMap.lua
index c1823b5..26a53d4 100644
--- a/Interface/AddOns/SVUI/packages/map/SVMap.lua
+++ b/Interface/AddOns/SVUI/packages/map/SVMap.lua
@@ -876,6 +876,11 @@ DEFINE CONFIG AND REGISTER
 ##########################################################
 ]]--
 CONFIGS["SVMap"] = {
+	["incompatible"] = {
+		["SexyMap"] = true,
+		["SquareMap"] = true,
+		["PocketPlot"] = true,
+	},
 	["enable"] = true,
 	["mapAlpha"] = 1,
 	["tinyWorldMap"] = true,
diff --git a/Interface/AddOns/SVUI/packages/override/SVOverride.lua b/Interface/AddOns/SVUI/packages/override/SVOverride.lua
index 865e563..807f575 100644
--- a/Interface/AddOns/SVUI/packages/override/SVOverride.lua
+++ b/Interface/AddOns/SVUI/packages/override/SVOverride.lua
@@ -1078,7 +1078,7 @@ function MOD:Load()
 	exit:SetFixedPanelTemplate("Transparent")
 	exit:RegisterForClicks("AnyUp")
 	exit:SetScript("OnClick", VehicleExit)
-	RegisterStateDriver(exit, "visibility", "[vehicleui] show;hide")
+	RegisterStateDriver(exit, "visibility", "[vehicleui][target=vehicle,exists] show;hide")

 	SuperVillain:SetSVMovable(exit, L["Bail Out"])

diff --git a/Interface/AddOns/SVUI/system/system.lua b/Interface/AddOns/SVUI/system/system.lua
index f104ec9..b046d07 100644
--- a/Interface/AddOns/SVUI/system/system.lua
+++ b/Interface/AddOns/SVUI/system/system.lua
@@ -177,12 +177,12 @@ local function SendAddonMessage(msg, prefix)
 end

 function SuperVillain:AddonMessage(msg)
-    local outbound = ("|cffffcc1a%s:|r"):format("SVUI")
+    local outbound = ("|cffFF2F00%s:|r"):format("SVUI")
     SendAddonMessage(msg, outbound)
 end

 function SuperVillain:ToonMessage(msg)
-    local outbound = ("|cffffcc1a%s:|r"):format(playerName)
+    local outbound = ("|cff00FF00%s:|r"):format(playerName)
     SendAddonMessage(msg, outbound)
 end

@@ -788,7 +788,7 @@ function SuperVillain:Launch()
 	_G["SVUI_MentaloPrecision"]:SetPanelTemplate("Transparent")

 	if self.db.system.loginmessage then
-		local logMsg = (L["LOGIN_MSG"]):format("|cffffcc1a", "|cffff801a", self.___ver)
+		local logMsg = (L["LOGIN_MSG"]):format("|cffFFFF1A", "|cffAA78FF", self.___ver)
 		self:AddonMessage(logMsg);
 	end

diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua
index 5b682f2..c0e741c 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua
@@ -75,14 +75,14 @@ PLUGIN.OptionsCache = {
 		},
 	}
 };
-local DBug = false
+PLUGIN.Debugging = false
 --[[
 ##########################################################
 CORE FUNCTIONS
 ##########################################################
 ]]--
 local charming = {"Spiffy", "Pimped Out", "Fancy", "Awesome", "Bad Ass", "Sparkly", "Gorgeous", "Handsome", "Shiny"}
-local styleMessage = '|cff00FF00%s|r Is Now %s!'
+local styleMessage = '|cff00FF77%s|r Is Now %s!'

 local function SendAddonMessage(msg, prefix)
 	if(type(msg) == "table") then
@@ -100,7 +100,7 @@ local function SendAddonMessage(msg, prefix)
 end

 function PLUGIN:AddonMessage(msg)
-    local outbound = ("|cffffcc1a%s:|r"):format("Style-O-Matic")
+    local outbound = ("|cffFF2F00%s:|r"):format("Style-O-Matic")
     SendAddonMessage(msg, outbound)
 end

@@ -111,13 +111,14 @@ function PLUGIN:LoadAlert(MainText, Function)
 end

 function PLUGIN:Style(style, fn, ...)
+	-- self.Debugging = false
 	local pass, error = pcall(fn, ...)
 	if(pass and (not style:find("Blizzard")) and not self.StyledAddons[style]) then
 		self.StyledAddons[style] = true
 		local verb = charming[math.random(1,#charming)]
 		self:AddonMessage(styleMessage:format(style, verb))
 	else
-		if DBug then
+		if self.Debugging then
 			local message = '%s: |cffff0000There was an error in the|r |cff0affff%s|r |cffff0000skin|r.'
 			SuperVillain:AddonMessage(message:format(version, style))
 			local errormessage = '%s Error: %s'
@@ -132,32 +133,30 @@ function PLUGIN:IsAddonReady(addon, ...)
 		if not a then break end
 		if not IsAddOnLoaded(a) then return false end
 	end
-	return SuperVillain.db.SVStyle.addons[addon]
+
+	local config = SuperVillain.db.SVStyle or SuperVillain.Configs.SVStyle
+
+	return config.addons[addon]
 end

 function PLUGIN:SaveAddonStyle(addon, fn, force, passive, ...)
-	local args,hasEvent = {},false;
+	self:DefineEventFunction("PLAYER_ENTERING_WORLD", addon)
+	if(passive) then
+		self:DefineEventFunction("ADDON_LOADED", addon)
+	end
 	for i=1, select("#",...) do
 		local event = select(i,...)
-		if event then
-			args[event] = true
-			hasEvent = true;
-			if(event == "ADDON_LOADED") then
-				passive = true
-			end
+		if(event) then
+			self:DefineEventFunction(event, addon)
 		end
 	end
-
-	if(hasEvent and not self.AddOnEvents[addon]) then
-		self.AddOnEvents[addon] = {events = args};
+	if(SuperVillain.Configs.SVStyle.addons[addon] == nil) then
+		SuperVillain.Configs.SVStyle.addons[addon] = true
 	end

-	if force then
+	if force then
 		fn()
 	else
-		if(passive) then
-			self.OnLoadAddons[addon] = fn
-		end
 		self.AddOnQueue[addon] = fn
 	end
 end
@@ -178,17 +177,16 @@ function PLUGIN:SaveCustomStyle(fn)
 end

 function PLUGIN:DefineEventFunction(addonEvent, addon)
+	if(not addon) then return end
 	if(not self.EventListeners[addonEvent]) then
 		self.EventListeners[addonEvent] = {}
 	end
-	if(addon) then
-		self.EventListeners[addonEvent][addon] = true
-	end
+	self.EventListeners[addonEvent][addon] = true
 	if(not self[addonEvent]) then
 		self[addonEvent] = function(self, event, ...)
-			for addon,fn in pairs(self.AddOnQueue)do
-				if self:IsAddonReady(addon) and self.EventListeners[event] and self.EventListeners[event][addon] then
-					self:Style(addon, fn, event, ...)
+			for name,fn in pairs(self.AddOnQueue)do
+				if self:IsAddonReady(name) and self.EventListeners[event] and self.EventListeners[event][name] then
+					self:Style(name, fn, event, ...)
 				end
 			end
 		end
@@ -224,13 +222,20 @@ function PLUGIN:ToggleStyle(addon, value)
 	SuperVillain.db.SVStyle.addons[addon] = value
 end

-function PLUGIN:PLAYER_ENTERING_WORLD(event, ...)
+function PLUGIN:StyleInit(event, ...)
+	for addon,fn in pairs(self.AddOnQueue)do
+		self:AppendAddonOption(addon)
+		if(SuperVillain.db.SVStyle.addons[addon] == nil) then
+			SuperVillain.db.SVStyle.addons[addon] = true
+		end
+	end
+
 	for addon,fn in pairs(self.OnLoadAddons) do
 		if(SuperVillain.db.SVStyle.blizzard[addon] == nil) then
 			SuperVillain.db.SVStyle.blizzard[addon] = true
 		end
-		if(IsAddOnLoaded(addon) and SuperVillain.db.SVStyle.blizzard[addon]) then
-			fn(event, addon)
+		if(IsAddOnLoaded(addon) and (SuperVillain.db.SVStyle.blizzard[addon] or SuperVillain.db.SVStyle.addons[addon])) then
+			self:Style(addon, fn, event, ...)
 			self.OnLoadAddons[addon] = nil
 		end
 	end
@@ -240,30 +245,10 @@ function PLUGIN:PLAYER_ENTERING_WORLD(event, ...)
 	end

 	twipe(self.CustomQueue)
-
-	for addon,fn in pairs(self.AddOnQueue)do
-		PLUGIN:AppendAddonOption(addon)
-		if(SuperVillain.db.SVStyle.addons[addon] == nil) then
-			SuperVillain.db.SVStyle.addons[addon] = true
-		end
-		if(self:IsAddonReady(addon)) then
-			if(self.AddOnEvents[addon]) then
-				if(not self.AddOnEvents[addon]["complete"]) then
-					if(self.AddOnEvents[addon]["events"]) then
-						for event,_ in pairs(self.AddOnEvents[addon]["events"]) do
-							self:DefineEventFunction(event, addon)
-						end
-					end
-					self.AddOnEvents[addon]["complete"] = true
-				end
-			end
-			self:Style(addon, fn, event, ...)
-		end
-	end
 	collectgarbage("collect")
 end

-function PLUGIN:ADDON_LOADED(event, addon)
+function PLUGIN:StyleOnDemand(event, addon)
 	for name, fn in pairs(self.OnLoadAddons) do
 		if(addon:find(name)) then
 			self:Style(name, fn, event, addon)
@@ -386,6 +371,11 @@ BUILD FUNCTION
 ##########################################################
 ]]--
 local Registry_OnEvent = function(self, event, ...)
+	if(event == "PLAYER_ENTERING_WORLD") then
+		PLUGIN:StyleInit(event, ...)
+	elseif(event == "ADDON_LOADED") then
+		PLUGIN:StyleOnDemand(event, ...)
+	end
 	if(PLUGIN[event]) then
 		PLUGIN[event](PLUGIN, event, ...)
 	end
@@ -737,8 +727,8 @@ local function LoadStyleOMatic()
 	SuperVillain:ReloadDocklets();

 	SuperVillain.DynamicOptions["SVStyle"] = {key = "addons", data = PLUGIN.OptionsCache};
-	SVUIAddonEventHandler:RegisterEvent('ADDON_LOADED');
-	SVUIAddonEventHandler:RegisterEvent('PLAYER_ENTERING_WORLD');
+	SVUIAddonEventHandler:RegisterEvent("ADDON_LOADED", "StyleOnDemand");
+	SVUIAddonEventHandler:RegisterEvent("PLAYER_ENTERING_WORLD", "StyleInit");
 end

 CONFIGS["SVStyle"] = {
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/spellbook.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/spellbook.lua
index cfce66b..90ad3bc 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/spellbook.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/spellbook.lua
@@ -14,7 +14,50 @@ S U P E R - V I L L A I N - U I   By: Munglunch                              #
 ##############################################################################
 --]]
 local SuperVillain, L = unpack(SVUI);
-local STYLE = _G.StyleVillain;
+local STYLE = _G.StyleVillain
+--[[
+##########################################################
+FRAME LISTS
+##########################################################
+]]--
+local bookFrames = {
+	"SpellBookFrame",
+	"SpellBookFrameInset",
+	"SpellBookSpellIconsFrame",
+	"SpellBookSideTabsFrame",
+	"SpellBookPageNavigationFrame"
+}
+local proButtons = {
+	"PrimaryProfession1SpellButtonTop",
+	"PrimaryProfession1SpellButtonBottom",
+	"PrimaryProfession2SpellButtonTop",
+	"PrimaryProfession2SpellButtonBottom",
+	"SecondaryProfession1SpellButtonLeft",
+	"SecondaryProfession1SpellButtonRight",
+	"SecondaryProfession2SpellButtonLeft",
+	"SecondaryProfession2SpellButtonRight",
+	"SecondaryProfession3SpellButtonLeft",
+	"SecondaryProfession3SpellButtonRight",
+	"SecondaryProfession4SpellButtonLeft",
+	"SecondaryProfession4SpellButtonRight"
+}
+
+local proFrames = {
+	"PrimaryProfession1",
+	"PrimaryProfession2",
+	"SecondaryProfession1",
+	"SecondaryProfession2",
+	"SecondaryProfession3",
+	"SecondaryProfession4"
+}
+local proBars = {
+	"PrimaryProfession1StatusBar",
+	"PrimaryProfession2StatusBar",
+	"SecondaryProfession1StatusBar",
+	"SecondaryProfession2StatusBar",
+	"SecondaryProfession3StatusBar",
+	"SecondaryProfession4StatusBar"
+}
 --[[
 ##########################################################
 HELPERS
@@ -63,7 +106,7 @@ local function ChangeTabHelper(this)

 	local a,b,c,d,e = this:GetPoint()
 	this:Point(a,b,c,1,e)
-end;
+end

 local function GetSpecTabHelper(index)
 	local tab = SpellBookCoreAbilitiesFrame.SpecTabs[index]
@@ -74,7 +117,7 @@ local function GetSpecTabHelper(index)
 		tab:ClearAllPoints()
 		tab:SetPoint(o, Y, Z, 0, s)
 	end
-end;
+end

 local function SkillTabUpdateHelper()
 	for j = 1, MAX_SKILLLINE_TABS do
@@ -85,18 +128,18 @@ local function SkillTabUpdateHelper()
 			S:GetNormalTexture():SetTexCoord(0.1, 0.9, 0.1, 0.9)
 		end
 	end
-end;
+end

 local function AbilityButtonHelper(j)
 	local i = SpellBookCoreAbilitiesFrame.Abilities[j]
-	if i.styled then return end;
+	if i.styled then return end
 		local x = i.iconTexture;
 		if not InCombatLockdown() then
 			if not i.properFrameLevel then
 			 	i.properFrameLevel = i:GetFrameLevel() + 1
-			end;
+			end
 			i:SetFrameLevel(i.properFrameLevel)
-		end;
+		end
 		if not i.styled then
 		for j = 1, i:GetNumRegions()do
 			local N = select(j, i:GetRegions())
@@ -105,16 +148,16 @@ local function AbilityButtonHelper(j)
 				 	N:SetTexture(0,0,0,0)
 				end
 			end
-		end;
+		end
 		if i.highlightTexture then
 			hooksecurefunc(i.highlightTexture, "SetTexture", function(k, P, Q, R)
 				if P == [[Interface\Buttons\ButtonHilight-Square]] then
 					 i.highlightTexture:SetTexture(1, 1, 1, 0.3)
 				end
 			end)
-		end;
+		end
 		i.styled = true
-	end;
+	end
 	if x then
 		x:SetTexCoord(0.1, 0.9, 0.1, 0.9)
 		x:ClearAllPoints()
@@ -122,9 +165,9 @@ local function AbilityButtonHelper(j)
 		if not i.Panel then
 			 i:SetPanelTemplate("Inset", false, 3, 3, 3)
 		end
-	end;
+	end
 	i.styled = true
-end;
+end

 local function ButtonUpdateHelper(k, M)
 	for j=1, SPELLS_PER_PAGE do
@@ -132,7 +175,7 @@ local function ButtonUpdateHelper(k, M)
 		local x = _G["SpellButton"..j.."IconTexture"]
 		if not InCombatLockdown() then
 			 i:SetFrameLevel(SpellBookFrame:GetFrameLevel() + 5)
-		end;
+		end
 		if M then
 			for j = 1, i:GetNumRegions()do
 				local N = select(j, i:GetRegions())
@@ -142,17 +185,17 @@ local function ButtonUpdateHelper(k, M)
 					end
 				end
 			end
-		end;
+		end
 		if _G["SpellButton"..j.."Highlight"]then
 			_G["SpellButton"..j.."Highlight"]:SetTexture(1, 1, 1, 0.3)
 			_G["SpellButton"..j.."Highlight"]:ClearAllPoints()
 			_G["SpellButton"..j.."Highlight"]:SetAllPoints(x)
-		end;
+		end
 		if i.shine then
 			i.shine:ClearAllPoints()
 			i.shine:SetPoint('TOPLEFT', i, 'TOPLEFT', -3, 3)
 			i.shine:SetPoint('BOTTOMRIGHT', i, 'BOTTOMRIGHT', 3, -3)
-		end;
+		end
 		if x then
 			x:SetTexCoord(0.1, 0.9, 0.1, 0.9)
 			x:ClearAllPoints()
@@ -162,83 +205,99 @@ local function ButtonUpdateHelper(k, M)
 			end
 		end
 	end
-end;
+end
 --[[
 ##########################################################
 SPELLBOOK STYLER
 ##########################################################
 ]]--
 local function SpellBookStyle()
-	if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.spellbook ~= true then return end;
-	STYLE:ApplyCloseButtonStyle(SpellBookFrameCloseButton)
-	local J = {
-		"SpellBookFrame", "SpellBookFrameInset", "SpellBookSpellIconsFrame", "SpellBookSideTabsFrame", "SpellBookPageNavigationFrame"
-	}
-	local Kill = {
-		"SpellBookFrameTutorialButton"
-	}
-	for h, K in pairs(J)do
-		 _G[K]:Formula409()
-	end;
-	for h, K in pairs(Kill)do
-		 _G[K]:MUNG()
-	end;
+	if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.spellbook ~= true then return end
+
 	SpellBookFrame:SetPanelTemplate("Pattern")
-	for j = 1, 2 do
-		 _G['SpellBookPage'..j]:SetDrawLayer('BORDER', 3)
-	end;
+	STYLE:ApplyCloseButtonStyle(SpellBookFrameCloseButton)
+
+	for _, gName in pairs(bookFrames) do
+		local frame = _G[gName]
+		if(frame) then
+			frame:Formula409()
+		end
+	end
+
+	_G["SpellBookFrameTutorialButton"]:MUNG()
+
+	for i = 1, 2 do
+		local frame = _G[("SpellBookPage%d"):format(i)]
+		if(frame) then
+			frame:SetDrawLayer('BORDER', 3)
+		end
+	end
+
 	STYLE:ApplyPaginationStyle(SpellBookPrevPageButton)
 	STYLE:ApplyPaginationStyle(SpellBookNextPageButton)
+
 	ButtonUpdateHelper(nil, true)
+
 	hooksecurefunc("SpellButton_UpdateButton", ButtonUpdateHelper)
 	hooksecurefunc("SpellBook_GetCoreAbilityButton", AbilityButtonHelper)
-	for j = 1, MAX_SKILLLINE_TABS do
-		local S = _G["SpellBookSkillLineTab"..j]
-		_G["SpellBookSkillLineTab"..j.."Flash"]:MUNG()
-		ChangeTabHelper(S)
-	end;
+
+	for i = 1, MAX_SKILLLINE_TABS do
+		local tabName = ("SpellBookSkillLineTab%d"):format(i)
+		local tab = _G[tabName]
+		local tabFlash = _G[("%sFlash"):format(tabName)]
+		if(tabFlash) then tabFlash:MUNG() end
+		if(tab) then ChangeTabHelper(tab) end
+	end
+
 	hooksecurefunc('SpellBook_GetCoreAbilitySpecTab', GetSpecTabHelper)
 	hooksecurefunc("SpellBookFrame_UpdateSkillLineTabs", SkillTabUpdateHelper)
-	local a1 = {
-		"PrimaryProfession1SpellButtonTop", "PrimaryProfession1SpellButtonBottom", "PrimaryProfession2SpellButtonTop", "PrimaryProfession2SpellButtonBottom", "SecondaryProfession1SpellButtonLeft", "SecondaryProfession1SpellButtonRight", "SecondaryProfession2SpellButtonLeft", "SecondaryProfession2SpellButtonRight", "SecondaryProfession3SpellButtonLeft", "SecondaryProfession3SpellButtonRight", "SecondaryProfession4SpellButtonLeft", "SecondaryProfession4SpellButtonRight"
-	}
-	local a2 = {
-		"PrimaryProfession1", "PrimaryProfession2", "SecondaryProfession1", "SecondaryProfession2", "SecondaryProfession3", "SecondaryProfession4"
-	}
-	for h, a3 in pairs(a2)do
-		_G[a3 .."Missing"]:SetTextColor(1, 1, 0)
-		_G[a3].missingText:SetTextColor(0, 0, 0)
-	end;
-	for h, i in pairs(a1)do
-		local x = _G[i.."IconTexture"]
-		local i = _G[i]i:Formula409()
-		if x then
-			x:SetTexCoord(0.1, 0.9, 0.1, 0.9)
-			x:FillInner()
-			i:SetFrameLevel(i:GetFrameLevel()+2)
-			if not i.Panel then
-				i:SetPanelTemplate("Inset", false, 3, 3, 3)
-				i.Panel:SetAllPoints()
-			end
-		end
-	end;
-	local a4 = {
-		"PrimaryProfession1StatusBar", "PrimaryProfession2StatusBar", "SecondaryProfession1StatusBar", "SecondaryProfession2StatusBar", "SecondaryProfession3StatusBar", "SecondaryProfession4StatusBar"
-	}
-	for h, a5 in pairs(a4)do
-		local a5 = _G[a5]a5:Formula409()
-		a5:SetStatusBarTexture([[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]])
-		a5:SetStatusBarColor(0, 220/255, 0)
-		a5:SetPanelTemplate("Default")
-		a5.rankText:ClearAllPoints()
-		a5.rankText:SetPoint("CENTER")
-	end;
-	for j = 1, 5 do
-		 STYLE:ApplyTabStyle(_G["SpellBookFrameTabButton"..j])
-	end;
+
+	for _, gName in pairs(proFrames)do
+		local frame = _G[gName]
+		local frameMissing = _G[("%sMissing"):format(gName)]
+		if(frame and frame.missingText) then frame.missingText:SetTextColor(0, 0, 0) end
+		if(frameMissing) then frameMissing:SetTextColor(1, 1, 0) end
+	end
+
+	for _, gName in pairs(proButtons)do
+		local button = _G[gName]
+		local buttonTex = _G[("%sIconTexture"):format(gName)]
+		if(button) then
+			button:Formula409()
+			if(buttonTex) then
+				buttonTex:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+				buttonTex:FillInner()
+				button:SetFrameLevel(button:GetFrameLevel() + 2)
+				if not button.Panel then
+					button:SetPanelTemplate("Inset", false, 3, 3, 3)
+					button.Panel:SetAllPoints()
+				end
+			end
+		end
+	end
+
+	for _, gName in pairs(proBars) do
+		local bar = _G[gName]
+		if(bar) then
+			bar:Formula409()
+			bar:SetStatusBarTexture([[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]])
+			bar:SetStatusBarColor(0, 220/255, 0)
+			bar:SetPanelTemplate("Default")
+			bar.rankText:ClearAllPoints()
+			bar.rankText:SetPoint("CENTER")
+		end
+	end
+
+	for i = 1, 5 do
+		local frame = _G[("SpellBookFrameTabButton%d"):format(i)]
+		if(frame) then
+			STYLE:ApplyTabStyle(frame)
+		end
+	end
+
 	SpellBookFrameTabButton1:ClearAllPoints()
 	SpellBookFrameTabButton1:SetPoint('TOPLEFT', SpellBookFrame, 'BOTTOMLEFT', 0, 2)
-end;
+end
 --[[
 ##########################################################
 STYLE LOADING
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/supervillain.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/supervillain.lua
index 55f3f2f..de34b44 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/supervillain.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/supervillain.lua
@@ -83,10 +83,9 @@ local function Widget_PaginationStyle(...)
 	STYLE:ApplyPaginationStyle(...)
 end

-local function StyleAceGUI()
-	local AceGUI = LibStub("AceGUI-3.0", true)
-
-	assert(AceGUI, "Addon Not Loaded")
+local function StyleAceGUI(event, addon)
+	assert((LibStub("AceGUI-3.0") and (addon == "SVUI_ConfigOMatic")), "Addon Not Loaded")
+	local AceGUI = LibStub("AceGUI-3.0")

 	for i = 1, 4 do
 		local alert = _G["SVUI_SystemAlert"..i];
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua
index 9cfa41c..8a7e64f 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua
@@ -38,28 +38,40 @@ local function Tab_OnLeave(this)
 	this.backdrop:SetBackdropBorderColor(0,0,0,1)
 end

-local function PseudoTabStyle(this)
-	if not this then return end;
+local function ChangeTabHelper(this)
 	this:Formula409()
-	this:GetNormalTexture():SetTexCoord(0.1, 0.9, 0.1, 0.9)
-	this:GetNormalTexture():FillInner()
+	local nTex = this:GetNormalTexture()
+	if(nTex) then
+		nTex:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+		nTex:FillInner()
+	end
+
 	this.pushed = true;
+
 	this.backdrop = CreateFrame("Frame", nil, this)
 	this.backdrop:WrapOuter(this,1,1)
-	local level = this:GetFrameLevel()
-	if(level > 0) then
-		this.backdrop:SetFrameLevel(level - 1)
-	else
-		this.backdrop:SetFrameLevel(0)
-	end
-	this.backdrop:SetFixedPanelTemplate("Component", true)
-	this.backdrop:SetPanelColor("dark")
-	this:HookScript("OnEnter",Tab_OnEnter)
-    this:HookScript("OnLeave",Tab_OnLeave)
-end;
+	this.backdrop:SetFrameLevel(0)
+	this.backdrop:SetBackdrop({
+		bgFile = [[Interface\BUTTONS\WHITE8X8]],
+        tile = false,
+        tileSize = 0,
+        edgeFile = [[Interface\AddOns\SVUI\assets\artwork\Template\GLOW]],
+        edgeSize = 3,
+        insets = {
+            left = 0,
+            right = 0,
+            top = 0,
+            bottom = 0
+        }
+    });
+    this.backdrop:SetBackdropColor(0,0,0,1)
+	this.backdrop:SetBackdropBorderColor(0,0,0,1)
+	this:SetScript("OnEnter", Tab_OnEnter)
+	this:SetScript("OnLeave", Tab_OnLeave)
+end

 local function StyleGlyphHolder(holder, offset)
-    if holder.styled then return end;
+    if holder.styled then return end

     local outer = holder:CreateTexture(nil, "OVERLAY")
     outer:WrapOuter(holder, offset, offset)
@@ -78,33 +90,38 @@ local function StyleGlyphHolder(holder, offset)
         disabled:SetTexture(borderTex)
         disabled:SetGradient(unpack(SuperVillain.Media.gradient.default))
         holder:SetDisabledTexture(disabled)
-    end;
+    end

     local cd = holder:GetName() and _G[holder:GetName().."Cooldown"]
     if cd then
         cd:ClearAllPoints()
         cd:FillInner()
-    end;
+    end
     holder.styled = true
-end;
+end
 --[[
 ##########################################################
 TALENTFRAME STYLER
 ##########################################################
 ]]--
 local function TalentFrameStyle()
-	if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.talent ~= true then return end;
+	if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.talent ~= true then return end
+
 	PlayerTalentFrame:Formula409()
 	PlayerTalentFrameInset:Formula409()
 	PlayerTalentFrameTalents:Formula409()
+
 	local r = CreateFrame('Frame', nil, PlayerTalentFrame)
 	r:WrapOuter(PlayerTalentFrame)
+
 	local s = PlayerTalentFrame:GetFrameLevel()
+
 	if((s - 1) >= 0) then
 		 r:SetFrameLevel(s - 1)
 	else
 		 r:SetFrameLevel(0)
-	end;
+	end
+
 	PlayerTalentFrame:SetPanelTemplate("Halftone")
 	PlayerTalentFrame.Panel:Point("BOTTOMRIGHT", PlayerTalentFrame, "BOTTOMRIGHT", 0, -5)
 	PlayerTalentFrameSpecializationTutorialButton:MUNG()
@@ -112,13 +129,17 @@ local function TalentFrameStyle()
 	PlayerTalentFramePetSpecializationTutorialButton:MUNG()
 	STYLE:ApplyCloseButtonStyle(PlayerTalentFrameCloseButton)
 	PlayerTalentFrameActivateButton:SetButtonTemplate()
+
 	for _,name in pairs(SpecButtonList)do
 		local button = _G[name];
-		button:Formula409()
-		button:SetButtonTemplate()
-		local d, e, k, g = button:GetPoint()
-		button:Point(d, e, k, g, -28)
-	end;
+		if(button) then
+			button:Formula409()
+			button:SetButtonTemplate()
+			local d, e, k, g = button:GetPoint()
+			button:Point(d, e, k, g, -28)
+		end
+	end
+
 	PlayerTalentFrameTalents:SetFixedPanelTemplate('Transparent')
 	PlayerTalentFrameTalentsClearInfoFrame:SetFixedPanelTemplate('Transparent')
 	PlayerTalentFrameTalentsClearInfoFrame.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
@@ -126,40 +147,36 @@ local function TalentFrameStyle()
 	PlayerTalentFrameTalentsClearInfoFrame:Height(PlayerTalentFrameTalentsClearInfoFrame:GetHeight()-2)
 	PlayerTalentFrameTalentsClearInfoFrame.icon:Size(PlayerTalentFrameTalentsClearInfoFrame:GetSize())
 	PlayerTalentFrameTalentsClearInfoFrame:Point('TOPLEFT', PlayerTalentFrameTalents, 'BOTTOMLEFT', 8, -8)
+
 	for b = 1, 4 do
 		STYLE:ApplyTabStyle(_G['PlayerTalentFrameTab'..b])
 		if b == 1 then
 			local d, e, k, g = _G['PlayerTalentFrameTab'..b]:GetPoint()
 			_G['PlayerTalentFrameTab'..b]:Point(d, e, k, g, -4)
 		end
-	end;
+	end
+
 	hooksecurefunc('PlayerTalentFrame_UpdateTabs', function()
 		for b = 1, 4 do
 			local d, e, k, g = _G['PlayerTalentFrameTab'..b]:GetPoint()
 			_G['PlayerTalentFrameTab'..b]:Point(d, e, k, g, -4)
 		end
 	end)
+
 	PlayerTalentFrameSpecializationSpellScrollFrameScrollChild.Seperator:SetTexture(1, 1, 1)
 	PlayerTalentFrameSpecializationSpellScrollFrameScrollChild.Seperator:SetAlpha(0.2)
+
 	for b = 1, 2 do
 		local v = _G['PlayerSpecTab'..b]
 		_G['PlayerSpecTab'..b..'Background']:MUNG()
-		PseudoTabStyle(v)
-		hooksecurefunc(v:GetHighlightTexture(), "SetTexture", function(i, w)
-			if w ~= nil then
-				 i:SetTexture(0,0,0,0)
-			end
-		end)
-		hooksecurefunc(v:GetCheckedTexture(), "SetTexture", function(i, w)
-			if w ~= nil then
-				 i:SetTexture(0,0,0,0)
-			end
-		end)
-	end;
+		ChangeTabHelper(v)
+	end
+
 	hooksecurefunc('PlayerTalentFrame_UpdateSpecs', function()
 		local d, x, f, g, h = PlayerSpecTab1:GetPoint()
 		PlayerSpecTab1:Point(d, x, f, -1, h)
 	end)
+
 	for b = 1, MAX_NUM_TALENT_TIERS do
 		local y = _G["PlayerTalentFrameTalentsTalentRow"..b]
 		_G["PlayerTalentFrameTalentsTalentRow"..b.."Bg"]:Hide()
@@ -184,7 +201,8 @@ local function TalentFrameStyle()
 			A.bg.SelectedTexture:Point("TOPLEFT", A, "TOPLEFT", 15, -1)
 			A.bg.SelectedTexture:Point("BOTTOMRIGHT", A, "BOTTOMRIGHT", -10, 1)
 		end
-	end;
+	end
+
 	hooksecurefunc("TalentFrame_Update", function()
 		for b = 1, MAX_NUM_TALENT_TIERS do
 			for z = 1, NUM_TALENT_COLUMNS do
@@ -194,7 +212,7 @@ local function TalentFrameStyle()
 					A.bg.SelectedTexture:SetTexture(0, 1, 0, 0.1)
 				else
 		 			A.bg.SelectedTexture:Hide()
-				end;
+				end
 				if A.learnSelection:IsShown() then
 		 			A.bg.SelectedTexture:Show()
 					A.bg.SelectedTexture:SetTexture(1, 1, 0, 0.1)
@@ -202,19 +220,23 @@ local function TalentFrameStyle()
 			end
 		end
 	end)
+
 	for b = 1, 5 do
 		 select(b, PlayerTalentFrameSpecializationSpellScrollFrameScrollChild:GetRegions()):Hide()
-	end;
+	end
+
 	local C = _G["PlayerTalentFrameSpecializationSpellScrollFrameScrollChild"]
 	C.ring:Hide()
 	C:SetFixedPanelTemplate("Transparent")
 	C.Panel:WrapOuter(C.specIcon)
 	C.specIcon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+
 	local D = _G["PlayerTalentFramePetSpecializationSpellScrollFrameScrollChild"]
 	D.ring:Hide()
 	D:SetFixedPanelTemplate("Transparent")
 	D.Panel:WrapOuter(D.specIcon)
 	D.specIcon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+
 	hooksecurefunc("PlayerTalentFrame_UpdateSpecFrame", function(i, E)
 		local F = GetSpecialization(nil, i.isPet, PlayerSpecTab2:GetChecked() and 2 or 1)
 		local G = E or F or 1;
@@ -226,7 +248,7 @@ local function TalentFrameStyle()
 			K = { GetSpecializationSpells(G, nil, i.isPet) }
 		else
 			 K = SPEC_SPELLS_DISPLAY[H]
-		end;
+		end
 		for b = 1, #K, 2 do
 			local L = I["abilityButton"..J]
 			local p, icon = GetSpellTexture(K[b])
@@ -237,9 +259,9 @@ local function TalentFrameStyle()
 				L:SetFixedPanelTemplate("Transparent")
 				L.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
 				L.icon:FillInner()
-			end;
+			end
 			J = J+1
-		end;
+		end
 		for b = 1, GetNumSpecializations(nil, i.isPet)do
 			local A = i["specButton"..b]A.SelectedTexture:FillInner(A.Panel)
 			if A.selected then
@@ -249,6 +271,7 @@ local function TalentFrameStyle()
 			end
 		end
 	end)
+
 	for b = 1, GetNumSpecializations(false, nil)do
 		local A = PlayerTalentFrameSpecialization["specButton"..b]
 		local p, p, p, icon = GetSpecializationInfo(b, false, nil)
@@ -259,10 +282,12 @@ local function TalentFrameStyle()
 		A.specIcon:Point("LEFT", A, "LEFT", 15, 0)
 		A.SelectedTexture = A:CreateTexture(nil, 'ARTWORK')
 		A.SelectedTexture:SetTexture(1, 1, 0, 0.1)
-	end;
+	end
+
 	local btnList = {
 		"PlayerTalentFrameSpecializationSpecButton", "PlayerTalentFramePetSpecializationSpecButton"
 	}
+
 	for p, M in pairs(btnList)do
 		for b = 1, 4 do
 			local A = _G[M..b]_G["PlayerTalentFrameSpecializationSpecButton"..b.."Glow"]:MUNG()
@@ -275,20 +300,21 @@ local function TalentFrameStyle()
 			A:SetFixedPanelTemplate("Button")
 			A:GetHighlightTexture():FillInner(A.Panel)
 		end
-	end;
+	end
+
 	if SuperVillain.class == "HUNTER" then
 		for b = 1, 6 do
 			 select(b, PlayerTalentFramePetSpecialization:GetRegions()):Hide()
-		end;
+		end
 		for b = 1, PlayerTalentFramePetSpecialization:GetNumChildren()do
 			local O = select(b, PlayerTalentFramePetSpecialization:GetChildren())
 			if O and not O:GetName() then
 				 O:DisableDrawLayer("OVERLAY")
 			end
-		end;
+		end
 		for b = 1, 5 do
 			 select(b, PlayerTalentFramePetSpecializationSpellScrollFrameScrollChild:GetRegions()):Hide()
-		end;
+		end
 		for b = 1, GetNumSpecializations(false, true)do
 			local A = PlayerTalentFramePetSpecialization["specButton"..b]
 			local p, p, p, icon = GetSpecializationInfo(b, false, true)
@@ -299,19 +325,21 @@ local function TalentFrameStyle()
 			A.specIcon:Point("LEFT", A, "LEFT", 15, 0)
 			A.SelectedTexture = A:CreateTexture(nil, 'ARTWORK')
 			A.SelectedTexture:SetTexture(1, 1, 0, 0.1)
-		end;
+		end
 		PlayerTalentFramePetSpecializationSpellScrollFrameScrollChild.Seperator:SetTexture(1, 1, 1)
 		PlayerTalentFramePetSpecializationSpellScrollFrameScrollChild.Seperator:SetAlpha(0.2)
-	end;
+	end
+
 	PlayerTalentFrameSpecialization:DisableDrawLayer('ARTWORK')
 	PlayerTalentFrameSpecialization:DisableDrawLayer('BORDER')
+
 	for b = 1, PlayerTalentFrameSpecialization:GetNumChildren()do
 		local O = select(b, PlayerTalentFrameSpecialization:GetChildren())
 		if O and not O:GetName() then
 			 O:DisableDrawLayer("OVERLAY")
 		end
 	end
-end;
+end
 --[[
 ##########################################################
 STYLE LOADING
@@ -340,7 +368,7 @@ local function GlyphStyle()
 		e:Formula409()
 		STYLE:ApplyLinkButtonStyle(e)
 		icon:SetTexCoord(0.1, 0.9, 0.1, 0.9 )
-	end;
+	end

 	for b = 1, 6 do
 		local glyphHolder = _G["GlyphFrameGlyph"..b]
@@ -352,11 +380,11 @@ local function GlyphStyle()
 				StyleGlyphHolder(glyphHolder, 1)
 			end
 		end
-	end;
+	end

 	GlyphFrameHeader1:Formula409()
 	GlyphFrameHeader2:Formula409()
 	GlyphFrameScrollFrame:SetPanelTemplate("Inset", false, 3, 2, 2)
-end;
+end

 STYLE:SaveBlizzardStyle("Blizzard_GlyphUI", GlyphStyle)
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AdiBags.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AdiBags.lua
index f80cf18..15c3572 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AdiBags.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AdiBags.lua
@@ -69,4 +69,4 @@ local function StyleAdiBags(event)
 	end
 end

-STYLE:SaveAddonStyle("AdiBags", StyleAdiBags, nil, nil, 'PLAYER_ENTERING_WORLD', 'BANKFRAME_OPENED')
\ No newline at end of file
+STYLE:SaveAddonStyle("AdiBags", StyleAdiBags, nil, nil, 'BANKFRAME_OPENED')
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/Altoholic.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/Altoholic.lua
new file mode 100644
index 0000000..a673cf8
--- /dev/null
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/Altoholic.lua
@@ -0,0 +1,280 @@
+--[[
+##############################################################################
+_____/\\\\\\\\\\\____/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\_       #
+ ___/\\\/////////\\\_\/\\\_______\/\\\_\/\\\_______\/\\\_\/////\\\///__      #
+  __\//\\\______\///__\//\\\______/\\\__\/\\\_______\/\\\_____\/\\\_____     #
+   ___\////\\\__________\//\\\____/\\\___\/\\\_______\/\\\_____\/\\\_____    #
+    ______\////\\\________\//\\\__/\\\____\/\\\_______\/\\\_____\/\\\_____   #
+     _________\////\\\______\//\\\/\\\_____\/\\\_______\/\\\_____\/\\\_____  #
+      __/\\\______\//\\\______\//\\\\\______\//\\\______/\\\______\/\\\_____ #
+       _\///\\\\\\\\\\\/________\//\\\________\///\\\\\\\\\/____/\\\\\\\\\\\_#
+        ___\///////////___________\///___________\/////////_____\///////////_#
+##############################################################################
+S U P E R - V I L L A I N - U I   By: Munglunch                              #
+##############################################################################
+##########################################################
+LOCALIZED LUA FUNCTIONS
+##########################################################
+]]--
+--[[ GLOBALS ]]--
+local _G = _G;
+local unpack 	= _G.unpack;
+local select 	= _G.select;
+local pairs 	= _G.pairs;
+local string 	= _G.string;
+--[[ STRING METHODS ]]--
+local format = string.format;
+--[[
+##########################################################
+GET ADDON DATA
+##########################################################
+]]--
+local SuperVillain, L = unpack(SVUI);
+local STYLE = _G.StyleVillain;
+--[[
+##########################################################
+ALTOHOLIC
+##########################################################
+]]--
+local function ColorAltoBorder(self)
+	if self.border then
+		local r, g, b = self.border:GetVertexColor()
+		local Backdrop = self.backdrop or self.Backdrop
+		Backdrop:SetBackdropBorderColor(r, g, b, 1)
+	end
+end
+
+local function StyleAltoholic(event, addon)
+	assert(AltoholicFrame, "AddOn Not Loaded")
+
+	if event == "PLAYER_ENTERING_WORLD" then
+		STYLE:ApplyTooltipStyle(AltoTooltip)
+
+		AltoholicFramePortrait:MUNG()
+
+		STYLE:ApplyFrameStyle(AltoholicFrame, "Action", false, true)
+		STYLE:ApplyFrameStyle(AltoMsgBox)
+		STYLE:ApplyButtonStyle(AltoMsgBoxYesButton)
+		STYLE:ApplyButtonStyle(AltoMsgBoxNoButton)
+		STYLE:ApplyCloseButtonStyle(AltoholicFrameCloseButton)
+		STYLE:ApplyEditBoxStyle(AltoholicFrame_SearchEditBox, 175, 15)
+		STYLE:ApplyButtonStyle(AltoholicFrame_ResetButton)
+		STYLE:ApplyButtonStyle(AltoholicFrame_SearchButton)
+
+		AltoholicFrameTab1:Point("TOPLEFT", AltoholicFrame, "BOTTOMLEFT", -5, 2)
+		AltoholicFrame_ResetButton:Point("TOPLEFT", AltoholicFrame, "TOPLEFT", 25, -77)
+		AltoholicFrame_SearchEditBox:Point("TOPLEFT", AltoholicFrame, "TOPLEFT", 37, -56)
+		AltoholicFrame_ResetButton:Size(85, 24)
+		AltoholicFrame_SearchButton:Size(85, 24)
+	end
+
+	if addon == "Altoholic_Summary" then
+		STYLE:ApplyFrameStyle(AltoholicFrameSummary)
+		STYLE:ApplyFrameStyle(AltoholicFrameBagUsage)
+		STYLE:ApplyFrameStyle(AltoholicFrameSkills)
+		STYLE:ApplyFrameStyle(AltoholicFrameActivity)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameSummaryScrollFrameScrollBar)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameBagUsageScrollFrameScrollBar)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameSkillsScrollFrameScrollBar)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameActivityScrollFrameScrollBar)
+		STYLE:ApplyDropdownStyle(AltoholicTabSummary_SelectLocation, 200)
+
+		if(AltoholicFrameSummaryScrollFrame) then
+			AltoholicFrameSummaryScrollFrame:Formula409(true)
+		end
+
+		if(AltoholicFrameBagUsageScrollFrame) then
+			AltoholicFrameBagUsageScrollFrame:Formula409(true)
+		end
+
+		if(AltoholicFrameSkillsScrollFrame) then
+			AltoholicFrameSkillsScrollFrame:Formula409(true)
+		end
+
+		if(AltoholicFrameActivityScrollFrame) then
+			AltoholicFrameActivityScrollFrame:Formula409(true)
+		end
+
+		STYLE:ApplyButtonStyle(AltoholicTabSummary_RequestSharing)
+		STYLE:ApplyTextureStyle(AltoholicTabSummary_RequestSharingIconTexture)
+		STYLE:ApplyButtonStyle(AltoholicTabSummary_Options)
+		STYLE:ApplyTextureStyle(AltoholicTabSummary_OptionsIconTexture)
+		STYLE:ApplyButtonStyle(AltoholicTabSummary_OptionsDataStore)
+		STYLE:ApplyTextureStyle(AltoholicTabSummary_OptionsDataStoreIconTexture)
+
+		for i = 1, 5 do
+			STYLE:ApplyButtonStyle(_G["AltoholicTabSummaryMenuItem"..i], true)
+		end
+		for i = 1, 8 do
+			STYLE:ApplyButtonStyle(_G["AltoholicTabSummary_Sort"..i], true)
+		end
+		for i = 1, 7 do
+			STYLE:ApplyTabStyle(_G["AltoholicFrameTab"..i], true)
+		end
+	end
+
+	if IsAddOnLoaded("Altoholic_Characters") or addon == "Altoholic_Characters" then
+		STYLE:ApplyFrameStyle(AltoholicFrameContainers)
+		STYLE:ApplyFrameStyle(AltoholicFrameRecipes)
+		STYLE:ApplyFrameStyle(AltoholicFrameQuests)
+		STYLE:ApplyFrameStyle(AltoholicFrameGlyphs)
+		STYLE:ApplyFrameStyle(AltoholicFrameMail)
+		STYLE:ApplyFrameStyle(AltoholicFrameSpellbook)
+		STYLE:ApplyFrameStyle(AltoholicFramePets)
+		STYLE:ApplyFrameStyle(AltoholicFrameAuctions)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameContainersScrollFrameScrollBar)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameQuestsScrollFrameScrollBar)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameRecipesScrollFrameScrollBar)
+		STYLE:ApplyDropdownStyle(AltoholicFrameTalents_SelectMember)
+		STYLE:ApplyDropdownStyle(AltoholicTabCharacters_SelectRealm)
+		STYLE:ApplyPaginationStyle(AltoholicFrameSpellbookPrevPage)
+		STYLE:ApplyPaginationStyle(AltoholicFrameSpellbookNextPage)
+		STYLE:ApplyPaginationStyle(AltoholicFramePetsNormalPrevPage)
+		STYLE:ApplyPaginationStyle(AltoholicFramePetsNormalNextPage)
+		STYLE:ApplyRotateStyle(AltoholicFramePetsNormal_ModelFrameRotateLeftButton)
+		STYLE:ApplyRotateStyle(AltoholicFramePetsNormal_ModelFrameRotateRightButton)
+		STYLE:ApplyButtonStyle(AltoholicTabCharacters_Sort1)
+		STYLE:ApplyButtonStyle(AltoholicTabCharacters_Sort2)
+		STYLE:ApplyButtonStyle(AltoholicTabCharacters_Sort3)
+		AltoholicFrameContainersScrollFrame:Formula409(true)
+		AltoholicFrameQuestsScrollFrame:Formula409(true)
+		AltoholicFrameRecipesScrollFrame:Formula409(true)
+
+		local Buttons = {
+			'AltoholicTabCharacters_Characters',
+			'AltoholicTabCharacters_CharactersIcon',
+			'AltoholicTabCharacters_BagsIcon',
+			'AltoholicTabCharacters_QuestsIcon',
+			'AltoholicTabCharacters_TalentsIcon',
+			'AltoholicTabCharacters_AuctionIcon',
+			'AltoholicTabCharacters_MailIcon',
+			'AltoholicTabCharacters_SpellbookIcon',
+			'AltoholicTabCharacters_ProfessionsIcon',
+		}
+
+		for _, object in pairs(Buttons) do
+			STYLE:ApplyTextureStyle(_G[object..'IconTexture'])
+			STYLE:ApplyTextureStyle(_G[object])
+		end
+
+		for i = 1, 7 do
+			for j = 1, 14 do
+				STYLE:ApplyLinkButtonStyle(_G["AltoholicFrameContainersEntry"..i.."Item"..j])
+				_G["AltoholicFrameContainersEntry"..i.."Item"..j]:HookScript('OnShow', ColorAltoBorder)
+			end
+		end
+	end
+
+	if IsAddOnLoaded("Altoholic_Achievements") or addon == "Altoholic_Achievements" then
+		STYLE:ApplyUnderlayStyle(AltoholicFrameAchievements)
+		AltoholicFrameAchievementsScrollFrame:Formula409(true)
+		AltoholicAchievementsMenuScrollFrame:Formula409(true)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameAchievementsScrollFrameScrollBar)
+		STYLE:ApplyScrollbarStyle(AltoholicAchievementsMenuScrollFrameScrollBar)
+		STYLE:ApplyDropdownStyle(AltoholicTabAchievements_SelectRealm)
+		AltoholicTabAchievements_SelectRealm:Point("TOPLEFT", AltoholicFrame, "TOPLEFT", 205, -57)
+
+		for i = 1, 15 do
+			STYLE:ApplyButtonStyle(_G["AltoholicTabAchievementsMenuItem"..i], true)
+		end
+
+		for i = 1, 8 do
+			for j = 1, 10 do
+				STYLE:ApplyUnderlayStyle(_G["AltoholicFrameAchievementsEntry"..i.."Item"..j])
+				local Backdrop = _G["AltoholicFrameAchievementsEntry"..i.."Item"..j].backdrop or _G["AltoholicFrameAchievementsEntry"..i.."Item"..j].Backdrop
+				STYLE:ApplyTextureStyle(_G["AltoholicFrameAchievementsEntry"..i.."Item"..j..'_Background'])
+				_G["AltoholicFrameAchievementsEntry"..i.."Item"..j..'_Background']:SetInside(Backdrop)
+			end
+		end
+	end
+
+	if IsAddOnLoaded("Altoholic_Agenda") or addon == "Altoholic_Agenda" then
+		STYLE:ApplyFrameStyle(AltoholicFrameCalendarScrollFrame)
+		STYLE:ApplyFrameStyle(AltoholicTabAgendaMenuItem1)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameCalendarScrollFrameScrollBar)
+		STYLE:ApplyPaginationStyle(AltoholicFrameCalendar_NextMonth)
+		STYLE:ApplyPaginationStyle(AltoholicFrameCalendar_PrevMonth)
+		STYLE:ApplyButtonStyle(AltoholicTabAgendaMenuItem1, true)
+
+		for i = 1, 14 do
+			STYLE:ApplyFrameStyle(_G["AltoholicFrameCalendarEntry"..i])
+		end
+	end
+
+	if IsAddOnLoaded("Altoholic_Grids") or addon == "Altoholic_Grids" then
+		AltoholicFrameGridsScrollFrame:Formula409(true)
+		STYLE:ApplyUnderlayStyle(AltoholicFrameGrids)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameGridsScrollFrameScrollBar)
+		STYLE:ApplyDropdownStyle(AltoholicTabGrids_SelectRealm)
+		STYLE:ApplyDropdownStyle(AltoholicTabGrids_SelectView)
+
+		for i = 1, 8 do
+			for j = 1, 10 do
+				STYLE:ApplyUnderlayStyle(_G["AltoholicFrameGridsEntry"..i.."Item"..j], nil, nil, nil, true)
+				_G["AltoholicFrameGridsEntry"..i.."Item"..j]:HookScript('OnShow', ColorAltoBorder)
+			end
+		end
+
+		AltoholicFrameGrids:HookScript('OnUpdate', function()
+			for i = 1, 10 do
+				for j = 1, 10 do
+					if _G["AltoholicFrameGridsEntry"..i.."Item"..j.."_Background"] then
+						_G["AltoholicFrameGridsEntry"..i.."Item"..j.."_Background"]:SetTexCoord(.08, .92, .08, .82)
+					end
+				end
+			end
+		end)
+
+	end
+
+	if IsAddOnLoaded("Altoholic_Guild") or addon == "Altoholic_Guild" then
+		STYLE:ApplyFrameStyle(AltoholicFrameGuildMembers)
+		STYLE:ApplyFrameStyle(AltoholicFrameGuildBank)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameGuildMembersScrollFrameScrollBar)
+		AltoholicFrameGuildMembersScrollFrame:Formula409(true)
+
+		for i = 1, 2 do
+			STYLE:ApplyButtonStyle(_G["AltoholicTabGuildMenuItem"..i])
+		end
+
+		for i = 1, 7 do
+			for j = 1, 14 do
+				STYLE:ApplyLinkButtonStyle(_G["AltoholicFrameGuildBankEntry"..i.."Item"..j])
+			end
+		end
+
+		for i = 1, 19 do
+			STYLE:ApplyLinkButtonStyle(_G["AltoholicFrameGuildMembersItem"..i])
+		end
+
+		for i = 1, 5 do
+			STYLE:ApplyButtonStyle(_G["AltoholicTabGuild_Sort"..i])
+		end
+	end
+
+	if IsAddOnLoaded("Altoholic_Search") or addon == "Altoholic_Search" then
+		STYLE:ApplyUnderlayStyle(AltoholicFrameSearch, true)
+		AltoholicFrameSearchScrollFrame:Formula409(true)
+		AltoholicSearchMenuScrollFrame:Formula409(true)
+		STYLE:ApplyScrollbarStyle(AltoholicFrameSearchScrollFrameScrollBar)
+		STYLE:ApplyScrollbarStyle(AltoholicSearchMenuScrollFrameScrollBar)
+		STYLE:ApplyDropdownStyle(AltoholicTabSearch_SelectRarity)
+		STYLE:ApplyDropdownStyle(AltoholicTabSearch_SelectSlot)
+		STYLE:ApplyDropdownStyle(AltoholicTabSearch_SelectLocation)
+		AltoholicTabSearch_SelectRarity:Size(125, 32)
+		AltoholicTabSearch_SelectSlot:Size(125, 32)
+		AltoholicTabSearch_SelectLocation:Size(175, 32)
+		STYLE:ApplyEditBoxStyle(_G["AltoholicTabSearch_MinLevel"])
+		STYLE:ApplyEditBoxStyle(_G["AltoholicTabSearch_MaxLevel"])
+
+		for i = 1, 15 do
+			STYLE:ApplyButtonStyle(_G["AltoholicTabSearchMenuItem"..i])
+		end
+
+		for i = 1, 8 do
+			STYLE:ApplyButtonStyle(_G["AltoholicTabSearch_Sort"..i])
+		end
+	end
+end
+
+STYLE:SaveAddonStyle("Altoholic", StyleAltoholic, nil, true)
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AtlasLoot.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AtlasLoot.lua
index f3f2edd..0d9c121 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AtlasLoot.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AtlasLoot.lua
@@ -125,9 +125,8 @@ local _hook_OnUpdate = function(self, elapsed)
 	self:SetWidth(AtlasLootDefaultFrame:GetWidth())
 end

-LoadAddOn("AtlasLoot")

-local function StyleAtlasLoot()
+local function StyleAtlasLoot(event, addon)
 	assert(AtlasLootPanel, "AddOn Not Loaded")

 	local StripAllTextures = {"AtlasLootDefaultFrame","AtlasLootDefaultFrame_ScrollFrame","AtlasLootItemsFrame","AtlasLootPanel","AtlasLootCompareFrame","AtlasLootCompareFrame_ScrollFrameMainFilterScrollChildFrame","AtlasLootCompareFrame_ScrollFrameItemFrame","AtlasLootCompareFrame_ScrollFrameMainFilter","AtlasLootCompareFrameSortButton_Name","AtlasLootCompareFrameSortButton_Rarity","AtlasLootCompareFrameSortButton_1","AtlasLootCompareFrameSortButton_2","AtlasLootCompareFrameSortButton_3","AtlasLootCompareFrameSortButton_4","AtlasLootCompareFrameSortButton_5","AtlasLootCompareFrameSortButton_6"}
@@ -142,8 +141,8 @@ local function StyleAtlasLoot()

 	-- Manipulate the main frames
 	STYLE:ApplyFrameStyle(_G["AtlasLootDefaultFrame"], "Action");
-	STYLE:ApplyFrameStyle(_G["AtlasLootItemsFrame"], "Button");
-	STYLE:ApplyFrameStyle(_G["AtlasLootPanel"], "Transparent");
+	STYLE:ApplyUnderlayStyle(_G["AtlasLootItemsFrame"], "Inset");
+	STYLE:ApplyFrameStyle(_G["AtlasLootPanel"], "Default");
 	hooksecurefunc(_G["AtlasLootPanel"], "SetPoint", _hook_ALPanel);

 	_G["AtlasLootPanel"]:SetPoint("TOP",_G["AtlasLootDefaultFrame"],"BOTTOM",0,-1);
@@ -183,8 +182,9 @@ local function StyleAtlasLoot()
 		AtlasLootDefaultFrame_PackageSelect:SetPoint("TOPLEFT", AtlasLootDefaultFrame, "TOPLEFT", 50, -50)
 	end

+	STYLE:ApplyDropdownStyle(AtlasLootDefaultFrame_ModuleSelect,240)
 	STYLE:ApplyDropdownStyle(AtlasLootDefaultFrame_InstanceSelect,240)
-	--AtlasLootDefaultFrame_InstanceSelect:SetWidth(240)
+
 	STYLE:ApplyDropdownStyle(AtlasLootCompareFrameSearch_StatsListDropDown)
 	AtlasLootCompareFrameSearch_StatsListDropDown:SetWidth(240)
 	STYLE:ApplyDropdownStyle(AtlasLootCompareFrame_WishlistDropDown)
@@ -221,4 +221,4 @@ local function StyleAtlasLoot()
 		STYLE:ApplyTooltipStyle(AtlasLootTooltip)
 	end
 end
-STYLE:SaveAddonStyle("AtlasLoot", StyleAtlasLoot)
\ No newline at end of file
+STYLE:SaveAddonStyle("AtlasLoot", StyleAtlasLoot, nil, true)
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AuctionLite.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AuctionLite.lua
index ed039d6..65b6df7 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AuctionLite.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AuctionLite.lua
@@ -83,4 +83,4 @@ local function StyleAuctionLite(event, ...)
   STYLE:SafeEventRemoval("AuctionLite", event)
 end

-STYLE:SaveAddonStyle("AuctionLite", StyleAuctionLite, false, false, "AUCTION_HOUSE_SHOW")
\ No newline at end of file
+STYLE:SaveAddonStyle("AuctionLite", StyleAuctionLite, nil, nil, "AUCTION_HOUSE_SHOW")
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/BigWigs.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/BigWigs.lua
index 63a58ff..e3e0fe1 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/BigWigs.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/BigWigs.lua
@@ -141,4 +141,4 @@ local function StyleBigWigs(event, addon)
 	end
 end

-STYLE:SaveAddonStyle("BigWigs", StyleBigWigs, nil, nil, "ADDON_LOADED")
\ No newline at end of file
+STYLE:SaveAddonStyle("BigWigs", StyleBigWigs, nil, true)
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/DBM.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/DBM.lua
index 54670b0..89efad3 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/DBM.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/DBM.lua
@@ -207,4 +207,4 @@ local function StyleDBM(event, addon)
 	STYLE:SafeEventRemoval("DBM", event)
 end

-STYLE:SaveAddonStyle("DBM", StyleDBM, false, false, "PLAYER_ENTERING_WORLD", "ADDON_LOADED")
\ No newline at end of file
+STYLE:SaveAddonStyle("DBM", StyleDBM, false, true)
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/VEM.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/VEM.lua
index da72f35..3487c57 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/VEM.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/VEM.lua
@@ -245,4 +245,4 @@ local function StyleVEM(event, addon)
 		STYLE:SafeEventRemoval("VEM", event)
 	end
 end
-STYLE:SaveAddonStyle("VEM", StyleVEM, nil, nil, "PLAYER_ENTERING_WORLD", "ADDON_LOADED")
\ No newline at end of file
+STYLE:SaveAddonStyle("VEM", StyleVEM, nil, true)
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/_load.xml b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/_load.xml
index b32653f..aa9bc3a 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/_load.xml
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/_load.xml
@@ -1,6 +1,7 @@
 <Ui xmlns="http://www.blizzard.com/wow/ui/">
 	<Script file='ACP.lua'/>
 	<Script file='AdiBags.lua'/>
+	<Script file='Altoholic.lua'/>
 	<Script file='AtlasLoot.lua'/>
 	<Script file='AuctionLite.lua'/>
 	<Script file='alDamageMeter.lua'/>
diff --git a/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua b/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua
index 14d10f6..a282f53 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua
@@ -95,6 +95,41 @@ end
 CORE FUNCTIONS
 ##########################################################
 ]]--
+function STYLE:ApplyFrameStyle(this, template, noStripping, fullStripping)
+	if(not this or (this and this.Panel)) then return end
+	if not noStripping then this:Formula409(fullStripping) end
+	template = template or "Transparent"
+	this:SetPanelTemplate(template)
+end
+
+function STYLE:ApplyUnderlayStyle(this, template, noStripping, fullStripping)
+	if(not this or (this and this.Panel)) then return end
+	if not noStripping then this:Formula409(fullStripping) end
+	template = template or "Transparent"
+    this:SetFixedPanelTemplate(template)
+end
+
+function STYLE:ApplyButtonStyle(this)
+	if not this then return end
+    this:SetButtonTemplate()
+end
+
+function STYLE:ApplyEditBoxStyle(this, width, height)
+	if not this then return end
+    this:SetEditboxTemplate()
+    if width then this:Width(width) end
+	if height then this:Height(height) end
+end
+
+function STYLE:ApplyTextureStyle(this)
+	if not this then return end
+	this:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+	local parent = this:GetParent()
+	if(parent) then
+		this:FillInner(parent, 1, 1)
+	end
+end
+
 function STYLE:ApplyCloseButtonStyle(this, anchor)
 	if not this then return end
     if not this.hookedColors then
@@ -105,7 +140,11 @@ function STYLE:ApplyCloseButtonStyle(this, anchor)
     if anchor then
     	this:SetPoint("TOPRIGHT", anchor, "TOPRIGHT", 2, 2)
     end
-end
+end
+
+function STYLE:ApplyRotateStyle(this)
+	-- Do stuff
+end

 function STYLE:ApplyScrollStyle(this)
 	if(not this or (this and this.appliedStyle)) then return end
@@ -177,31 +216,33 @@ end

 local function TabHelper(this)
 	this:Formula409()
-	this:GetNormalTexture():SetTexCoord(0.1, 0.9, 0.1, 0.9)
-	this:GetNormalTexture():FillInner()
+	local nTex = this:GetNormalTexture()
+	if(nTex) then
+		nTex:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+		nTex:FillInner()
+	end
 	this.pushed = true;
 	this.backdrop = CreateFrame("Frame", nil, this)
 	this.backdrop:WrapOuter(this,1,1)
-	local level = this:GetFrameLevel()
-	if(level > 0) then
-		this.backdrop:SetFrameLevel(level - 1)
-	else
-		this.backdrop:SetFrameLevel(0)
-	end
-	this.backdrop:SetFixedPanelTemplate("Component", true)
-	this.backdrop:SetPanelColor("dark")
+	this.backdrop:SetFrameLevel(0)
+	this.backdrop:SetBackdrop({
+		bgFile = [[Interface\BUTTONS\WHITE8X8]],
+        tile = false,
+        tileSize = 0,
+        edgeFile = [[Interface\AddOns\SVUI\assets\artwork\Template\GLOW]],
+        edgeSize = 3,
+        insets = {
+            left = 0,
+            right = 0,
+            top = 0,
+            bottom = 0
+        }
+    });
+    this.backdrop:SetBackdropColor(0,0,0,1)
+	this.backdrop:SetBackdropBorderColor(0,0,0,1)
 	this:HookScript("OnEnter",Tab_OnEnter)
     this:HookScript("OnLeave",Tab_OnLeave)
-	hooksecurefunc(this:GetHighlightTexture(), "SetTexture", function(i, w)
-		if w ~= nil then
-			 i:SetTexture(0,0,0,0)
-		end
-	end)
-	hooksecurefunc(this:GetCheckedTexture(), "SetTexture", function(i, w)
-		if w ~= nil then
-			 i:SetTexture(0,0,0,0)
-		end
-	end)
+
 	local a,b,c,d,e = this:GetPoint()
 	this:Point(a,b,c,1,e)
 end;
@@ -373,14 +414,6 @@ function STYLE:ApplyTooltipStyle(frame)
 	frame.appliedStyle = true
 end

-function STYLE:ApplyFrameStyle(frame,template,noStripping,fullStripping)
-	if(not frame or (frame and frame.appliedStyle)) then return end
-	if not template then template = 'Transparent' end
-	if not noStripping then frame:Formula409(fullStripping) end
-	frame:SetPanelTemplate(template)
-	frame.appliedStyle = true
-end
-
 function STYLE:ApplyAlertStyle(frame)
 	if(not frame or (frame and frame.appliedStyle)) then return end
     local alertpanel = CreateFrame("Frame", nil, frame)