Quantcast

patched

Steven Jackson [09-02-14 - 02:15]
patched
Filename
Interface/AddOns/SVUI_DebugOMatic/SVUI_DebugOMatic.toc
Interface/AddOns/SVUI_DebugOMatic/SVUI_DebugOMatic.xml
Interface/AddOns/SVUI_DebugOMatic/debug.lua
Interface/AddOns/SVUI_StyleOMatic/addons/alert.lua
Interface/AddOns/SVUI_StyleOMatic/addons/archeology.lua
Interface/AddOns/SVUI_StyleOMatic/addons/barbershop.lua
Interface/AddOns/SVUI_StyleOMatic/addons/character.lua
Interface/AddOns/SVUI_StyleOMatic/addons/friends.lua
Interface/AddOns/SVUI_StyleOMatic/addons/guild.lua
Interface/AddOns/SVUI_StyleOMatic/addons/macro.lua
Interface/AddOns/SVUI_StyleOMatic/addons/petbattle.lua
Interface/AddOns/SVUI_StyleOMatic/addons/raid.lua
Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua
Interface/AddOns/SVUI_StyleOMatic/addons/taxi.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AdiBags.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/Bugsack.lua
Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/TradeSkillDW.lua
Interface/AddOns/SVUI_StyleOMatic/addons/timemanager.lua
Interface/AddOns/SVUI_StyleOMatic/common/methods.lua
diff --git a/Interface/AddOns/SVUI_DebugOMatic/SVUI_DebugOMatic.toc b/Interface/AddOns/SVUI_DebugOMatic/SVUI_DebugOMatic.toc
new file mode 100644
index 0000000..47da00f
--- /dev/null
+++ b/Interface/AddOns/SVUI_DebugOMatic/SVUI_DebugOMatic.toc
@@ -0,0 +1,9 @@
+## Interface: 50400
+## Author: Munglunch, Azilroka, Sortokk
+## Version: 1.6
+## Title: |cffFF9900SVUI |r|cffFFEF00Debug O Matic|r
+## Notes: Supervillain UI Debugging.
+## RequiredDeps: SVUI
+## OptionalDeps: Blizzard_DebugTools
+
+SVUI_DebugOMatic.xml
diff --git a/Interface/AddOns/SVUI_DebugOMatic/SVUI_DebugOMatic.xml b/Interface/AddOns/SVUI_DebugOMatic/SVUI_DebugOMatic.xml
new file mode 100644
index 0000000..a3f97ba
--- /dev/null
+++ b/Interface/AddOns/SVUI_DebugOMatic/SVUI_DebugOMatic.xml
@@ -0,0 +1,116 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+    <Script file='debug.lua'/>
+
+	<Frame name="SVUI_ScriptError" movable="true" hidden="true" frameStrata="DIALOG">
+        <Size x="384" y="260"/>
+        <Anchors>
+            <Anchor point="TOPLEFT"/>
+        </Anchors>
+        <Layers>
+            <Layer level="BACKGROUND">
+                <Texture name="$parentBG" setAllPoints="true"/>
+            </Layer>
+            <Layer level="OVERLAY">
+                <Texture name="$parentTitleBG">
+                    <Anchors>
+                        <Anchor point="TOPLEFT">
+                            <Offset x="8" y="-8"/>
+                        </Anchor>
+                        <Anchor point="BOTTOMRIGHT" relativePoint="TOPRIGHT">
+                            <Offset x="-32" y="-24"/>
+                        </Anchor>
+                    </Anchors>
+                </Texture>
+                <Texture name="$parentDialogBG">
+                    <Anchors>
+                        <Anchor point="TOPLEFT">
+                            <Offset x="8" y="-32"/>
+                        </Anchor>
+                        <Anchor point="BOTTOMRIGHT">
+                            <Offset x="-32" y="32"/>
+                        </Anchor>
+                    </Anchors>
+                </Texture>
+            </Layer>
+            <Layer level="ARTWORK">
+                <FontString parentKey="Title" inherits="GameFontNormal">
+                    <Anchors>
+                        <Anchor point="TOPLEFT">
+                            <Offset x="8" y="-8"/>
+                        </Anchor>
+                        <Anchor point="TOPRIGHT">
+                            <Offset x="-32" y="-24"/>
+                        </Anchor>
+                    </Anchors>
+                </FontString>
+                <FontString parentKey="sourceLabel" font="GameFontNormalCenter">
+                    <Size x="140" y="16"/>
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT">
+                            <Offset x="104" y="8"/>
+                        </Anchor>
+                    </Anchors>
+                </FontString>
+            </Layer>
+        </Layers>
+        <Frames>
+            <ScrollFrame name="$parentDialog" inherits="MinimalScrollFrameTemplate">
+                <Size x="343" y="194"/>
+                <Anchors>
+                    <Anchor point="TOPLEFT">
+                        <Offset x="12" y="-30"/>
+                    </Anchor>
+                </Anchors>
+                <ScrollChild>
+                    <EditBox parentKey="Input" multiLine="true" letters="4000" autoFocus="false">
+                        <Size x="343" y="194"/>
+                        <Scripts>
+                            <OnCursorChanged function="ScrollingEdit_OnCursorChanged"/>
+                            <OnUpdate>
+                                ScrollingEdit_OnUpdate(self, elapsed, self:GetParent());
+                            </OnUpdate>
+                            <OnEditFocusGained>
+                                self:HighlightText(0);
+                            </OnEditFocusGained>
+                            <OnEscapePressed function="EditBox_ClearFocus"/>
+                        </Scripts>
+                        <FontString inherits="GameFontHighlightSmall"/>
+                    </EditBox>
+                </ScrollChild>
+            </ScrollFrame>
+            <Button parentKey="Clear" inherits="UIPanelButtonTemplate" text="RESET">
+                <Size x="96" y="24"/>
+                <Anchors>
+                    <Anchor point="BOTTOMLEFT">
+                        <Offset x="8" y="4"/>
+                    </Anchor>
+                </Anchors>
+                <Scripts>
+                    <OnClick>
+						local frame = _G["SVUI_ScriptErrorDialog"];
+						frame.Input:SetText("");
+                    </OnClick>
+                </Scripts>
+            </Button>
+            <Button parentKey="Close" inherits="UIPanelCloseButton">
+                <Anchors>
+                    <Anchor point="TOPRIGHT">
+                        <Offset x="-2" y="-2"/>
+                    </Anchor>
+                </Anchors>
+            </Button>
+        </Frames>
+        <Scripts>
+            <OnLoad function="SVUI_ScriptError_OnLoad"/>
+            <OnShow function="SVUI_ScriptError_OnShow"/>
+            <OnDragStart>
+                _G["SVUI_ScriptError"].moving = true;
+                _G["SVUI_ScriptError"]:StartMoving();
+            </OnDragStart>
+            <OnDragStop>
+                _G["SVUI_ScriptError"].moving = nil;
+                _G["SVUI_ScriptError"]:StopMovingOrSizing();
+            </OnDragStop>
+        </Scripts>
+    </Frame>
+</Ui>
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_DebugOMatic/debug.lua b/Interface/AddOns/SVUI_DebugOMatic/debug.lua
new file mode 100644
index 0000000..37a3a44
--- /dev/null
+++ b/Interface/AddOns/SVUI_DebugOMatic/debug.lua
@@ -0,0 +1,295 @@
+--[[
+##############################################################################
+_____/\\\\\\\\\\\____/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\_       #
+ ___/\\\/////////\\\_\/\\\_______\/\\\_\/\\\_______\/\\\_\/////\\\///__      #
+  __\//\\\______\///__\//\\\______/\\\__\/\\\_______\/\\\_____\/\\\_____     #
+   ___\////\\\__________\//\\\____/\\\___\/\\\_______\/\\\_____\/\\\_____    #
+    ______\////\\\________\//\\\__/\\\____\/\\\_______\/\\\_____\/\\\_____   #
+     _________\////\\\______\//\\\/\\\_____\/\\\_______\/\\\_____\/\\\_____  #
+      __/\\\______\//\\\______\//\\\\\______\//\\\______/\\\______\/\\\_____ #
+       _\///\\\\\\\\\\\/________\//\\\________\///\\\\\\\\\/____/\\\\\\\\\\\_#
+        ___\///////////___________\///___________\/////////_____\///////////_#
+##############################################################################
+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 type      = _G.type;
+local tostring  = _G.tostring;
+local tonumber  = _G.tonumber;
+local tinsert   = _G.tinsert;
+local string    = _G.string;
+local math      = _G.math;
+local table     = _G.table;
+--[[ STRING METHODS ]]--
+local format, find, lower, match = string.format, string.find, string.lower, string.match;
+--[[ MATH METHODS ]]--
+local floor, abs, min, max = math.floor, math.abs, math.min, math.max;
+--[[ TABLE METHODS ]]--
+local tremove, tcopy, twipe, tsort, tconcat, tdump = table.remove, table.copy, table.wipe, table.sort, table.concat, table.dump;
+--[[
+##########################################################
+GET ADDON DATA
+##########################################################
+]]--
+local SuperVillain, L = unpack(SVUI);
+local ErrorStorage = {}
+--[[
+##########################################################
+CUSTOM MESSAGE WINDOW
+##########################################################
+]]--
+function SVUI_ScriptError_OnLoad()
+    SVUI_ScriptError.Source = "";
+    SVUI_ScriptError:SetFixedPanelTemplate("Transparent")
+    SVUI_ScriptErrorDialog:SetFixedPanelTemplate("Transparent")
+    SVUI_ScriptErrorDialog.Input:SetScript("OnTextChanged", function(self, userInput)
+        if userInput then return end;
+        local _, max = SVUI_ScriptErrorDialogScrollBar:GetMinMaxValues()
+        for i = 1, max do
+          ScrollFrameTemplate_OnMouseWheel(SVUI_ScriptErrorDialog, -1)
+        end
+    end)
+    _G["SVUI_ScriptError"]:RegisterForDrag("LeftButton");
+end;
+
+function SVUI_ScriptError_OnShow()
+    if SVUI_ScriptError.Source then
+        local txt = SVUI_ScriptError.Source;
+        SVUI_ScriptError.Title:SetText(txt);
+    end
+end;
+--[[
+##########################################################
+OTHER SLASH COMMANDS
+##########################################################
+]]--
+local function GetOriginalContext()
+    UIParentLoadAddOn("Blizzard_DebugTools")
+    local orig_DevTools_RunDump = DevTools_RunDump
+    local originalContext
+    DevTools_RunDump = function(value, context)
+        originalContext = context
+    end
+    DevTools_Dump("")
+    DevTools_RunDump = orig_DevTools_RunDump
+    return originalContext
+end
+
+local function SuperVillain_Dump(value)
+    local context = GetOriginalContext()
+    local buffer = ""
+    context.Write = function(self, msg)
+        buffer = buffer.."\n"..msg
+    end
+
+    DevTools_RunDump(value, context)
+    return buffer.."\n"..table.dump(value)
+end
+
+local function DebugDump(any)
+    if type(any)=="string" then
+        return any
+    elseif type(any) == "table" then
+        return SuperVillain_Dump(any)
+    elseif any==nil or type(any)=="number" then
+        return tostring(any)
+    end
+    return any
+end
+
+local function DebugOutput(msg)
+    if not SVUI_ScriptError:IsShown() then
+        SVUI_ScriptError:Show()
+    end
+    local outputString = SVUI_ScriptErrorDialog.Input:GetText()
+    outputString = outputString .. "\n" .. msg
+    tinsert(ErrorStorage,msg);
+    SVUI_ScriptErrorDialog.Input:SetText(outputString)
+end;
+
+local function ShowDebug(header, ...)
+    local value = (header and format("Debug %s: ", header)) or "Debug: "
+    value = format("|cff11ff11 %s|r", value)
+    for i = 1, select('#', ...), 2 do
+        local name = select(i, ...)
+        local var = DebugDump(select(i+1, ...))
+        value = format("%s %s = ", value, name)..var
+    end
+    SVUI_ScriptError.Source = header;
+    DebugOutput(value)
+end
+
+local function DebugThisFrame(arg)
+    local outputString = " ";
+    if arg then
+        arg = _G[arg] or GetMouseFocus()
+    else
+        arg = GetMouseFocus()
+    end
+    if arg and (arg.GetName and arg:GetName()) then
+        local point, relativeTo, relativePoint, xOfs, yOfs = arg:GetPoint()
+        outputString = outputString.."|cffCC0000----------------------------".."\n"
+        outputString = outputString.."|cffCC00FF--Mouseover Frame".."|r".."\n"
+        outputString = outputString.."|cffCC0000----------------------------|r".."\n"
+        outputString = outputString.."|cff00D1FF".."Name: |cffFFD100"..arg:GetName().."\n"
+        if arg:GetParent() and arg:GetParent():GetName() then
+            outputString = outputString.."|cff00D1FF".."Parent: |cffFFD100"..arg:GetParent():GetName().."\n"
+        end
+        outputString = outputString.."|cff00D1FF".."Width: |cffFFD100"..format("%.2f",arg:GetWidth()).."\n"
+        outputString = outputString.."|cff00D1FF".."Height: |cffFFD100"..format("%.2f",arg:GetHeight()).."\n"
+        outputString = outputString.."|cff00D1FF".."Strata: |cffFFD100"..arg:GetFrameStrata().."\n"
+        outputString = outputString.."|cff00D1FF".."Level: |cffFFD100"..arg:GetFrameLevel().."\n"
+        outputString = outputString.."|cff00D1FF".."IsShown: |cffFFD100"..tostring(arg:IsShown()).."\n"
+        if xOfs then
+            outputString = outputString.."|cff00D1FF".."X: |cffFFD100"..format("%.2f",xOfs).."\n"
+        end
+        if yOfs then
+            outputString = outputString.."|cff00D1FF".."Y: |cffFFD100"..format("%.2f",yOfs).."\n"
+        end
+        if relativeTo and relativeTo:GetName() then
+            outputString = outputString.."|cff00D1FF".."Point: |cffFFD100"..point.."|r anchored to "..relativeTo:GetName().."'s |cffFFD100"..relativePoint.."\n"
+        end
+        local bg = arg:GetBackdrop()
+        if type(bg) == "table" then
+            outputString = outputString.."|cffFF9900>> BACKDROP --------------------------|r".."\n"
+            outputString = outputString..tdump(bg).."\n"
+        end
+        if arg._template then
+            outputString = outputString.."Template Name: |cff00FF55"..arg._template.."\n"
+        end
+        if arg.Panel then
+            local cpt, crt, crp, cxo, cyo = arg.Panel:GetPoint()
+            outputString = outputString.."|cffFF8800>> backdropFrame --------------------------|r".."\n"
+            outputString = outputString.."|cff00D1FF".."Width: |cffFFD100"..format("%.2f",arg.Panel:GetWidth()).."\n"
+            outputString = outputString.."|cff00D1FF".."Height: |cffFFD100"..format("%.2f",arg.Panel:GetHeight()).."\n"
+            outputString = outputString.."|cff00D1FF".."Strata: |cffFFD100"..arg.Panel:GetFrameStrata().."\n"
+            outputString = outputString.."|cff00D1FF".."Level: |cffFFD100"..arg.Panel:GetFrameLevel().."\n"
+            if cxo then
+                outputString = outputString.."|cff00D1FF".."X: |cffFFD100"..format("%.2f",cxo).."\n"
+            end
+            if cyo then
+                outputString = outputString.."|cff00D1FF".."Y: |cffFFD100"..format("%.2f",cyo).."\n"
+            end
+            if crt and crt:GetName() then
+                outputString = outputString.."|cff00D1FF".."Point: |cffFFD100"..cpt.."|r anchored to "..crt:GetName().."'s |cffFFD100"..crp.."\n"
+            end
+            bg = arg.Panel:GetBackdrop()
+            if type(bg) == "table" then
+                outputString = outputString.."|cffFF9900>> BACKDROP --------------------------|r".."\n"
+                outputString = outputString..tdump(bg).."\n"
+            end
+            if arg._skin then
+                local cpt, crt, crp, cxo, cyo = arg._skin:GetPoint()
+                outputString = outputString.."|cffFF7700>> backdropTexture --------------------------|r".."\n"
+                outputString = outputString.."|cff00D1FF".."Width: |cffFFD100"..format("%.2f",arg._skin:GetWidth()).."\n"
+                outputString = outputString.."|cff00D1FF".."Height: |cffFFD100"..format("%.2f",arg._skin:GetHeight()).."\n"
+                if cxo then
+                    outputString = outputString.."|cff00D1FF".."X: |cffFFD100"..format("%.2f",cxo).."\n"
+                end
+                if cyo then
+                    outputString = outputString.."|cff00D1FF".."Y: |cffFFD100"..format("%.2f",cyo).."\n"
+                end
+                if crt and crt:GetName() then
+                    outputString = outputString.."|cff00D1FF".."Point: |cffFFD100"..cpt.."|r anchored to "..crt:GetName().."'s |cffFFD100"..crp.."\n"
+                end
+                bg = arg._skin:GetTexture()
+                if bg then
+                    outputString = outputString.."|cff00D1FF".."Texture: |cffFFD100"..bg.."\n"
+                end
+            end
+        end
+        local childFrames = { arg:GetChildren() }
+        if #childFrames > 0 then
+            outputString = outputString.."|cffCC00FF>>>> Child Frames----------------------------".."|r".."\n".."\n"
+            for _, child in ipairs(childFrames) do
+                local cpt, crt, crp, cxo, cyo = child:GetPoint()
+                if child:GetName() then
+                    outputString = outputString.."|cff00FF55++"..child:GetName().."|r".."\n"
+                else
+                    outputString = outputString.."|cff99FF55+!!+".."Anonymous Frame".."|r".."\n"
+                end
+                outputString = outputString.."|cffCC00FF----------------------------|r".."\n"
+                outputString = outputString.."|cff00D1FF".."Width: |cffFFD100"..format("%.2f",child:GetWidth()).."\n"
+                outputString = outputString.."|cff00D1FF".."Height: |cffFFD100"..format("%.2f",child:GetHeight()).."\n"
+                outputString = outputString.."|cff00D1FF".."Strata: |cffFFD100"..child:GetFrameStrata().."\n"
+                outputString = outputString.."|cff00D1FF".."Level: |cffFFD100"..child:GetFrameLevel().."\n"
+                if cxo then
+                    outputString = outputString.."|cff00D1FF".."X: |cffFFD100"..format("%.2f",cxo).."\n"
+                end
+                if cyo then
+                    outputString = outputString.."|cff00D1FF".."Y: |cffFFD100"..format("%.2f",cyo).."\n"
+                end
+                if crt and crt:GetName() then
+                    outputString = outputString.."|cff00D1FF".."Point: |cffFFD100"..cpt.."|r anchored to "..crt:GetName().."'s |cffFFD100"..crp.."\n"
+                end
+                bg = child:GetBackdrop()
+                if type(bg) == "table" then
+                    outputString = outputString.."|cffFF9900>> BACKDROP --------------------------|r".."\n"
+                    outputString = outputString..tdump(bg).."\n"
+                end
+                if child._template then
+                    outputString = outputString.."Template Name: |cff00FF55"..child._template.."\n"
+                end
+                if child.Panel then
+                    local cpt, crt, crp, cxo, cyo = child.Panel:GetPoint()
+                    outputString = outputString.."|cffFF8800>> backdropFrame --------------------------|r".."\n"
+                    outputString = outputString.."|cff00D1FF".."Width: |cffFFD100"..format("%.2f",child.Panel:GetWidth()).."\n"
+                    outputString = outputString.."|cff00D1FF".."Height: |cffFFD100"..format("%.2f",child.Panel:GetHeight()).."\n"
+                    outputString = outputString.."|cff00D1FF".."Strata: |cffFFD100"..child.Panel:GetFrameStrata().."\n"
+                    outputString = outputString.."|cff00D1FF".."Level: |cffFFD100"..child.Panel:GetFrameLevel().."\n"
+                    if cxo then
+                        outputString = outputString.."|cff00D1FF".."X: |cffFFD100"..format("%.2f",cxo).."\n"
+                    end
+                    if cyo then
+                        outputString = outputString.."|cff00D1FF".."Y: |cffFFD100"..format("%.2f",cyo).."\n"
+                    end
+                    if crt and crt:GetName() then
+                        outputString = outputString.."|cff00D1FF".."Point: |cffFFD100"..cpt.."|r anchored to "..crt:GetName().."'s |cffFFD100"..crp.."\n"
+                    end
+                    bg = child.Panel:GetBackdrop()
+                    if type(bg) == "table" then
+                        outputString = outputString.."|cffFF9900>> BACKDROP --------------------------|r".."\n"
+                        outputString = outputString..tdump(bg).."\n"
+                    end
+                    if child._skin then
+                        local cpt, crt, crp, cxo, cyo = child._skin:GetPoint()
+                        outputString = outputString.."|cffFF7700>> backdropTexture --------------------------|r".."\n"
+                        outputString = outputString.."|cff00D1FF".."Width: |cffFFD100"..format("%.2f",child._skin:GetWidth()).."\n"
+                        outputString = outputString.."|cff00D1FF".."Height: |cffFFD100"..format("%.2f",child._skin:GetHeight()).."\n"
+                        if cxo then
+                            outputString = outputString.."|cff00D1FF".."X: |cffFFD100"..format("%.2f",cxo).."\n"
+                        end
+                        if cyo then
+                            outputString = outputString.."|cff00D1FF".."Y: |cffFFD100"..format("%.2f",cyo).."\n"
+                        end
+                        if crt and crt:GetName() then
+                            outputString = outputString.."|cff00D1FF".."Point: |cffFFD100"..cpt.."|r anchored to "..crt:GetName().."'s |cffFFD100"..crp.."\n"
+                        end
+                        bg = child._skin:GetTexture()
+                        if bg then
+                            outputString = outputString.."|cffFF9900----------------------------|r".."\n"
+                            outputString = outputString..bg.."\n"
+                        end
+                        outputString = outputString.."|cffCC0000----------------------------|r".."\n"
+                    end
+                end
+            end
+            outputString = outputString.."\n\n"
+        end
+    elseif arg == nil or arg == "" then
+        outputString = outputString.."Invalid frame name".."\n"
+    else
+        outputString = outputString.."Could not find frame info".."\n"
+    end
+    DebugOutput(outputString)
+end;
+SLASH_SVUI_FRAME_DEBUG1="/svdf"
+SlashCmdList["SVUI_FRAME_DEBUG"] = DebugThisFrame;
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/alert.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/alert.lua
index ce87424..0f4f93e 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/alert.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/alert.lua
@@ -56,10 +56,10 @@ local function AlertStyle()
 			if frame then
 				frame:SetAlpha(1)
 				hooksecurefunc(frame, "SetAlpha", AlphaHelper)
-				if not frame.Panel then
-					frame:SetPanelTemplate("Transparent", true)
-					frame.Panel:Point("TOPLEFT", _G[frame:GetName().."Background"], "TOPLEFT", -2, -6)
-					frame.Panel:Point("BOTTOMRIGHT", _G[frame:GetName().."Background"], "BOTTOMRIGHT", -2, 6)
+				if not frame.BasicBG then
+					STYLE:SetBasicBG(frame)
+					frame.BasicBG:Point("TOPLEFT", _G[frame:GetName().."Background"], "TOPLEFT", -2, -6)
+					frame.BasicBG:Point("BOTTOMRIGHT", _G[frame:GetName().."Background"], "BOTTOMRIGHT", -2, 6)
 				end;
 				_G["AchievementAlertFrame"..i.."Background"]:SetTexture(0,0,0,0)
 				_G["AchievementAlertFrame"..i.."OldAchievement"]:MUNG()
@@ -90,10 +90,10 @@ local function AlertStyle()
 			if frame then
 				frame:SetAlpha(1)
 				hooksecurefunc(frame, "SetAlpha", AlphaHelper)
-				if not frame.Panel then
-					frame:SetPanelTemplate("Transparent", true)
-					frame.Panel:Point("TOPLEFT", frame, "TOPLEFT", -2, -6)
-					frame.Panel:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 6)
+				if not frame.BasicBG then
+					STYLE:SetBasicBG(frame)
+					frame.BasicBG:Point("TOPLEFT", frame, "TOPLEFT", -2, -6)
+					frame.BasicBG:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 6)
 				end;
 				frame.shine:MUNG()
 				frame.glowFrame:MUNG()
@@ -123,10 +123,10 @@ local function AlertStyle()
 		if frame then
 			frame:SetAlpha(1)
 			hooksecurefunc(frame, "SetAlpha", AlphaHelper)
-			if not frame.Panel then
-				frame:SetPanelTemplate("Transparent", true)
-				frame.Panel:Point("TOPLEFT", frame, "TOPLEFT", -2, -6)
-				frame.Panel:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 6)
+			if not frame.BasicBG then
+				STYLE:SetBasicBG(frame)
+				frame.BasicBG:Point("TOPLEFT", frame, "TOPLEFT", -2, -6)
+				frame.BasicBG:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 6)
 			end;
 			local j = select(2, frame:GetRegions())
 			if j:GetObjectType() == "Texture"then
@@ -151,10 +151,10 @@ local function AlertStyle()
 		if frame then
 			frame:SetAlpha(1)
 			hooksecurefunc(frame, "SetAlpha", AlphaHelper)
-			if not frame.Panel then
-				frame:SetPanelTemplate("Transparent", true)
-				frame.Panel:Point("TOPLEFT", frame, "TOPLEFT", 19, -6)
-				frame.Panel:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -22, 6)
+			if not frame.BasicBG then
+				STYLE:SetBasicBG(frame)
+				frame.BasicBG:Point("TOPLEFT", frame, "TOPLEFT", 19, -6)
+				frame.BasicBG:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -22, 6)
 			end;
 			for i = 1, frame:GetNumRegions()do
 				local j = select(i, frame:GetRegions())
@@ -168,7 +168,7 @@ local function AlertStyle()
 			ChallengeModeAlertFrame1Border:MUNG()
 			ChallengeModeAlertFrame1DungeonTexture:SetTexCoord(0.1, 0.9, 0.1, 0.9)
 			ChallengeModeAlertFrame1DungeonTexture:ClearAllPoints()
-			ChallengeModeAlertFrame1DungeonTexture:Point("LEFT", frame.Panel, 9, 0)
+			ChallengeModeAlertFrame1DungeonTexture:Point("LEFT", frame.BasicBG, 9, 0)
 			if not ChallengeModeAlertFrame1DungeonTexture.b then
 				ChallengeModeAlertFrame1DungeonTexture.b = CreateFrame("Frame", nil, frame)
 				ChallengeModeAlertFrame1DungeonTexture.b:SetFixedPanelTemplate("Default")
@@ -183,10 +183,10 @@ local function AlertStyle()
 		if frame then
 			frame:SetAlpha(1)
 			hooksecurefunc(frame, "SetAlpha", AlphaHelper)
-			if not frame.Panel then
-				frame:SetPanelTemplate("Transparent", true)
-				frame.Panel:Point("TOPLEFT", frame, "TOPLEFT", 4, 4)
-				frame.Panel:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -7, 6)
+			if not frame.BasicBG then
+				STYLE:SetBasicBG(frame)
+				frame.BasicBG:Point("TOPLEFT", frame, "TOPLEFT", 4, 4)
+				frame.BasicBG:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -7, 6)
 			end;
 			for i = 1, frame:GetNumRegions()do
 				local j = select(i, frame:GetRegions())
@@ -199,7 +199,7 @@ local function AlertStyle()
 			ScenarioAlertFrame1GlowFrame.glow:MUNG()
 			ScenarioAlertFrame1DungeonTexture:SetTexCoord(0.1, 0.9, 0.1, 0.9)
 			ScenarioAlertFrame1DungeonTexture:ClearAllPoints()
-			ScenarioAlertFrame1DungeonTexture:Point("LEFT", frame.Panel, 9, 0)
+			ScenarioAlertFrame1DungeonTexture:Point("LEFT", frame.BasicBG, 9, 0)
 			if not ScenarioAlertFrame1DungeonTexture.b then
 				ScenarioAlertFrame1DungeonTexture.b = CreateFrame("Frame", nil, frame)
 				ScenarioAlertFrame1DungeonTexture.b:SetFixedPanelTemplate("Default")
@@ -215,10 +215,10 @@ local function AlertStyle()
 			if frame then
 				frame:SetAlpha(1)
 				hooksecurefunc(frame, "SetAlpha", AlphaHelper)
-				if not frame.Panel then
-					frame:SetPanelTemplate("Transparent", true)
-					frame.Panel:Point("TOPLEFT", frame, "TOPLEFT", -2, -6)
-					frame.Panel:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 6)
+				if not frame.BasicBG then
+					STYLE:SetBasicBG(frame)
+					frame.BasicBG:Point("TOPLEFT", frame, "TOPLEFT", -2, -6)
+					frame.BasicBG:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 6)
 				end;
 				_G["CriteriaAlertFrame"..i.."Unlocked"]:SetTextColor(1, 1, 1)
 				_G["CriteriaAlertFrame"..i.."Name"]:SetTextColor(1, 1, 0)
@@ -256,10 +256,10 @@ local function AlertStyle()
 					frame.Icon.b:WrapOuter(frame.Icon)
 					frame.Icon:SetParent(frame.Icon.b)
 				end;
-				if not frame.Panel then
-					frame:SetPanelTemplate("Transparent", true)
-					frame.Panel:SetPoint("TOPLEFT", frame.Icon.b, "TOPLEFT", -4, 4)
-					frame.Panel:SetPoint("BOTTOMRIGHT", frame.Icon.b, "BOTTOMRIGHT", 180, -4)
+				if not frame.BasicBG then
+					STYLE:SetBasicBG(frame)
+					frame.BasicBG:SetPoint("TOPLEFT", frame.Icon.b, "TOPLEFT", -4, 4)
+					frame.BasicBG:SetPoint("BOTTOMRIGHT", frame.Icon.b, "BOTTOMRIGHT", 180, -4)
 				end
 			end
 		end
@@ -280,10 +280,10 @@ local function AlertStyle()
 					frame.Icon.b:WrapOuter(frame.Icon)
 					frame.Icon:SetParent(frame.Icon.b)
 				end;
-				if not frame.Panel then
-					frame:SetPanelTemplate("Transparent", true)
-					frame.Panel:SetPoint("TOPLEFT", frame.Icon.b, "TOPLEFT", -4, 4)
-					frame.Panel:SetPoint("BOTTOMRIGHT", frame.Icon.b, "BOTTOMRIGHT", 180, -4)
+				if not frame.BasicBG then
+					STYLE:SetBasicBG(frame)
+					frame.BasicBG:SetPoint("TOPLEFT", frame.Icon.b, "TOPLEFT", -4, 4)
+					frame.BasicBG:SetPoint("BOTTOMRIGHT", frame.Icon.b, "BOTTOMRIGHT", 180, -4)
 				end
 			end
 		end
@@ -299,9 +299,9 @@ local function AlertStyle()
 	frame.Icon.b:SetFixedPanelTemplate("Default")
 	frame.Icon.b:WrapOuter(frame.Icon)
 	frame.Icon:SetParent(frame.Icon.b)
-	frame:SetPanelTemplate("Transparent", true)
-	frame.Panel:SetPoint("TOPLEFT", frame.Icon.b, "TOPLEFT", -4, 4)
-	frame.Panel:SetPoint("BOTTOMRIGHT", frame.Icon.b, "BOTTOMRIGHT", 180, -4)
+	STYLE:SetBasicBG(frame)
+	frame.BasicBG:SetPoint("TOPLEFT", frame.Icon.b, "TOPLEFT", -4, 4)
+	frame.BasicBG:SetPoint("BOTTOMRIGHT", frame.Icon.b, "BOTTOMRIGHT", 180, -4)

 	local frame = BonusRollLootWonFrame;
 	frame:SetAlpha(1)
@@ -315,9 +315,9 @@ local function AlertStyle()
 	frame.Icon.b:SetFixedPanelTemplate("Default")
 	frame.Icon.b:WrapOuter(frame.Icon)
 	frame.Icon:SetParent(frame.Icon.b)
-	frame:SetPanelTemplate("Transparent", true)
-	frame.Panel:SetPoint("TOPLEFT", frame.Icon.b, "TOPLEFT", -4, 4)
-	frame.Panel:SetPoint("BOTTOMRIGHT", frame.Icon.b, "BOTTOMRIGHT", 180, -4)
+	STYLE:SetBasicBG(frame)
+	frame.BasicBG:SetPoint("TOPLEFT", frame.Icon.b, "TOPLEFT", -4, 4)
+	frame.BasicBG:SetPoint("BOTTOMRIGHT", frame.Icon.b, "BOTTOMRIGHT", 180, -4)
 end;
 --[[
 ##########################################################
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/archeology.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/archeology.lua
index 63e6c84..4bff2f3 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/archeology.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/archeology.lua
@@ -29,7 +29,7 @@ SuperVillain:SetSVMovable(progressBarHolder, "Archeology Progress Bar")
 local function ArchaeologyStyle()
 	if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.archaeology ~= true then return end ArchaeologyFrame:Formula409()
 	ArchaeologyFrameInset:Formula409()
-	ArchaeologyFrame:SetPanelTemplate("Transparent")
+	ArchaeologyFrame:SetPanelTemplate("Halftone")
 	ArchaeologyFrame.Panel:SetAllPoints()
 	ArchaeologyFrame.portrait:SetAlpha(0)
 	ArchaeologyFrameInset:SetPanelTemplate("Inset")
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/barbershop.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/barbershop.lua
index 4063373..87d1b68 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/barbershop.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/barbershop.lua
@@ -55,7 +55,7 @@ local function BarberShopStyle()
 	BarberShopAltFormFrameBorder:Formula409()
 	BarberShopAltFormFrame:Point("BOTTOM", BarberShopFrame, "TOP", 0, 5)
 	BarberShopAltFormFrame:Formula409()
-	BarberShopAltFormFrame:SetPanelTemplate("Transparent", true)
+	STYLE:SetBasicBG(BarberShopAltFormFrame)
 end;
 --[[
 ##########################################################
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/character.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/character.lua
index 63e305d..c194e6c 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/character.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/character.lua
@@ -257,8 +257,9 @@ local function CharacterFrameStyle()
 	CharacterFrame:SetPanelTemplate("Action")
 	CharacterModelFrame:SetPanelTemplate("Comic", false, 0)
 	CharacterFrameExpandButton:SetFrameLevel(CharacterModelFrame:GetFrameLevel() + 5)
-	CharacterStatsPane:SetFixedPanelTemplate("Inset")
-	PaperDollTitlesPane:SetFixedPanelTemplate("Inset")
+	--STYLE:SetBasicBG(CharacterStatsPane)
+	STYLE:SetBasicBG(PaperDollTitlesPane)
+
 	PaperDollTitlesPane:HookScript("OnShow", function(f)
 		for _,btn in pairs(PaperDollTitlesPane.buttons)do
 			btn.BgTop:SetTexture(0,0,0,0)
@@ -266,10 +267,11 @@ local function CharacterFrameStyle()
 			btn.BgMiddle:SetTexture(0,0,0,0)
 			btn.Check:SetTexture(0,0,0,0)
 			btn.text:FillInner(btn)
-			btn.text:SetFontTemplate(SuperVillain.Media.font.roboto,10,"NONE","LEFT")
+			btn.text:SetFont(SuperVillain.Media.font.roboto,10,"NONE","LEFT")
 		end
 	end)
-	PaperDollEquipmentManagerPane:SetFixedPanelTemplate("Inset")
+
+	STYLE:SetBasicBG(PaperDollEquipmentManagerPane)
 	PaperDollEquipmentManagerPaneEquipSet:SetButtonTemplate()
 	PaperDollEquipmentManagerPaneSaveSet:SetButtonTemplate()
 	PaperDollEquipmentManagerPaneEquipSet:Width(PaperDollEquipmentManagerPaneEquipSet:GetWidth()-8)
@@ -305,9 +307,12 @@ local function CharacterFrameStyle()
 		GearManagerDialogPopup:Point("LEFT", PaperDollFrame, "RIGHT", 4, 0)
 		GearManagerDialogPopupScrollFrame:Formula409()
 		GearManagerDialogPopupEditBox:Formula409()
-		GearManagerDialogPopupEditBox:SetFixedPanelTemplate("Default")
+
+		STYLE:SetBasicBG(GearManagerDialogPopupEditBox)
+
 		GearManagerDialogPopupOkay:SetButtonTemplate()
 		GearManagerDialogPopupCancel:SetButtonTemplate()
+
 		for i = 1, NUM_GEARSET_ICONS_SHOWN do
 			local e = _G["GearManagerDialogPopupButton"..i]
 			local texture = e.icon;
@@ -325,37 +330,46 @@ local function CharacterFrameStyle()
 			end
 		end
 	end)
+
 	for i = 1, 4 do
 		 STYLE:ApplyTabStyle(_G["CharacterFrameTab"..i])
-	end;
+	end
+
 	hooksecurefunc("PaperDollFrame_UpdateSidebarTabs", PaperDoll_UpdateTabs)
+
 	for i = 1, 7 do
-		 _G["CharacterStatsPaneCategory"..i]:Formula409()
-	end;
+		local category = _G["CharacterStatsPaneCategory"..i]
+		if(category) then
+			category:Formula409()
+			category:SetButtonTemplate()
+		end
+	end
+
 	ReputationFrame:Formula409(true)
 	ReputationListScrollFrame:Formula409()
 	ReputationDetailFrame:Formula409()
-	ReputationDetailFrame:SetFixedPanelTemplate("Pattern")
+	STYLE:SetBasicBG(ReputationDetailFrame)
 	ReputationDetailFrame:Point("TOPLEFT", ReputationFrame, "TOPRIGHT", 4, -28)
 	ReputationFrame:HookScript("OnShow", Reputation_OnShow)
 	hooksecurefunc("ExpandFactionHeader", Reputation_OnShow)
 	hooksecurefunc("CollapseFactionHeader", Reputation_OnShow)
-	TokenFrameContainer:SetFixedPanelTemplate("Transparent")
+	STYLE:SetBasicBG(TokenFrameContainer)
+
 	TokenFrame:HookScript("OnShow", function()
-		for i = 1, GetCurrencyListSize()do
-			local e = _G["TokenFrameContainerButton"..i]
-			if e then
-				 e.highlight:MUNG()
-				e.categoryMiddle:MUNG()
-				e.categoryLeft:MUNG()
-				e.categoryRight:MUNG()
-				if e.icon then
-					 e.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+		for i = 1, GetCurrencyListSize() do
+			local currency = _G["TokenFrameContainerButton"..i]
+			if(currency) then
+				currency.highlight:MUNG()
+				currency.categoryMiddle:MUNG()
+				currency.categoryLeft:MUNG()
+				currency.categoryRight:MUNG()
+				if currency.icon then
+					 currency.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
 				end
 			end
 		end;
 		TokenFramePopup:Formula409()
-		TokenFramePopup:SetFixedPanelTemplate("Transparent", true)
+		STYLE:SetBasicBG(TokenFramePopup)
 		TokenFramePopup:Point("TOPLEFT", TokenFrame, "TOPRIGHT", 4, -28)
 	end)
 	PetModelFrame:SetPanelTemplate("Comic",false,1,-7,-7)
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/friends.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/friends.lua
index 265edb6..4511e92 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/friends.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/friends.lua
@@ -117,7 +117,20 @@ FRIENDSFRAME STYLER
 local function FriendsFrameStyle()
 	if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.friends ~= true then
 		 return
-	end;
+	end
+
+	FriendsFrame.Panel = CreateFrame('Frame', nil, FriendsFrame)
+	FriendsFrame.Panel:WrapOuter(FriendsFrame)
+
+	local panelLevel = FriendsFrame:GetFrameLevel()
+
+	if((panelLevel - 1) >= 0) then
+		 FriendsFrame.Panel:SetFrameLevel(panelLevel - 1)
+	else
+		 FriendsFrame.Panel:SetFrameLevel(0)
+	end
+	FriendsFrame.Panel:SetPanelTemplate("Halftone")
+
 	STYLE:ApplyScrollStyle(FriendsFrameFriendsScrollFrameScrollBar, 5)
 	STYLE:ApplyScrollStyle(WhoListScrollFrameScrollBar, 5)
 	STYLE:ApplyScrollStyle(ChannelRosterScrollFrameScrollBar, 5)
@@ -125,7 +138,7 @@ local function FriendsFrameStyle()
 	FriendsFrameInset:Formula409()
 	WhoFrameListInset:Formula409()
 	WhoFrameEditBoxInset:Formula409()
-	WhoFrameEditBoxInset:SetEditboxTemplate()
+	STYLE:ApplyEditBoxStyle(WhoFrameEditBoxInset)
 	ChannelFrameRightInset:Formula409()
 	ChannelFrameLeftInset:Formula409()
 	ChannelFrameRightInset:SetFixedPanelTemplate("Inset", true)
@@ -134,9 +147,9 @@ local function FriendsFrameStyle()
 	LFRQueueFrameRoleInset:Formula409()
 	LFRQueueFrameCommentInset:Formula409()
 	LFRQueueFrameListInset:SetFixedPanelTemplate("Inset", true)
-	FriendsFrameFriendsScrollFrame:SetPanelTemplate("Transparent", true)
-	FriendsFrameFriendsScrollFrame.Panel:Point("TOPRIGHT", -4, 0)
-	WhoFrameListInset:SetPanelTemplate("Transparent", true, 1, -2, -2)
+	STYLE:SetBasicBG(FriendsFrameFriendsScrollFrame)
+	FriendsFrameFriendsScrollFrame.BasicBG:Point("TOPRIGHT", -4, 0)
+	STYLE:SetBasicBG(WhoFrameListInset)
 	for c, e in pairs(FriendsFrameButtons)do
 		 _G[e]:SetButtonTemplate()
 	end;
@@ -196,8 +209,7 @@ local function FriendsFrameStyle()
 	hooksecurefunc("FriendsFrame_OnEvent", function()
 		WhoListScrollFrame:Formula409()
 	end)
-	ChannelFrameDaughterFrame:SetPanelTemplate("Transparent", true)
-	FriendsFrame:SetPanelTemplate("Halftone")
+	STYLE:SetBasicBG(ChannelFrameDaughterFrame)
 	STYLE:ApplyCloseButtonStyle(ChannelFrameDaughterFrameDetailCloseButton, ChannelFrameDaughterFrame)
 	STYLE:ApplyCloseButtonStyle(FriendsFrameCloseButton, FriendsFrame.Panel)
 	STYLE:ApplyDropdownStyle(WhoFrameDropDown, 150)
@@ -208,7 +220,7 @@ local function FriendsFrameStyle()
 		 TabCustomHelper(_G["FriendsTabHeaderTab"..i])
 	end;
 	hooksecurefunc("ChannelList_Update", ChannelList_OnUpdate)
-	FriendsFriendsFrame:SetPanelTemplate("Transparent", true)
+	STYLE:SetBasicBG(FriendsFriendsFrame)
 	_G["FriendsFriendsFrame"]:Formula409()
 	_G["FriendsFriendsList"]:Formula409()
 	_G["FriendsFriendsNoteFrame"]:Formula409()
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/guild.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/guild.lua
index 2320753..7a79463 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/guild.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/guild.lua
@@ -101,7 +101,7 @@ local function GCTabHelper(tab)
 	tab.bg3:SetDrawLayer("BACKGROUND",2)
 	tab.bg3:SetTexture(0,0,0,1)
 	tab.bg3:SetAllPoints(tab.Panel)
-end;
+end

 local RankOrder_OnUpdate = function()
 	for b=1,GuildControlGetNumRanks()do
@@ -112,12 +112,12 @@ local RankOrder_OnUpdate = function()
 			frame.deleteButton:SetButtonTemplate()
 			if not frame.nameBox.Panel then
 				frame.nameBox:SetEditboxTemplate()
-			end;
+			end
 			frame.nameBox.Panel:Point("TOPLEFT",-2,-4)
 			frame.nameBox.Panel:Point("BOTTOMRIGHT",-4,4)
 		end
 	end
-end;
+end

 function GuildInfoEvents_SetButton(button, eventIndex)
 	local dateData = date("*t")
@@ -130,24 +130,24 @@ function GuildInfoEvents_SetButton(button, eventIndex)
 		local year = dateData["year"]
 		if month < dateData["month"] then
 			year = year + 1
-		end;
+		end
 		local newTime = time{year = year, month = month, day = day}
 		if(((newTime - time()) < 518400) and CALENDAR_WEEKDAY_NAMES[weekday]) then
 			unformattedText = CALENDAR_WEEKDAY_NAMES[weekday]
 		elseif CALENDAR_WEEKDAY_NAMES[weekday]and day and month then
 			unformattedText = format(GUILD_NEWS_DATE, CALENDAR_WEEKDAY_NAMES[weekday], day, month)
 		end
-	end;
+	end
 	if button.text and unformattedText then
 		button.text:SetFormattedText(GUILD_EVENT_FORMAT, unformattedText, formattedTime, title)
-	end;
+	end
 	button.index = eventIndex;
 	if button.icon.type ~= "event" then
 		button.icon.type = "event"
 		button.icon:SetTexCoord(0, 1, 0, 1)
 		button.icon:SetWidth(14)
 		button.icon:SetHeight(14)
-	end;
+	end
 	if CalendarIconList[eventType] then
 		button.icon:SetTexture(CalendarIconList[eventType])
 	else
@@ -162,18 +162,20 @@ GUILDFRAME STYLERS
 local function GuildBankStyle()
 	if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.gbank ~= true then
 		return
-	end;
+	end
 	GuildBankFrame:Formula409()
 	GuildBankFrame:SetPanelTemplate("Halftone")
 	GuildBankEmblemFrame:Formula409(true)
 	GuildBankMoneyFrameBackground:MUNG()
 	STYLE:ApplyScrollStyle(GuildBankPopupScrollFrameScrollBar)
-	for b = 1, GuildBankFrame:GetNumChildren()do
+
+	for b = 1, GuildBankFrame:GetNumChildren() do
 		local c = select(b, GuildBankFrame:GetChildren())
 		if c.GetPushedTexture and c:GetPushedTexture() and not c:GetName() then
 			STYLE:ApplyCloseButtonStyle(c)
 		end
-	end;
+	end
+
 	GuildBankFrameDepositButton:SetButtonTemplate()
 	GuildBankFrameWithdrawButton:SetButtonTemplate()
 	GuildBankInfoSaveButton:SetButtonTemplate()
@@ -185,43 +187,50 @@ local function GuildBankStyle()
 	GuildBankTransactionsScrollFrame:Formula409()

 	for b = 1, NUM_GUILDBANK_COLUMNS do
-		_G["GuildBankColumn"..b]:Formula409()
-		for d = 1, NUM_SLOTS_PER_GUILDBANK_GROUP do
-			local e = _G["GuildBankColumn"..b.."Button"..d]
-			local icon = _G["GuildBankColumn"..b.."Button"..d.."IconTexture"]
-			local texture = _G["GuildBankColumn"..b.."Button"..d.."NormalTexture"]
-			if texture then
-				texture:SetTexture(0,0,0,0)
-			end;
-			e:SetSlotTemplate()
-			icon:FillInner()
-			icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
-		end
-	end;
+		if(_G["GuildBankColumn"..b]) then
+			_G["GuildBankColumn"..b]:Formula409()
+			for d = 1, NUM_SLOTS_PER_GUILDBANK_GROUP do
+				local e = _G["GuildBankColumn"..b.."Button"..d]
+				local icon = _G["GuildBankColumn"..b.."Button"..d.."IconTexture"]
+				local texture = _G["GuildBankColumn"..b.."Button"..d.."NormalTexture"]
+				if texture then
+					texture:SetTexture(0,0,0,0)
+				end
+				e:SetSlotTemplate()
+				icon:FillInner()
+				icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+			end
+		end
+	end
+
 	for b = 1, 8 do
 		local e = _G["GuildBankTab"..b.."Button"]
-		local texture = _G["GuildBankTab"..b.."ButtonIconTexture"]
-		_G["GuildBankTab"..b]:Formula409(true)
-		e:Formula409()
-		e:SetButtonTemplate()
-		e:SetFixedPanelTemplate("Default")
-		texture:FillInner()
-		texture:SetTexCoord(0.1, 0.9, 0.1, 0.9)
-	end;
+		if(e) then
+			local texture = _G["GuildBankTab"..b.."ButtonIconTexture"]
+			_G["GuildBankTab"..b]:Formula409(true)
+			e:Formula409()
+			e:SetButtonTemplate()
+			e:SetFixedPanelTemplate("Default")
+			texture:FillInner()
+			texture:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+		end
+	end
+
 	for b = 1, 4 do
 		STYLE:ApplyTabStyle(_G["GuildBankFrameTab"..b])
-	end;
+	end
+
 	hooksecurefunc('GuildBankFrame_Update', function()
 		if GuildBankFrame.mode ~= "bank" then
 			return
-		end;
+		end
 		local f = GetCurrentGuildBankTab()
 		local e, g, h, i, j, k, l, m;
 		for b = 1, MAX_GUILDBANK_SLOTS_PER_TAB do
 			g = mod(b, NUM_SLOTS_PER_GUILDBANK_GROUP)
 			if g == 0 then
 				g = NUM_SLOTS_PER_GUILDBANK_GROUP
-			end;
+			end
 			h = ceil((b-0.5)/NUM_SLOTS_PER_GUILDBANK_GROUP)
 			e = _G["GuildBankColumn"..h.."Button"..g]
 			i = GetGuildBankItemLink(f, b)
@@ -234,10 +243,11 @@ local function GuildBankStyle()
 				end
 			else
 				k, l, m = 0,0,0,1
-			end;
+			end
 			e:SetBackdropBorderColor(k, l, m)
 		end
 	end)
+
 	GuildBankPopupFrame:Formula409()
 	GuildBankPopupScrollFrame:Formula409()
 	GuildBankPopupFrame:SetFixedPanelTemplate("Transparent", true)
@@ -252,23 +262,27 @@ local function GuildBankStyle()
 	GuildItemSearchBox:SetPanelTemplate("Overlay")
 	GuildItemSearchBox.Panel:Point("TOPLEFT", 10, -1)
 	GuildItemSearchBox.Panel:Point("BOTTOMRIGHT", 4, 1)
+
 	for b = 1, 16 do
 		local e = _G["GuildBankPopupButton"..b]
-		local icon = _G[e:GetName().."Icon"]
-		e:Formula409()
-		e:SetFixedPanelTemplate("Default")
-		e:SetButtonTemplate()
-		icon:FillInner()
-		icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
-	end;
+		if(e) then
+			local icon = _G[e:GetName().."Icon"]
+			e:Formula409()
+			e:SetFixedPanelTemplate("Default")
+			e:SetButtonTemplate()
+			icon:FillInner()
+			icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+		end
+	end
+
 	STYLE:ApplyScrollStyle(GuildBankTransactionsScrollFrameScrollBar)
 	STYLE:ApplyScrollStyle(GuildBankInfoScrollFrameScrollBar)
-end;
+end

 local function GuildFrameStyle()
 	if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.guild ~= true then
 		return
-	end;
+	end
 	GuildFrame:Formula409(true)
 	GuildFrame:SetPanelTemplate("Halftone")
 	GuildLevelFrame:MUNG()
@@ -276,23 +290,32 @@ local function GuildFrameStyle()
 	STYLE:ApplyCloseButtonStyle(GuildFrameCloseButton)
 	GuildRewardsFrameVisitText:ClearAllPoints()
 	GuildRewardsFrameVisitText:SetPoint("TOP", GuildRewardsFrame, "TOP", 0, 30)
-	for s, y in pairs(GuildFrameList)do
-		_G[y]:Formula409()
-	end;
-	GuildNewsBossModel:SetPanelTemplate("Transparent", true)
+
+	for _, gName in pairs(GuildFrameList)do
+		local frame = _G[gName]
+		if(frame) then
+			frame:Formula409()
+		end
+	end
+
+	STYLE:SetBasicBG(GuildNewsBossModel)
 	GuildNewsBossModelTextFrame:SetPanelTemplate("Default")
-	GuildNewsBossModelTextFrame.Panel:Point("TOPLEFT", GuildNewsBossModel.Panel, "BOTTOMLEFT", 0, -1)
-	GuildNewsBossModel:Point("TOPLEFT", GuildFrame, "TOPRIGHT", 4, -43)
-	for b, e in pairs(GuildButtonList)do
-		if b == 1 then
-			_G[e]:SetButtonTemplate()
-		else
-			_G[e]:SetButtonTemplate()
-		end
-	end;
-	for s, y in pairs(GuildCheckBoxList)do
-		_G["GuildRecruitment"..y.."Button"]:SetCheckboxTemplate(true)
-	end;
+	GuildNewsBossModelTextFrame.Panel:Point("TOPLEFT", GuildNewsBossModel.BasicBG, "BOTTOMLEFT", 0, -1)
+	GuildNewsBossModel:SetPoint("TOPLEFT", GuildFrame, "TOPRIGHT", 4, -43)
+
+	for _, gName in pairs(GuildButtonList)do
+		local btn = _G[gName]
+		if(btn) then
+			btn:SetButtonTemplate()
+		end
+	end
+
+	for _, gName in pairs(GuildCheckBoxList)do
+		if(_G["GuildRecruitment"..gName.."Button"]) then
+			_G["GuildRecruitment"..gName.."Button"]:SetCheckboxTemplate(true)
+		end
+	end
+
 	GuildRecruitmentTankButton.checkButton:SetCheckboxTemplate(true)
 	GuildRecruitmentHealerButton.checkButton:SetCheckboxTemplate(true)
 	GuildRecruitmentDamagerButton.checkButton:SetCheckboxTemplate(true)
@@ -300,8 +323,9 @@ local function GuildFrameStyle()
 		STYLE:ApplyTabStyle(_G["GuildFrameTab"..b])
 		if b == 1 then
 			_G["GuildFrameTab"..b]:Point("TOPLEFT", GuildFrame, "BOTTOMLEFT", -10, 3)
-		end;
-	end;
+		end
+	end
+
 	GuildXPFrame:ClearAllPoints()
 	GuildXPFrame:Point("TOP", GuildFrame, "TOP", 0, -40)
 	STYLE:ApplyScrollStyle(GuildPerksContainerScrollBar, 4)
@@ -332,76 +356,110 @@ local function GuildFrameStyle()
 	GuildRosterContainer:SetFixedPanelTemplate("Pattern")
 	STYLE:ApplyScrollStyle(GuildRosterContainerScrollBar, 5)
 	GuildRosterShowOfflineButton:SetCheckboxTemplate(true)
-	for b = 1, 4 do
-		_G["GuildRosterColumnButton"..b]:Formula409(true)
-	end;
+
+	for i = 1, 4 do
+		local btn = _G["GuildRosterColumnButton"..i]
+		if(btn) then
+			btn:Formula409(true)
+		end
+	end
+
 	STYLE:ApplyDropdownStyle(GuildRosterViewDropdown, 200)
-	for b = 1, 14 do
-		_G["GuildRosterContainerButton"..b.."HeaderButton"]:SetButtonTemplate()
-	end;
-	GuildMemberDetailFrame:SetFixedPanelTemplate("Transparent", true)
-	GuildMemberNoteBackground:SetFixedPanelTemplate("Default")
-	GuildMemberOfficerNoteBackground:SetFixedPanelTemplate("Default")
+	for i = 1, 14 do
+		local btn = _G["GuildRosterContainerButton"..i.."HeaderButton"]
+		if(btn) then
+			btn:SetButtonTemplate()
+		end
+	end
+
+	GuildMemberDetailFrame:SetPanelTemplate("Default", true)
+	STYLE:SetBasicBG(GuildMemberNoteBackground)
+	STYLE:SetBasicBG(GuildMemberOfficerNoteBackground)
+
 	GuildMemberRankDropdown:SetFrameLevel(GuildMemberRankDropdown:GetFrameLevel()+5)
 	STYLE:ApplyDropdownStyle(GuildMemberRankDropdown, 175)
 	GuildNewsFrame:Formula409()
 	GuildNewsContainer:SetFixedPanelTemplate("Pattern")
-	for b = 1, 17 do
-		if _G["GuildNewsContainerButton"..b]then
-			_G["GuildNewsContainerButton"..b].header:MUNG()
+
+	for i = 1, 17 do
+		local btn = _G["GuildNewsContainerButton"..i]
+		if(btn and btn.header) then
+			btn.header:MUNG()
 		end
-	end;
+	end
+
 	GuildNewsFiltersFrame:Formula409()
 	GuildNewsFiltersFrame:SetFixedPanelTemplate("Transparent", true)
 	STYLE:ApplyCloseButtonStyle(GuildNewsFiltersFrameCloseButton)
-	for b = 1, 7 do
-		_G["GuildNewsFilterButton"..b]:SetCheckboxTemplate(true)
-	end;
+
+	for i = 1, 7 do
+		local btn = _G["GuildNewsFilterButton"..i]
+		if(btn) then
+			btn:SetCheckboxTemplate(true)
+		end
+	end
+
 	GuildNewsFiltersFrame:Point("TOPLEFT", GuildFrame, "TOPRIGHT", 4, -20)
 	STYLE:ApplyScrollStyle(GuildNewsContainerScrollBar, 4)
 	STYLE:ApplyScrollStyle(GuildInfoDetailsFrameScrollBar, 4)
-	for b = 1, 3 do
-		_G["GuildInfoFrameTab"..b]:Formula409()
-	end;
-	local A = CreateFrame("Frame", nil, GuildInfoFrameInfo)
-	A:SetFixedPanelTemplate("Inset")
-	A:SetFrameLevel(GuildInfoFrameInfo:GetFrameLevel()-1)
-	A:Point("TOPLEFT", GuildInfoFrameInfo, "TOPLEFT", 2, -22)
-	A:Point("BOTTOMRIGHT", GuildInfoFrameInfo, "BOTTOMRIGHT", 0, 200)
-	local B = CreateFrame("Frame", nil, GuildInfoFrameInfo)
-	B:SetFixedPanelTemplate("Inset")
-	B:SetFrameLevel(GuildInfoFrameInfo:GetFrameLevel()-1)
-	B:Point("TOPLEFT", GuildInfoFrameInfo, "TOPLEFT", 2, -158)
-	B:Point("BOTTOMRIGHT", GuildInfoFrameInfo, "BOTTOMRIGHT", 0, 118)
-	local C = CreateFrame("Frame", nil, GuildInfoFrameInfo)
-	C:SetFixedPanelTemplate("Inset")
-	C:SetFrameLevel(GuildInfoFrameInfo:GetFrameLevel()-1)
-	C:Point("TOPLEFT", GuildInfoFrameInfo, "TOPLEFT", 2, -233)
-	C:Point("BOTTOMRIGHT", GuildInfoFrameInfo, "BOTTOMRIGHT", 0, 3)
+
+	for i = 1, 3 do
+		local tab = _G["GuildInfoFrameTab"..i]
+		if(tab) then
+			tab:Formula409()
+		end
+	end
+
+	local panel1 = CreateFrame("Frame", nil, GuildInfoFrameInfo)
+	panel1:SetPoint("TOPLEFT", GuildInfoFrameInfo, "TOPLEFT", 2, -22)
+	panel1:SetPoint("BOTTOMRIGHT", GuildInfoFrameInfo, "BOTTOMRIGHT", 0, 200)
+	STYLE:SetBasicBG(panel1)
+
+	local panel2 = CreateFrame("Frame", nil, GuildInfoFrameInfo)
+	panel2:SetPoint("TOPLEFT", GuildInfoFrameInfo, "TOPLEFT", 2, -158)
+	panel2:SetPoint("BOTTOMRIGHT", GuildInfoFrameInfo, "BOTTOMRIGHT", 0, 118)
+	STYLE:SetBasicBG(panel2)
+
+	local panel3 = CreateFrame("Frame", nil, GuildInfoFrameInfo)
+	panel3:SetPoint("TOPLEFT", GuildInfoFrameInfo, "TOPLEFT", 2, -233)
+	panel3:SetPoint("BOTTOMRIGHT", GuildInfoFrameInfo, "BOTTOMRIGHT", 0, 3)
+	STYLE:SetBasicBG(panel3)
+
 	GuildRecruitmentCommentInputFrame:SetFixedPanelTemplate("Default")
 	GuildTextEditFrame:SetFixedPanelTemplate("Transparent", true)
 	STYLE:ApplyScrollStyle(GuildTextEditScrollFrameScrollBar, 5)
 	GuildTextEditContainer:SetFixedPanelTemplate("Default")
-	for b = 1, GuildTextEditFrame:GetNumChildren()do
-		local c = select(b, GuildTextEditFrame:GetChildren())
-		if c:GetName() == "GuildTextEditFrameCloseButton"and c:GetWidth() < 33 then
-			STYLE:ApplyCloseButtonStyle(c)
-		elseif c:GetName() == "GuildTextEditFrameCloseButton" then
-			c:SetButtonTemplate()
+
+	local editChildren = GuildTextEditFrame:GetNumChildren()
+	for b = 1, editChildren do
+		local child = select(b, GuildTextEditFrame:GetChildren())
+		if(child:GetName() == "GuildTextEditFrameCloseButton") then
+			if(child:GetWidth() < 33) then
+				STYLE:ApplyCloseButtonStyle(child)
+			else
+				child:SetButtonTemplate()
+			end
 		end
-	end;
+	end
+
 	STYLE:ApplyScrollStyle(GuildLogScrollFrameScrollBar, 4)
 	GuildLogFrame:SetFixedPanelTemplate("Transparent", true)
-	for b = 1, GuildLogFrame:GetNumChildren()do
-		local c = select(b, GuildLogFrame:GetChildren())
-		if c:GetName() == "GuildLogFrameCloseButton"and c:GetWidth() < 33 then
-			STYLE:ApplyCloseButtonStyle(c)
-		elseif c:GetName() == "GuildLogFrameCloseButton" then
-			c:SetButtonTemplate()
+
+	local logChildren = GuildLogFrame:GetNumChildren()
+	for b = 1, logChildren do
+		local child = select(b, GuildLogFrame:GetChildren())
+		if child:GetName() == "GuildLogFrameCloseButton" then
+			if(child:GetWidth() < 33) then
+				STYLE:ApplyCloseButtonStyle(child)
+			else
+				child:SetButtonTemplate()
+			end
 		end
-	end;
+	end
+
 	GuildRewardsFrame:SetFixedPanelTemplate("Pattern")
 	STYLE:ApplyScrollStyle(GuildRewardsContainerScrollBar, 5)
+
 	for b = 1, 8 do
 		local button = _G["GuildPerksContainerButton"..b]
 		if button then
@@ -415,7 +473,8 @@ local function GuildFrameStyle()
 				button.icon:SetParent(button.Panel)
 			end
 		end
-	end;
+	end
+
 	for b = 1, 8 do
 		local button = _G["GuildRewardsContainerButton"..b]
 		if button then
@@ -429,25 +488,24 @@ local function GuildFrameStyle()
 				button.icon:SetParent(button.Panel)
 			end
 		end
-	end;
+	end
+
 	local maxCalendarEvents = CalendarGetNumGuildEvents();
 	local scrollFrame = GuildInfoFrameApplicantsContainer;
   	local offset = HybridScrollFrame_GetOffset(scrollFrame);
   	local buttonIndex,counter = 0,0;
+
 	for _,button in next, GuildInfoFrameApplicantsContainer.buttons do
 		counter = counter + 1;
 		buttonIndex = offset + counter;
 		button.selectedTex:MUNG()
 		button:GetHighlightTexture():MUNG()
-		button:SetBackdrop(nil);
-		-- if ( buttonIndex <= maxCalendarEvents ) then
-  --     		GuildInfoEvents_SetButton(button, buttonIndex);
-  --     	end
-	end;
-end;
+		button:SetBackdrop(nil)
+	end
+end

 local function GuildControlStyle()
-	if SuperVillain.db.SVStyle.blizzard.enable~=true or SuperVillain.db.SVStyle.blizzard.guildcontrol~=true then return end;
+	if SuperVillain.db.SVStyle.blizzard.enable~=true or SuperVillain.db.SVStyle.blizzard.guildcontrol~=true then return end
 	GuildControlUI:Formula409()
 	GuildControlUIHbar:Formula409()
 	GuildControlUI:SetFixedPanelTemplate("Halftone")
@@ -466,7 +524,7 @@ local function GuildControlStyle()
 		if _G["GuildControlUIRankSettingsFrameCheckbox"..b]then
 			_G["GuildControlUIRankSettingsFrameCheckbox"..b]:SetCheckboxTemplate(true)
 		end
-	end;
+	end
 	GuildControlUIRankOrderFrameNewButton:SetButtonTemplate()
 	GuildControlUIRankSettingsFrameGoldBox:SetEditboxTemplate()
 	GuildControlUIRankSettingsFrameGoldBox.Panel:Point("TOPLEFT",-2,-4)
@@ -478,7 +536,7 @@ local function GuildControlStyle()
 		local tabs = GetNumGuildBankTabs()
 		if tabs < MAX_BUY_GUILDBANK_TABS then
 			tabs = tabs + 1
-		end;
+		end
 		for b=1,tabs do
 			local f=_G["GuildControlBankTab"..b.."Owned"]
 			local icon=f.tabIcon;
@@ -494,18 +552,18 @@ local function GuildControlStyle()
 				GCTabHelper(_G["GuildControlBankTab"..b.."OwnedDepositCheck"])
 				GCTabHelper(_G["GuildControlBankTab"..b.."OwnedUpdateInfoCheck"])
 			end
-		end;
+		end
 		Z=true
 	end)
 	STYLE:ApplyDropdownStyle(GuildControlUIRankBankFrameRankDropDown,180)
 	GuildControlUIRankBankFrameRankDropDownButton:Width(20)
-end;
+end


 local function GuildRegistrarStyle()
 	if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.guildregistrar ~= true then
 		return
-	end;
+	end
 	GuildRegistrarFrame:Formula409(true)
 	GuildRegistrarFrame:SetPanelTemplate("Action")
 	GuildRegistrarFrameInset:MUNG()
@@ -523,20 +581,20 @@ local function GuildRegistrarStyle()
 				a2:MUNG()
 			end
 		end
-	end;
+	end
 	GuildRegistrarFrameEditBox:Height(20)
 	for b = 1, 2 do
 		_G["GuildRegistrarButton"..b]:GetFontString():SetTextColor(1, 1, 1)
-	end;
+	end
 	GuildRegistrarPurchaseText:SetTextColor(1, 1, 1)
 	AvailableServicesText:SetTextColor(1, 1, 0)
-end;
+end

 local function LFGuildFrameStyle()
-  if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.lfguild ~= true then return end;
+  if SuperVillain.db.SVStyle.blizzard.enable ~= true or SuperVillain.db.SVStyle.blizzard.lfguild ~= true then return end
   for r, I in pairs(LFGFrameList)do
      _G[I]:SetCheckboxTemplate(true)
-  end;
+  end
   LookingForGuildTankButton.checkButton:SetCheckboxTemplate(true)
   LookingForGuildHealerButton.checkButton:SetCheckboxTemplate(true)
   LookingForGuildDamagerButton.checkButton:SetCheckboxTemplate(true)
@@ -556,20 +614,20 @@ local function LFGuildFrameStyle()
     local K = _G["LookingForGuildAppsFrameContainerButton"..u]
     J:SetBackdrop(nil)
     K:SetBackdrop(nil)
-  end;
+  end
   for u = 1, 3 do
   	local tab = _G["LookingForGuildFrameTab"..u]
   	STYLE:ApplyTabStyle(tab)
     tab:SetFrameStrata("HIGH")
     tab:SetFrameLevel(99)
-  end;
+  end
   GuildFinderRequestMembershipFrame:Formula409(true)
   GuildFinderRequestMembershipFrame:SetFixedPanelTemplate("Transparent", true)
   GuildFinderRequestMembershipFrameAcceptButton:SetButtonTemplate()
   GuildFinderRequestMembershipFrameCancelButton:SetButtonTemplate()
   GuildFinderRequestMembershipFrameInputFrame:Formula409()
   GuildFinderRequestMembershipFrameInputFrame:SetFixedPanelTemplate("Default")
-end;
+end
 --[[
 ##########################################################
 STYLE LOADING
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/macro.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/macro.lua
index 7d6bae0..2ff47f6 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/macro.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/macro.lua
@@ -57,15 +57,14 @@ local function MacroUIStyle()
 	MacroFrame.Panel:SetPoint("BOTTOMRIGHT",MacroFrame,"BOTTOMRIGHT",0,-25)
 	MacroFrameText:SetFont(SuperVillain.Media.font.roboto, 10, "OUTLINE")
 	MacroFrameTextBackground:Formula409()
-	MacroFrameTextBackground:SetFixedPanelTemplate('Inset', true)
-	MacroFrameTextBackground.Panel:Point("TOPRIGHT", 2, 0)
-	MacroButtonScrollFrame:SetFixedPanelTemplate("Inset")
+	STYLE:SetBasicBG(MacroFrameTextBackground)
 	MacroPopupFrame:Formula409()
-	MacroPopupFrame:SetPanelTemplate("Inset", true)
+	STYLE:SetBasicBG(MacroPopupFrame)
 	MacroPopupScrollFrame:Formula409()
 	MacroPopupScrollFrame:SetPanelTemplate("Pattern")
 	MacroPopupScrollFrame.Panel:Point("TOPLEFT", 51, 2)
 	MacroPopupScrollFrame.Panel:Point("BOTTOMRIGHT", -4, 4)
+	STYLE:SetBasicBG(MacroButtonScrollFrame)
 	MacroPopupEditBox:SetEditboxTemplate()
 	MacroPopupNameLeft:SetTexture(0,0,0,0)
 	MacroPopupNameMiddle:SetTexture(0,0,0,0)
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/petbattle.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/petbattle.lua
index 9806246..e990a11 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/petbattle.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/petbattle.lua
@@ -215,7 +215,7 @@ local function PetBattleStyle()
 	end

 	PetBattleQueueReadyFrame:Formula409()
-	PetBattleQueueReadyFrame:SetPanelTemplate("Transparent", true)
+	STYLE:SetBasicBG(PetBattleQueueReadyFrame)
 	PetBattleQueueReadyFrame.AcceptButton:SetButtonTemplate()
 	PetBattleQueueReadyFrame.DeclineButton:SetButtonTemplate()
 	PetBattleQueueReadyFrame.Art:SetTexture([[Interface\PetBattles\PetBattlesQueue]])
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/raid.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/raid.lua
index 82f29d4..90c87b3 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/raid.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/raid.lua
@@ -77,9 +77,9 @@ local function RaidInfoStyle()
 		end
 	end;
 	RaidInfoScrollFrame:Formula409()
-	RaidInfoFrame:SetPanelTemplate("Transparent", true)
-	RaidInfoFrame.Panel:Point("TOPLEFT", RaidInfoFrame, "TOPLEFT")
-	RaidInfoFrame.Panel:Point("BOTTOMRIGHT", RaidInfoFrame, "BOTTOMRIGHT")
+	STYLE:SetBasicBG(RaidInfoFrame)
+	RaidInfoFrame.BasicBG:Point("TOPLEFT", RaidInfoFrame, "TOPLEFT")
+	RaidInfoFrame.BasicBG:Point("BOTTOMRIGHT", RaidInfoFrame, "BOTTOMRIGHT")
 	STYLE:ApplyCloseButtonStyle(RaidInfoCloseButton, RaidInfoFrame)
 	STYLE:ApplyScrollStyle(RaidInfoScrollFrameScrollBar)
 	RaidFrameRaidBrowserButton:SetButtonTemplate()
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua
index b5d9c02..2d7fda0 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/talents.lua
@@ -111,18 +111,18 @@ local function TalentFrameStyle()
 	PlayerTalentFrameInset:Formula409()
 	PlayerTalentFrameTalents:Formula409()

-	local r = CreateFrame('Frame', nil, PlayerTalentFrame)
-	r:WrapOuter(PlayerTalentFrame)
+	PlayerTalentFrame.Panel = CreateFrame('Frame', nil, PlayerTalentFrame)
+	PlayerTalentFrame.Panel:WrapOuter(PlayerTalentFrame)

-	local s = PlayerTalentFrame:GetFrameLevel()
+	local panelLevel = PlayerTalentFrame:GetFrameLevel()

-	if((s - 1) >= 0) then
-		 r:SetFrameLevel(s - 1)
+	if((panelLevel - 1) >= 0) then
+		 PlayerTalentFrame.Panel:SetFrameLevel(panelLevel - 1)
 	else
-		 r:SetFrameLevel(0)
+		 PlayerTalentFrame.Panel:SetFrameLevel(0)
 	end
+	PlayerTalentFrame.Panel:SetPanelTemplate("Halftone")

-	PlayerTalentFrame:SetPanelTemplate("Halftone")
 	PlayerTalentFrame.Panel:Point("BOTTOMRIGHT", PlayerTalentFrame, "BOTTOMRIGHT", 0, -5)
 	PlayerTalentFrameSpecializationTutorialButton:MUNG()
 	PlayerTalentFrameTalentsTutorialButton:MUNG()
@@ -186,20 +186,23 @@ local function TalentFrameStyle()
 		y.BottomLine:Point("BOTTOM", 0, -4)
 		for z = 1, NUM_TALENT_COLUMNS do
 			local A = _G["PlayerTalentFrameTalentsTalentRow"..b.."Talent"..z]
-			local B = _G["PlayerTalentFrameTalentsTalentRow"..b.."Talent"..z.."IconTexture"]A:Formula409()
-			A:SetFrameLevel(A:GetFrameLevel()+5)
-			A:SetPanelTemplate("Transparent")
-			A.Panel:WrapOuter(B)
-			B:SetDrawLayer("OVERLAY")
-			B:SetTexCoord(0.1, 0.9, 0.1, 0.9)
-			A.bg = CreateFrame("Frame", nil, A)
-			A.bg:SetFrameLevel(A:GetFrameLevel()-2)
-			A.bg:Point("TOPLEFT", 15, -1)
-			A.bg:Point("BOTTOMRIGHT", -10, 1)
-			A.bg:SetFixedPanelTemplate("Default")
-			A.bg.SelectedTexture = A.bg:CreateTexture(nil, 'ARTWORK')
-			A.bg.SelectedTexture:Point("TOPLEFT", A, "TOPLEFT", 15, -1)
-			A.bg.SelectedTexture:Point("BOTTOMRIGHT", A, "BOTTOMRIGHT", -10, 1)
+			local B = _G["PlayerTalentFrameTalentsTalentRow"..b.."Talent"..z.."IconTexture"]
+			if(A and B) then
+				A:Formula409()
+				A:SetFrameLevel(A:GetFrameLevel()+5)
+				STYLE:SetBasicBG(A)
+				A.BasicBG:WrapOuter(B)
+				B:SetDrawLayer("OVERLAY")
+				B:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+				A.bg = CreateFrame("Frame", nil, A)
+				A.bg:SetFrameLevel(A:GetFrameLevel()-2)
+				A.bg:Point("TOPLEFT", 15, -1)
+				A.bg:Point("BOTTOMRIGHT", -10, 1)
+				A.bg:SetFixedPanelTemplate("Default")
+				A.bg.SelectedTexture = A.bg:CreateTexture(nil, 'ARTWORK')
+				A.bg.SelectedTexture:Point("TOPLEFT", A, "TOPLEFT", 15, -1)
+				A.bg.SelectedTexture:Point("BOTTOMRIGHT", A, "BOTTOMRIGHT", -10, 1)
+			end
 		end
 	end

@@ -241,7 +244,8 @@ local function TalentFrameStyle()
 		local F = GetSpecialization(nil, i.isPet, PlayerSpecTab2:GetChecked() and 2 or 1)
 		local G = E or F or 1;
 		local H, p, p, icon = GetSpecializationInfo(G, nil, i.isPet)
-		local I = i.spellsScroll.child;I.specIcon:SetTexture(icon)
+		local I = i.spellsScroll.child;
+		I.specIcon:SetTexture(icon)
 		local J = 1;
 		local K;
 		if i.isPet then
@@ -263,7 +267,8 @@ local function TalentFrameStyle()
 			J = J+1
 		end
 		for b = 1, GetNumSpecializations(nil, i.isPet)do
-			local A = i["specButton"..b]A.SelectedTexture:FillInner(A.Panel)
+			local A = i["specButton"..b]
+			A.SelectedTexture:FillInner(A.Panel)
 			if A.selected then
 				 A.SelectedTexture:Show()
 			else
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/taxi.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/taxi.lua
index b00d89e..94a9559 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/taxi.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/taxi.lua
@@ -26,9 +26,8 @@ local function TaxiStyle()
 	end;
 	TaxiFrame:Formula409()
 	TaxiFrame:SetPanelTemplate("Default")
-	TaxiRouteMap:SetPanelTemplate("Transparent", false, 3, 3, 3)
-	TaxiRouteMap.Panel:WrapOuter(TaxiRouteMap, 4, 4)
-	TaxiFrame.Panel:SetFrameLevel(0)
+	STYLE:SetBasicBG(TaxiRouteMap)
+	TaxiRouteMap.BasicBG:WrapOuter(TaxiRouteMap, 4, 4)
 	STYLE:ApplyCloseButtonStyle(TaxiFrame.CloseButton)
 end;
 --[[
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AdiBags.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AdiBags.lua
index 15c3572..ab23932 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AdiBags.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/AdiBags.lua
@@ -43,7 +43,7 @@ local function StyleAdiBags(event)

 	local function SkinFrame(frame)
 		local region = frame.HeaderRightRegion
-		frame:SetPanelTemplate("Transparent")
+		STYLE:SetBasicBG(frame)
 		_G[frame:GetName()..'Bags']:SetPanelTemplate("Default")
 		for i = 1, 3 do
 			region.widgets[i].widget:SetButtonTemplate()
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/Bugsack.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/Bugsack.lua
index f957bc3..6b44e49 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/Bugsack.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/Bugsack.lua
@@ -39,9 +39,9 @@ BUGSACK
 local function StyleBugSack(event, addon)
 	assert(BugSack, "AddOn Not Loaded")
 	hooksecurefunc(BugSack, "OpenSack", function()
-		if BugSackFrame.Panel then return end
+		if BugSackFrame.BasicBG then return end
 		BugSackFrame:Formula409()
-		BugSackFrame:SetPanelTemplate("Transparent")
+		STYLE:SetBasicBG(BugSackFrame)
 		STYLE:ApplyTabStyle(BugSackTabAll)
 		BugSackTabAll:SetPoint("TOPLEFT", BugSackFrame, "BOTTOMLEFT", 0, 1)
 		STYLE:ApplyTabStyle(BugSackTabSession)
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/TradeSkillDW.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/TradeSkillDW.lua
index 9ba5cf9..c95abd2 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/TradeSkillDW.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/thirdparty/TradeSkillDW.lua
@@ -62,7 +62,7 @@ local function StyleTradeSkillDW()
 	end)

 	TradeSkillFrame:Height(TradeSkillFrame:GetHeight() + 12)
-	TradeSkillRankFrame:SetPanelTemplate("Transparent")
+	STYLE:SetBasicBG(TradeSkillRankFrame)
 	TradeSkillRankFrame:SetStatusBarTexture(SuperVillain.Media.bar.default)
 	TradeSkillCreateButton:SetButtonTemplate()
 	TradeSkillCancelButton:SetButtonTemplate()
diff --git a/Interface/AddOns/SVUI_StyleOMatic/addons/timemanager.lua b/Interface/AddOns/SVUI_StyleOMatic/addons/timemanager.lua
index 906cb8a..1529b9d 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/addons/timemanager.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/addons/timemanager.lua
@@ -45,9 +45,9 @@ local function TimeManagerStyle()
 	sWatch:Point("BOTTOMRIGHT", TimeManagerStopwatchCheck, -2, 2)
 	TimeManagerStopwatchCheck:SetHighlightTexture(sWatch)
 	StopwatchFrame:Formula409()
-	StopwatchFrame:SetPanelTemplate("Transparent", true)
-	StopwatchFrame.Panel:Point("TOPLEFT", 0, -17)
-	StopwatchFrame.Panel:Point("BOTTOMRIGHT", 0, 2)
+	STYLE:SetBasicBG(StopwatchFrame)
+	StopwatchFrame.BasicBG:Point("TOPLEFT", 0, -17)
+	StopwatchFrame.BasicBG:Point("BOTTOMRIGHT", 0, 2)
 	StopwatchTabFrame:Formula409()
 	STYLE:ApplyCloseButtonStyle(StopwatchCloseButton)
 	STYLE:ApplyPaginationStyle(StopwatchPlayPauseButton)
diff --git a/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua b/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua
index c48c717..4fa71fa 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/common/methods.lua
@@ -120,10 +120,10 @@ function STYLE:SetBasicBG(this)
             bottom = 1,
         },
     })
-    bg:SetBackdropColor(0,0,0,0.5)
+    bg:SetBackdropColor(0,0,0,0.65)
     bg:SetBackdropBorderColor(0,0,0)

-    this.BasicBG = true
+    this.BasicBG = bg
 end

 function STYLE:ApplyFrameStyle(this, template, noStripping, fullStripping)