Quantcast

4.061

Steven Jackson [07-16-14 - 04:26]
4.061
Filename
Interface/AddOns/SVUI/SVUI.toc
Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Combatant/oUF_Combatant.lua
Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Plugins.xml
Interface/AddOns/SVUI/packages/chat/SVChat.lua
Interface/AddOns/SVUI/packages/dock/SVDock.lua
Interface/AddOns/SVUI/packages/laborer/SVLaborer.lua
Interface/AddOns/SVUI/packages/unit/SVUnit.lua
Interface/AddOns/SVUI/packages/unit/class/classbar.lua
Interface/AddOns/SVUI/packages/unit/class/deathknight.lua
Interface/AddOns/SVUI/packages/unit/class/druid.lua
Interface/AddOns/SVUI/packages/unit/class/hunter.lua
Interface/AddOns/SVUI/packages/unit/class/mage.lua
Interface/AddOns/SVUI/packages/unit/class/monk.lua
Interface/AddOns/SVUI/packages/unit/class/paladin.lua
Interface/AddOns/SVUI/packages/unit/class/priest.lua
Interface/AddOns/SVUI/packages/unit/class/rogue.lua
Interface/AddOns/SVUI/packages/unit/class/shaman.lua
Interface/AddOns/SVUI/packages/unit/class/warlock.lua
Interface/AddOns/SVUI/packages/unit/class/warrior.lua
Interface/AddOns/SVUI/packages/unit/common/actionpanel.lua
Interface/AddOns/SVUI/packages/unit/common/aurabars.lua
Interface/AddOns/SVUI/packages/unit/common/auras.lua
Interface/AddOns/SVUI/packages/unit/common/castbar.lua
Interface/AddOns/SVUI/packages/unit/common/glow.lua
Interface/AddOns/SVUI/packages/unit/common/health.lua
Interface/AddOns/SVUI/packages/unit/common/misc.lua
Interface/AddOns/SVUI/packages/unit/common/portrait.lua
Interface/AddOns/SVUI/packages/unit/common/power.lua
Interface/AddOns/SVUI/packages/unit/common/prediction.lua
Interface/AddOns/SVUI/packages/unit/common/secure.lua
Interface/AddOns/SVUI/packages/unit/common/unique.lua
Interface/AddOns/SVUI/packages/unit/frames/groups.lua
Interface/AddOns/SVUI/packages/unit/frames/units.lua
Interface/AddOns/SVUI/scripts/mounts.lua
Interface/AddOns/SVUI/scripts/pvp.lua
Interface/AddOns/SVUI/system/classes/Database.lua
Interface/AddOns/SVUI/system/classes/Registry.lua
Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
Interface/AddOns/SVUI_ConfigOMatic/modules/filter.lua
Interface/AddOns/SVUI_ConfigOMatic/modules/units/core.lua
Interface/AddOns/SVUI_ConfigOMatic/modules/units/focus.lua
Interface/AddOns/SVUI_ConfigOMatic/modules/units/other.lua
Interface/AddOns/SVUI_ConfigOMatic/modules/units/party.lua
Interface/AddOns/SVUI_ConfigOMatic/modules/units/pet.lua
Interface/AddOns/SVUI_ConfigOMatic/modules/units/player.lua
Interface/AddOns/SVUI_ConfigOMatic/modules/units/raid.lua
Interface/AddOns/SVUI_ConfigOMatic/modules/units/target.lua
Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
diff --git a/Interface/AddOns/SVUI/SVUI.toc b/Interface/AddOns/SVUI/SVUI.toc
index 982c942..f404ada 100644
--- a/Interface/AddOns/SVUI/SVUI.toc
+++ b/Interface/AddOns/SVUI/SVUI.toc
@@ -1,6 +1,6 @@
 ## Interface: 50400
 ## Author: Munglunch
-## Version: 4.053
+## Version: @project-version@
 ## Title: |cffFF9900SVUI|r
 ## Notes: Supervillain UI [|cff9911FFCore Framework|r].
 ## SavedVariables: SVUI_Global, SVUI_AuraFilters
diff --git a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Combatant/oUF_Combatant.lua b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Combatant/oUF_Combatant.lua
index 5ee2d62..ce08b25 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Combatant/oUF_Combatant.lua
+++ b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Combatant/oUF_Combatant.lua
@@ -1,6 +1,5 @@
 local _, ns = ...
-local oUF = ns.oUF or oUF
-assert(oUF, 'oUF not loaded')
+local oUF = ns.oUF

 local trinketSpells = {
 	[59752] = 120,
@@ -8,7 +7,7 @@ local trinketSpells = {
 	[7744] = 45,
 }

-local GetPVPIcons = function(unit, frameID)
+local function GetPVPIcons(unit, frameID)
 	local _, trinket, badge
 	local unitFactionGroup = UnitFactionGroup(unit)
 	if unitFactionGroup == "Horde" then
@@ -16,7 +15,7 @@ local GetPVPIcons = function(unit, frameID)
 	elseif unitFactionGroup == "Alliance" then
 		trinket, badge = [[Interface\Icons\INV_Jewelry_TrinketPVP_01]], [[Interface\Icons\INV_BannerPVP_02]]
 	else
-		trinket, badge = [[INTERFACE\ICONS\INV_MISC_QUESTIONMARK]], [[INTERFACE\ICONS\INV_MISC_QUESTIONMARK]]
+		trinket, badge = [[Interface\Icons\INV_MISC_QUESTIONMARK]], [[Interface\Icons\INV_MISC_QUESTIONMARK]]
 	end
 	if(frameID) then
 		local numOpps = GetNumArenaOpponentSpecs()
@@ -28,29 +27,7 @@ local GetPVPIcons = function(unit, frameID)
 	return trinket, badge
 end

-local Update = function(self, event, unit, unitType)
-	if(not unit or unit ~= self.unit) then return end
-	local element = self.Combatant
-	local trinket = element.Trinket
-	local badge = element.Badge
-	local arenaMatch = IsActiveBattlefieldArena()
-	local frameID = arenaMatch and self:GetID()
-	local tIcon, bIcon = GetPVPIcons(unit, frameID)
-	if(badge) then badge.Icon:SetTexture(bIcon) end
-	if(trinket) then
-		if(not arenaMatch) then trinket:Hide() return end
-		trinket:Show()
-		if event == "ARENA_OPPONENT_UPDATE" then
-			if(unitType and unitType == "seen" and UnitExists(unit) and UnitIsPlayer(unit)) then
-				trinket.Icon:SetTexture(tIcon)
-			end
-		elseif event == 'PLAYER_ENTERING_WORLD' then
-			CooldownFrame_SetTimer(trinket.cooldownFrame, 1, 1, 1)
-		end
-	end
-end
-
-local LogUpdate = function(self, event, ...)
+local function LogUpdate(self, event, ...)
 	local arenaMatch = IsActiveBattlefieldArena()
 	local element = self.Combatant
 	local trinket = element.Trinket
@@ -70,17 +47,40 @@ local LogUpdate = function(self, event, ...)
 	end
 end

-local Enable = function(self)
+local Update = function(self, event, ...)
+	local unit, unitType = ...
+	if(event == "COMBAT_LOG_EVENT_UNFILTERED" or event == "UNIT_SPELLCAST_SUCCEEDED") then return LogUpdate(self, event, ...) end
+	if(not unit or unit ~= self.unit) then return end
 	local element = self.Combatant
 	local trinket = element.Trinket
 	local badge = element.Badge
-	if(trinket or badge) then
-		self:RegisterEvent("ARENA_OPPONENT_UPDATE", Update, true)
-		self:RegisterEvent("PLAYER_ENTERING_WORLD", Update, true)
+	local arenaMatch = IsActiveBattlefieldArena()
+	local frameID = arenaMatch and self:GetID()
+	local tIcon, bIcon = GetPVPIcons(unit, frameID)
+	if(badge) then badge.Icon:SetTexture(bIcon) end
+	if(trinket) then
+		if(not arenaMatch) then trinket:Hide() return end
+		trinket.Icon:SetTexture(tIcon)
+		trinket:Show()
+		if event == 'PLAYER_ENTERING_WORLD' then
+			CooldownFrame_SetTimer(trinket.cooldownFrame, 1, 1, 1)
+		end
+	end
+end
+
+local Enable = function(self, unit)
+	--if(not unit:match("arena%d")) then return end
+	local element = self.Combatant
+
+	if(element) then
+		local trinket = element.Trinket
+		local badge = element.Badge
+		self:RegisterEvent("ARENA_OPPONENT_UPDATE", Update)
+		self:RegisterEvent("PLAYER_ENTERING_WORLD", Update)

 		if(trinket) then
-			self:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED", LogUpdate, true)
-			self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED", LogUpdate, true)
+			self:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED", Update)
+			self:RegisterEvent("UNIT_SPELLCAST_SUCCEEDED", Update)
 			if not trinket.cooldownFrame then
 				trinket.cooldownFrame = CreateFrame("Cooldown", nil, trinket)
 				trinket.cooldownFrame:SetAllPoints(trinket)
@@ -89,17 +89,19 @@ local Enable = function(self)
 			if not trinket.Icon then
 				trinket.Icon = trinket:CreateTexture(nil, "BORDER")
 				trinket.Icon:SetAllPoints(trinket)
-				trinket.Icon:SetTexCoord(0.07, 0.93, 0.07, 0.93)
-				trinket.Icon:SetTexture(GetTrinketIcon('player'))
+				trinket.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+				trinket.Icon:SetTexture([[INTERFACE\ICONS\INV_MISC_QUESTIONMARK]])
 			end
+			trinket:Show()
 		end

 		if(badge) then
-			self:RegisterEvent("ARENA_PREP_OPPONENT_SPECIALIZATIONS", Update, true)
+			self:RegisterEvent("ARENA_PREP_OPPONENT_SPECIALIZATIONS", Update)
 			if not badge.Icon then
 				badge.Icon = badge:CreateTexture(nil, "OVERLAY")
 				badge.Icon:SetAllPoints(badge)
-				badge.Icon:SetTexCoord(0.07, 0.93, 0.07, 0.93)
+				badge.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+				badge.Icon:SetTexture([[INTERFACE\ICONS\INV_MISC_QUESTIONMARK]])
 			end
 			badge:Show()
 		end
@@ -116,8 +118,8 @@ local Disable = function(self)
 		self:UnregisterEvent("ARENA_OPPONENT_UPDATE", Update)
 		self:UnregisterEvent("PLAYER_ENTERING_WORLD", Update)
 		if trinket then
-			self:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED", LogUpdate)
-			self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED", LogUpdate)
+			self:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED", Update)
+			self:UnregisterEvent("UNIT_SPELLCAST_SUCCEEDED", Update)
 			trinket:Hide()
 		end
 		if badge then
diff --git a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Plugins.xml b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Plugins.xml
index 5be7504..c8f4b75 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Plugins.xml
+++ b/Interface/AddOns/SVUI/libs/oUF_Plugins/oUF_Plugins.xml
@@ -3,7 +3,6 @@
 	<Script file="oUF_AuraBars\oUF_AuraBars.lua"/>
 	<Script file="oUF_RaidDebuffs\oUF_RaidDebuffs.lua"/>
 	<Script file="oUF_Smooth\oUF_Smooth.lua"/>
-	<Script file="oUF_Combatant\oUF_Combatant.lua"/>
 	<Script file="oUF_DruidMana\oUF_DruidMana.lua"/>
 	<Script file="oUF_CombatFader\oUF_CombatFader.lua"/>
 	<Script file='oUF_Experience\oUF_Experience.lua'/>
@@ -13,7 +12,7 @@
 	<Script file='oUF_GPS\oUF_GPS.lua'/>
 	<Script file='oUF_ActionPanel\oUF_ActionPanel.lua'/>
 	<Script file='oUF_Afflicted\oUF_Afflicted.lua'/>
-	<!-- <Script file='oUF_MainTank\oUF_MainTank.lua'/> -->
+	<Script file='oUF_MainTank\oUF_MainTank.lua'/>
 	<Script file='oUF_PallyPower\oUF_PallyPower.lua'/>
 	<Script file='oUF_WarlockShards\oUF_WarlockShards.lua'/>
 	<Script file='oUF_PriestOrbs\oUF_PriestOrbs.lua'/>
@@ -21,4 +20,5 @@
 	<Script file='oUF_DrunkenMaster\oUF_DrunkenMaster.lua'/>
 	<Script file='oUF_TotemBars\oUF_TotemBars.lua'/>
 	<Script file='oUF_HyperCombo\oUF_HyperCombo.lua'/>
+	<Script file="oUF_Combatant\oUF_Combatant.lua"/>
 </Ui>
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/packages/chat/SVChat.lua b/Interface/AddOns/SVUI/packages/chat/SVChat.lua
index 42b00c7..f3601c4 100644
--- a/Interface/AddOns/SVUI/packages/chat/SVChat.lua
+++ b/Interface/AddOns/SVUI/packages/chat/SVChat.lua
@@ -405,7 +405,7 @@ do
 			end
 		end;
 		self:Hide()
-		SuperDockAlertLeft:Dectivate()
+		SuperDockAlertLeft:Deactivate()
 	end

 	local EditBox_OnTextChanged = function(self)
diff --git a/Interface/AddOns/SVUI/packages/dock/SVDock.lua b/Interface/AddOns/SVUI/packages/dock/SVDock.lua
index 9171877..84672ec 100644
--- a/Interface/AddOns/SVUI/packages/dock/SVDock.lua
+++ b/Interface/AddOns/SVUI/packages/dock/SVDock.lua
@@ -38,6 +38,14 @@ local AlertDeactivate = function(self)
 	self:Height(1)
 end

+local leftalert = CreateFrame("Frame", "SuperDockAlertLeft", UIParent)
+leftalert.Activate = AlertActivate
+leftalert.Deactivate = AlertDeactivate
+
+local rightalert = CreateFrame("Frame", "SuperDockAlertRight", UIParent)
+rightalert.Activate = AlertActivate
+rightalert.Deactivate = AlertDeactivate
+
 local Dock_OnEnter = function(self, ...)
 	if InCombatLockdown() then return end
 	self:SetPanelColor("highlight")
@@ -262,7 +270,7 @@ function MOD:CreateDockPanels()
 	leftdock:Size(leftWidth, leftHeight)
 	SuperVillain:SetSVMovable(leftdock, "LeftDock_MOVE", L["Left Dock"])

-	local leftalert = CreateFrame("Frame", "SuperDockAlertLeft", leftdock)
+	leftalert:SetParent(leftdock)
 	leftalert:SetFrameStrata("BACKGROUND")
 	leftalert:Size(leftWidth, 1)
 	leftalert:Point("BOTTOMRIGHT", leftdock, "BOTTOMRIGHT",0, 0)
@@ -310,7 +318,7 @@ function MOD:CreateDockPanels()
 	rightdock:Size(rightWidth, rightHeight)
 	SuperVillain:SetSVMovable(rightdock, "RightDock_MOVE", L["Right Dock"])

-	local rightalert = CreateFrame("Frame", "SuperDockAlertRight", rightdock)
+	rightalert:SetParent(rightdock)
 	rightalert:SetFrameStrata("BACKGROUND")
 	rightalert:Size(rightWidth, 1)
 	rightalert:Point("BOTTOMLEFT", rightdock, "BOTTOMLEFT", 0, 0)
diff --git a/Interface/AddOns/SVUI/packages/laborer/SVLaborer.lua b/Interface/AddOns/SVUI/packages/laborer/SVLaborer.lua
index 7c3e851..80b2d32 100644
--- a/Interface/AddOns/SVUI/packages/laborer/SVLaborer.lua
+++ b/Interface/AddOns/SVUI/packages/laborer/SVLaborer.lua
@@ -348,7 +348,7 @@ local ModeAlert_OnLeave = function(self)
 end

 local ModeAlert_OnHide = function()
-	SuperDockAlertRight:Dectivate()
+	SuperDockAlertRight:Deactivate()
 end

 local ModeAlert_OnShow = function(self)
diff --git a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua
index dcdfde5..e0e5a23 100644
--- a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua
+++ b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua
@@ -1097,13 +1097,11 @@ function MOD:ADDON_LOADED(event, addon)
 end

 function MOD:PLAYER_ENTERING_WORLD()
-	print("Refreshing")
 	self:RefreshUnitFrames()
 	if SuperVillain.class == 'WARLOCK' and not self.QualifiedShards then
 		self:QualifyWarlockShards()
 		self.QualifiedShards = true
 	end
-	collectgarbage("collect")
 end

 local UnitFrameThreatIndicator_Hook = function(unit, unitFrame)
@@ -1115,10 +1113,12 @@ BUILD FUNCTION / UPDATE
 ##########################################################
 ]]--
 function MOD:ReLoad()
+	if(not SuperVillain.db.SVUnit.enable or SuperVillain.db.SVUnit.enable == false) then print("ReLoad Disabled") return end
 	self:RefreshUnitFrames()
 end

 function MOD:Load()
+	if(not SuperVillain.db.SVUnit.enable or SuperVillain.db.SVUnit.enable == false) then print("Load Disabled") return end
 	self:RefreshUnitColors()

 	local SVUI_UnitFrameParent = CreateFrame("Frame", "SVUI_UnitFrameParent", SuperVillain.UIParent, "SecureHandlerStateTemplate")
diff --git a/Interface/AddOns/SVUI/packages/unit/class/classbar.lua b/Interface/AddOns/SVUI/packages/unit/class/classbar.lua
index fbfa567..add8782 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/classbar.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/classbar.lua
@@ -26,7 +26,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/deathknight.lua b/Interface/AddOns/SVUI/packages/unit/class/deathknight.lua
index 2a9709f..f130c15 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/deathknight.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/deathknight.lua
@@ -36,7 +36,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/druid.lua b/Interface/AddOns/SVUI/packages/unit/class/druid.lua
index 59a9872..38fa8d1 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/druid.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/druid.lua
@@ -36,7 +36,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/hunter.lua b/Interface/AddOns/SVUI/packages/unit/class/hunter.lua
index bd2c174..0f93fd8 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/hunter.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/hunter.lua
@@ -26,7 +26,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/mage.lua b/Interface/AddOns/SVUI/packages/unit/class/mage.lua
index b5c0f0e..01f431c 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/mage.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/mage.lua
@@ -36,7 +36,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/monk.lua b/Interface/AddOns/SVUI/packages/unit/class/monk.lua
index 367cc84..5d1ca24 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/monk.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/monk.lua
@@ -36,7 +36,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/paladin.lua b/Interface/AddOns/SVUI/packages/unit/class/paladin.lua
index 5430490..e87bb55 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/paladin.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/paladin.lua
@@ -36,7 +36,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/priest.lua b/Interface/AddOns/SVUI/packages/unit/class/priest.lua
index 320b27f..7e46197 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/priest.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/priest.lua
@@ -36,7 +36,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/rogue.lua b/Interface/AddOns/SVUI/packages/unit/class/rogue.lua
index 1840f7e..8856c36 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/rogue.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/rogue.lua
@@ -36,7 +36,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/shaman.lua b/Interface/AddOns/SVUI/packages/unit/class/shaman.lua
index 2fd1cb3..5963433 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/shaman.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/shaman.lua
@@ -36,7 +36,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/warlock.lua b/Interface/AddOns/SVUI/packages/unit/class/warlock.lua
index 07dc459..f7613f9 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/warlock.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/warlock.lua
@@ -36,7 +36,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/class/warrior.lua b/Interface/AddOns/SVUI/packages/unit/class/warrior.lua
index bd2c174..0f93fd8 100644
--- a/Interface/AddOns/SVUI/packages/unit/class/warrior.lua
+++ b/Interface/AddOns/SVUI/packages/unit/class/warrior.lua
@@ -26,7 +26,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/common/actionpanel.lua b/Interface/AddOns/SVUI/packages/unit/common/actionpanel.lua
index f702abc..5a145fe 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/actionpanel.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/actionpanel.lua
@@ -14,7 +14,8 @@ S U P E R - V I L L A I N - U I   By: Munglunch                              #
 ##############################################################################
 --]]
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/common/aurabars.lua b/Interface/AddOns/SVUI/packages/unit/common/aurabars.lua
index 9e8a965..b42913e 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/aurabars.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/aurabars.lua
@@ -14,7 +14,8 @@ S U P E R - V I L L A I N - U I   By: Munglunch                              #
 ##############################################################################
 --]]
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/common/auras.lua b/Interface/AddOns/SVUI/packages/unit/common/auras.lua
index 5fe7172..8895ff8 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/auras.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/auras.lua
@@ -43,7 +43,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose("SVUnit");
+local MOD = SuperVillain.Registry:Expose("SVUnit")
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH"s FASTER ASSERT FUNCTION ]]--
@@ -116,6 +117,8 @@ local PostCreateAuraIcon = function(self, aura)
     })
     aura:SetBackdropColor(0, 0, 0, 0)
     aura:SetBackdropBorderColor(0, 0, 0)
+    aura.icon:FillInner(aura, 1, 1)
+    aura.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
     aura:RegisterForClicks("RightButtonUp")
 	aura:SetScript("OnClick", AuraRemover_OnClick)
 	aura.styled = true
diff --git a/Interface/AddOns/SVUI/packages/unit/common/castbar.lua b/Interface/AddOns/SVUI/packages/unit/common/castbar.lua
index 8d054c2..19f665c 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/castbar.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/castbar.lua
@@ -41,7 +41,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/common/glow.lua b/Interface/AddOns/SVUI/packages/unit/common/glow.lua
index 7ae2153..4a8da84 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/glow.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/glow.lua
@@ -19,7 +19,8 @@ local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
 local assert = enforce;
 assert(oUF_SuperVillain, "SVUI was unable to locate oUF.")
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 --[[
 ##########################################################
 LOCAL VARIABLES
diff --git a/Interface/AddOns/SVUI/packages/unit/common/health.lua b/Interface/AddOns/SVUI/packages/unit/common/health.lua
index 2b14a46..b6207ea 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/health.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/health.lua
@@ -27,7 +27,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/common/misc.lua b/Interface/AddOns/SVUI/packages/unit/common/misc.lua
index 8ef58b1..74f3666 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/misc.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/misc.lua
@@ -14,7 +14,8 @@ S U P E R - V I L L A I N - U I   By: Munglunch                              #
 ##############################################################################
 --]]
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
@@ -35,6 +36,7 @@ local ROLE_ICON_DATA = {
 	["HEALER"] = {0,0.5,0.5,1, 0.5,0.75,0.75,1},
 	["DAMAGER"] = {0.5,1,0,0.5, 0.75,1,0.5,0.75}
 }
+
 local function BasicBG(frame)
 	frame:SetBackdrop({
     	bgFile = [[Interface\BUTTONS\WHITE8X8]],
@@ -117,6 +119,8 @@ function MOD:CreateCombatant(frame)
 	BasicBG(trinket)
 	trinket.Icon = trinket:CreateTexture(nil, "OVERLAY")
 	trinket.Icon:FillInner(trinket, 2, 2)
+	trinket.Icon:SetTexture([[Interface\Icons\INV_MISC_QUESTIONMARK]])
+	trinket.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)

 	pvp.Trinket = trinket

@@ -124,6 +128,8 @@ function MOD:CreateCombatant(frame)
 	BasicBG(badge)
 	badge.Icon = badge:CreateTexture(nil, "OVERLAY")
 	badge.Icon:FillInner(badge, 2, 2)
+	badge.Icon:SetTexture([[Interface\Icons\INV_MISC_QUESTIONMARK]])
+	badge.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)

 	pvp.Badge = badge

@@ -132,12 +138,9 @@ end

 function MOD:CreateFriendshipBar(frame)
 	local buddy = CreateFrame("StatusBar", nil, frame)
-    buddy:SetPoint("BOTTOMLEFT", frame, "TOPLEFT", 2, 2)
-    buddy:SetPoint("BOTTOMRIGHT", frame, "TOPRIGHT", -2, 2)
-    buddy:SetHeight(8)
+    buddy:SetAllPoints(frame.Power)
     buddy:SetStatusBarTexture([[Interface\AddOns\SVUI\assets\artwork\Bars\DEFAULT]])
     buddy:SetStatusBarColor(1,0,0)
-    buddy:SetPanelTemplate("Bar", true, 2, 2, 2)

 	return buddy
 end
diff --git a/Interface/AddOns/SVUI/packages/unit/common/portrait.lua b/Interface/AddOns/SVUI/packages/unit/common/portrait.lua
index 2d4f98c..639622f 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/portrait.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/portrait.lua
@@ -14,7 +14,8 @@ S U P E R - V I L L A I N - U I   By: Munglunch                              #
 ##############################################################################
 --]]
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/common/power.lua b/Interface/AddOns/SVUI/packages/unit/common/power.lua
index a62e8b7..5c8b003 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/power.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/power.lua
@@ -14,7 +14,8 @@ S U P E R - V I L L A I N - U I   By: Munglunch                              #
 ##############################################################################
 --]]
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/common/prediction.lua b/Interface/AddOns/SVUI/packages/unit/common/prediction.lua
index 139167c..4a3fd9a 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/prediction.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/prediction.lua
@@ -14,7 +14,8 @@ S U P E R - V I L L A I N - U I   By: Munglunch                              #
 ##############################################################################
 --]]
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/common/secure.lua b/Interface/AddOns/SVUI/packages/unit/common/secure.lua
index b00128a..c95cc13 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/secure.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/secure.lua
@@ -34,7 +34,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/common/unique.lua b/Interface/AddOns/SVUI/packages/unit/common/unique.lua
index 1a4cc6c..d992816 100644
--- a/Interface/AddOns/SVUI/packages/unit/common/unique.lua
+++ b/Interface/AddOns/SVUI/packages/unit/common/unique.lua
@@ -14,7 +14,8 @@ S U P E R - V I L L A I N - U I   By: Munglunch                              #
 ##############################################################################
 --]]
 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 --[[
 ##########################################################
 LOCAL VARS
diff --git a/Interface/AddOns/SVUI/packages/unit/frames/groups.lua b/Interface/AddOns/SVUI/packages/unit/frames/groups.lua
index d8e9094..c9349d4 100644
--- a/Interface/AddOns/SVUI/packages/unit/frames/groups.lua
+++ b/Interface/AddOns/SVUI/packages/unit/frames/groups.lua
@@ -28,7 +28,8 @@ local find, format, upper = string.find, string.format, string.upper;
 local match, gsub = string.match, string.gsub;

 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
 --[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
diff --git a/Interface/AddOns/SVUI/packages/unit/frames/units.lua b/Interface/AddOns/SVUI/packages/unit/frames/units.lua
index 84bd769..4c89af4 100644
--- a/Interface/AddOns/SVUI/packages/unit/frames/units.lua
+++ b/Interface/AddOns/SVUI/packages/unit/frames/units.lua
@@ -28,12 +28,11 @@ local find, format, upper = string.find, string.format, string.upper;
 local match, gsub = string.match, string.gsub;

 local SuperVillain, L = unpack(select(2, ...));
-local MOD = SuperVillain.Registry:Expose('SVUnit');
 local _, ns = ...
 local oUF_SuperVillain = ns.oUF
---[[ MUNGLUNCH's FASTER ASSERT FUNCTION ]]--
-local assert = enforce;
 assert(oUF_SuperVillain, "SVUI was unable to locate oUF.")
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end
 local ceil,tinsert = math.ceil,table.insert
 --[[
 ##########################################################
@@ -235,7 +234,7 @@ local UpdatePlayerFrame = function(self)
 end
 UPDATERS["player"] = UpdatePlayerFrame

-CONSTRUCTORS["player"] = function(self, unit)
+local ConstructPlayer = function(self, unit)
     local key = "player"
     self.unit = unit
     self.___key = key
@@ -244,14 +243,14 @@ CONSTRUCTORS["player"] = function(self, unit)
     self:SetScript("OnLeave", UnitFrame_OnLeave)
     self:SetFrameLevel(2)

-    MOD:SetActionPanel(self, "player")
+    MOD:SetActionPanel(self, key)
     self.Health = MOD:CreateHealthBar(self, true)
     self.Health.frequentUpdates = true
     self.Power = MOD:CreatePowerBar(self, true)
     self.Power.frequentUpdates = true
     MOD:CreatePortrait(self, false, true)
-    self.Buffs = MOD:CreateBuffs(self, "player")
-    self.Debuffs = MOD:CreateDebuffs(self, "player")
+    self.Buffs = MOD:CreateBuffs(self, key)
+    self.Debuffs = MOD:CreateDebuffs(self, key)
     self.Castbar = MOD:CreateCastbar(self, false, L["Player Castbar"], true, true)
     MOD:CreateExperienceRepBar(self)
     MOD:GetClassResources(self)
@@ -262,15 +261,17 @@ CONSTRUCTORS["player"] = function(self, unit)
     self.PvPText:SetFontTemplate(SuperVillain.Shared:Fetch("font", MOD.db.font), MOD.db.fontSize, MOD.db.fontOutline)
     self.Afflicted = MOD:CreateAfflicted(self)
     self.HealPrediction = MOD:CreateHealPrediction(self, true)
-    self.AuraBars = MOD:CreateAuraBarHeader(self, "player")
+    self.AuraBars = MOD:CreateAuraBarHeader(self, key)
     self.CombatFade = true;
     self:Point("BOTTOMLEFT", SuperVillain.UIParent, "BOTTOM", -413, 182)
     SuperVillain:SetSVMovable(self, self:GetName().."_MOVE", L["Player Frame"], nil, nil, nil, "ALL, SOLO")

     self.MediaUpdate = MOD.RefreshUnitMedia
     self.Update = UpdatePlayerFrame
+
     return self
-end
+end
+CONSTRUCTORS["player"] = ConstructPlayer
 --[[
 ##########################################################
 TARGET
@@ -465,7 +466,6 @@ CONSTRUCTORS["pet"] = function(self, unit)
     local key = "pet"
     self.unit = unit
     self.___key = key
-
     self:SetScript("OnEnter", UnitFrame_OnEnter)
     self:SetScript("OnLeave", UnitFrame_OnLeave)
     self:SetFrameLevel(2)
@@ -722,7 +722,7 @@ ARENA
 ##########################################################
 ]]--
 local function CreatePrepFrame(frameName, parentFrame, parentID)
-    local prep = CreateFrame("Frame", prepName, UIParent)
+    local prep = CreateFrame("Frame", frameName, UIParent)
     prep:SetFrameStrata("MEDIUM")
     prep:SetAllPoints(parentFrame)
     prep:SetID(parentID)
@@ -752,6 +752,7 @@ local function CreatePrepFrame(frameName, parentFrame, parentID)
     icon:SetBackdropColor(0, 0, 0, 0)
     icon:SetBackdropBorderColor(0, 0, 0)
     icon.Icon = icon:CreateTexture(nil, "OVERLAY")
+    icon.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
     icon.Icon:FillInner(icon, 2, 2)
     prep.SpecIcon = icon

@@ -869,7 +870,7 @@ CONSTRUCTORS["arena"] = function(self, unit)
     self.Range = { insideAlpha = 1, outsideAlpha = 1 }
     self:SetAttribute("type2", "focus")

-    if not _G[prepName] then CreatePrepFrame(prepName, self, selfID) end
+    if(not _G[prepName]) then CreatePrepFrame(prepName, self, selfID) end

     if(not _G["SVUI_Arena_MOVE"]) then
         self:Point("RIGHT", SuperVillain.UIParent, "RIGHT", -105, 0)
@@ -890,18 +891,19 @@ PREP FRAME
 ]]--
 local ArenaPrepHandler = CreateFrame("Frame")
 local ArenaPrepHandler_OnEvent = function(self, event)
+    local prepframe
     local _, instanceType = IsInInstance()
     if(not MOD.db.arena.enable or instanceType ~= "arena") then return end
     if event == "PLAYER_LOGIN" then
         for i = 1, 5 do
-            local prepframe = _G["SVUI_Arena"..i.."PrepFrame"]
+            prepframe = _G["SVUI_Arena"..i.."PrepFrame"]
             if(prepframe) then
                 prepframe:SetAllPoints(_G["SVUI_Arena"..i])
             end
         end
     elseif event == "ARENA_OPPONENT_UPDATE" then
         for i = 1, 5 do
-            local prepframe = _G["SVUI_Arena"..i.."PrepFrame"]
+            prepframe = _G["SVUI_Arena"..i.."PrepFrame"]
             if(prepframe and prepframe:IsShown()) then
                 prepframe:Hide()
             end
@@ -910,36 +912,38 @@ local ArenaPrepHandler_OnEvent = function(self, event)
         local numOpps = GetNumArenaOpponentSpecs()
         if numOpps > 0 then
             for i = 1, 5 do
-                local prepframe = _G["SVUI_Arena"..i.."PrepFrame"]
-                if i <= numOpps then
-                    local s = GetArenaOpponentSpec(i)
-                    local _, spec, class = nil, "UNKNOWN", "UNKNOWN"
-                    if s and s > 0 then
-                        _, spec, _, icon, _, _, class = GetSpecializationInfoByID(s)
-                    end
-                    if class and spec then
-                        prepframe.SpecClass:SetText(spec .. " - " .. LOCALIZED_CLASS_NAMES_MALE[class])
-                        prepframe.SpecIcon.Icon:SetTexture(icon or [[INTERFACE\ICONS\INV_MISC_QUESTIONMARK]])
-
-                        local color = RAID_CLASS_COLORS[class]
-                        local textcolor = SVUI_CLASS_COLORS[class] or color
-                        if color then
-                            prepframe.Health:SetStatusBarColor(color.r, color.g, color.b)
-                            prepframe.SpecClass:SetTextColor(textcolor.r, textcolor.g, textcolor.b)
-                        else
-                            prepframe.Health:SetStatusBarColor(0.25, 0.25, 0.25)
-                            prepframe.SpecClass:SetTextColor(1, 1, 1)
+                prepframe = _G["SVUI_Arena"..i.."PrepFrame"]
+                if(prepframe) then
+                    if i <= numOpps then
+                        local s = GetArenaOpponentSpec(i)
+                        local _, spec, class = nil, "UNKNOWN", "UNKNOWN"
+                        if s and s > 0 then
+                            _, spec, _, icon, _, _, class = GetSpecializationInfoByID(s)
                         end
-
-                        prepframe:Show()
+                        if class and spec then
+                            prepframe.SpecClass:SetText(spec .. " - " .. LOCALIZED_CLASS_NAMES_MALE[class])
+                            prepframe.SpecIcon.Icon:SetTexture(icon or [[INTERFACE\ICONS\INV_MISC_QUESTIONMARK]])
+
+                            local color = RAID_CLASS_COLORS[class]
+                            local textcolor = SVUI_CLASS_COLORS[class] or color
+                            if color then
+                                prepframe.Health:SetStatusBarColor(color.r, color.g, color.b)
+                                prepframe.SpecClass:SetTextColor(textcolor.r, textcolor.g, textcolor.b)
+                            else
+                                prepframe.Health:SetStatusBarColor(0.25, 0.25, 0.25)
+                                prepframe.SpecClass:SetTextColor(1, 1, 1)
+                            end
+
+                            prepframe:Show()
+                        end
+                    else
+                        prepframe:Hide()
                     end
-                else
-                    prepframe:Hide()
                 end
             end
         else
             for i = 1, 5 do
-                local prepframe = _G["SVUI_Arena"..i.."PrepFrame"]
+                prepframe = _G["SVUI_Arena"..i.."PrepFrame"]
                 if(prepframe and prepframe:IsShown()) then
                     prepframe:Hide()
                 end
@@ -976,12 +980,12 @@ function MOD:SetUnitFrame(key)
     if frame:GetParent() ~= SVUI_UnitFrameParent then
         frame:SetParent(SVUI_UnitFrameParent)
     end
-    if self.db[key].enable then
+    if self.db[key].enable then
         frame:Enable()
         frame:Update()
-    else
+    else
         frame:Disable()
-    end
+    end
 end

 function MOD:SetEnemyFrames(key, maxCount)
diff --git a/Interface/AddOns/SVUI/scripts/mounts.lua b/Interface/AddOns/SVUI/scripts/mounts.lua
index 834a554..66b11ed 100644
--- a/Interface/AddOns/SVUI/scripts/mounts.lua
+++ b/Interface/AddOns/SVUI/scripts/mounts.lua
@@ -376,6 +376,12 @@ function SVUILetsRide()
 			return
 		end
 	end
+	if(letsSeahorse) then
+		for index = 1, maxMounts, 1 do
+			local _, info, id = GetCompanionInfo("MOUNT", index)
+			if(letsSeahorse and id == 75207) then CallCompanion("MOUNT", index) end
+		end
+	end
 	if(letsFly and not letsSwim) then
 		if(checkList["FLYING"]) then
 			CallCompanion("MOUNT", checkList["FLYING"])
@@ -387,7 +393,7 @@ function SVUILetsRide()
 				return
 			end
 		end
-	elseif(not letsFly and not letsSwim and not letsSeahorse) then
+	elseif(not letsFly and not letsSwim) then
 		if(checkList["GROUND"]) then
 			CallCompanion("MOUNT", checkList["GROUND"])
 			return
@@ -396,24 +402,15 @@ function SVUILetsRide()
 		if(checkList["SWIMMING"]) then
 			CallCompanion("MOUNT", checkList["SWIMMING"])
 			return
-		else
-			if(letsFly and checkList["FLYING"]) then
-				SuperVillain:AddonMessage("No swimming mount selected! Using your flying mount.")
-				CallCompanion("MOUNT", checkList["FLYING"])
-				return
-			end
+		elseif(letsFly and checkList["FLYING"]) then
+			SuperVillain:AddonMessage("No swimming mount selected! Using your flying mount.")
+			CallCompanion("MOUNT", checkList["FLYING"])
+			return
 		end
 	elseif(checkList["GROUND"]) then
 		CallCompanion("MOUNT", checkList["GROUND"])
 		return
 	end
-	if(letsSeahorse and checkList["SWIMMING"]) then
-		local _, info, id, _, active, flag = GetCompanionInfo("MOUNT", checkList["SWIMMING"])
-		if(id == 75207) then
-			CallCompanion("MOUNT", checkList["SWIMMING"])
-			return
-		end
-	end
 	if(not checkList["GROUND"] and not checkList["FLYING"] and not checkList["SWIMMING"]) then
 		CallCompanion("MOUNT", random(1, maxMounts))
 	end
diff --git a/Interface/AddOns/SVUI/scripts/pvp.lua b/Interface/AddOns/SVUI/scripts/pvp.lua
index 7309c58..58b389a 100644
--- a/Interface/AddOns/SVUI/scripts/pvp.lua
+++ b/Interface/AddOns/SVUI/scripts/pvp.lua
@@ -32,21 +32,20 @@ LOCALS
 ##########################################################
 ]]--
 local function EnteringBattleGround()
+	SVUI_PVPComm:Show()
 	local numButtons = 1
 	local points = GetNumMapLandmarks()
 	for i = 1, points do
 		if(numButtons <= 6) then
 			local name, description, icon, _, _, _, active = GetMapLandmarkInfo(i)
-			if(active) then
-				local buttonName = ("SVUI_PVPCommButton"):format(numButtons)
-				local button = _G[buttonName]
-				button.name = name
-				button.description = description
-				button.Text:SetText(name)
-				button:SetFontString(button.Text)
-				button:Show()
-				numButtons = numButtons + 1
-			end
+			local buttonName = ("SVUI_PVPCommButton"):format(numButtons)
+			local button = _G[buttonName]
+			button.name = name
+			button.description = description
+			button.Text:SetText(name)
+			button:SetFontString(button.Text)
+			button:Show()
+			numButtons = numButtons + 1
 		end
 	end
 end
@@ -61,6 +60,7 @@ local function ExitingBattleGround()
 		button:SetFontString(button.Text)
 		button:Hide()
 	end
+	SVUI_PVPComm:Hide()
 end
 --[[
 ##########################################################
@@ -126,7 +126,7 @@ local function LoadPVPComm()
 			button:SetSize(115, 22)
 			button:SetPoint("TOP", holder, "TOP", 0, -yOffset)
 			button:SetButtonTemplate()
-			button.Text = searchButton:CreateFontString(nil,"OVERLAY")
+			button.Text = button:CreateFontString(nil,"OVERLAY")
 			button.Text:SetFont(SuperVillain.Media.font.roboto, 12, "NONE")
 			button.Text:SetAllPoints(button)
 			button.Text:SetJustifyH("CENTER")
@@ -141,6 +141,7 @@ local function LoadPVPComm()

 	PVPCommunicator:RegisterEvent("PLAYER_ENTERING_WORLD")
 	PVPCommunicator:SetScript("OnEvent", PVPCommunicator_OnEvent)
+	holder:Hide()
 end

 SuperVillain.Registry:NewScript(LoadPVPComm)
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/system/classes/Database.lua b/Interface/AddOns/SVUI/system/classes/Database.lua
index 29ac74c..78d42c2 100644
--- a/Interface/AddOns/SVUI/system/classes/Database.lua
+++ b/Interface/AddOns/SVUI/system/classes/Database.lua
@@ -2285,7 +2285,7 @@ local DatabaseDefaults = {
 				["enable"] = true,
 				["perrow"] = 3,
 				["numrows"] = 1,
-				["attachTo"] = "FRAME",
+				["attachTo"] = "BUFFS",
 				["anchorPoint"] = "LEFT",
 				["verticalGrowth"] = "UP",
 				["horizontalGrowth"] = "LEFT",
diff --git a/Interface/AddOns/SVUI/system/classes/Registry.lua b/Interface/AddOns/SVUI/system/classes/Registry.lua
index a830e76..b50dabd 100644
--- a/Interface/AddOns/SVUI/system/classes/Registry.lua
+++ b/Interface/AddOns/SVUI/system/classes/Registry.lua
@@ -143,8 +143,8 @@ local METAREGISTRY = function()
             _queue[priority] = nil
         end,
         Expose = function(_, name)
-            assert(_._packages[name], "Expose: The package " .. name .. " does not exist");
-            return _._packages[name]
+            --assert(_._packages[name], "Expose: The package " .. name .. " does not exist");
+            return _._packages[name] or false
         end,
         SetCallback = function(_, fn)
             if(fn and type(fn) == "function") then
@@ -253,7 +253,7 @@ local METAREGISTRY = function()
             end
         end,
         Temp = function(_, name, func)
-            assert(_._packages[name], "Temp: The package " .. name .. " does not exist");
+            --assert(_._packages[name], "Temp: The package " .. name .. " does not exist");
             if(not tempMethods[name]) then
                 tempMethods[name] = {}
             end
@@ -261,7 +261,7 @@ local METAREGISTRY = function()
             t[#t + 1] = func
         end,
         Update = function(_, name, dataOnly)
-            assert(_._packages[name], "Update: The package " .. name .. " does not exist");
+            --assert(_._packages[name], "Update: The package " .. name .. " does not exist");
             local obj = _._packages[name]
             if obj then
                 if SuperVillain.db[name] then
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
index e17cc88..4b330a4 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
+++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 50400
 ## Author: Munglunch, Elv
-## Version: 4.053
+## Version: @project-version@
 ## Title: |cffFF9900SVUI |r|cffFFEF00Config O Matic|r
 ## Notes: Supervillain UI [|cff9911FFConfig Options|r]
 ## RequiredDeps: SVUI
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/filter.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/filter.lua
index 85d76b6..71e6840 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/modules/filter.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/filter.lua
@@ -30,7 +30,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(SVUI);
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local selectedSpell,filterType,filters;
 local tinsert = table.insert;
 local function generateFilterOptions()
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/core.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/core.lua
index bc18f09..86eb4ec 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/core.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/core.lua
@@ -32,7 +32,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(SVUI);
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...;
 local ACD = LibStub("AceConfigDialog-3.0");
 --[[
@@ -1465,9 +1466,6 @@ SuperVillain.Options.args.SVUnit = {
 		MOD:ChangeDBVar(value, key[#key]);
 		MOD:RefreshUnitFrames();
 	end,
-	disabled = function()
-		return not SuperVillain.db.SVUnit.enable
-	end,
 	args = {
 		enable = {
 			order = 1,
@@ -1485,6 +1483,9 @@ SuperVillain.Options.args.SVUnit = {
 			type = "group",
 			name = L["General"],
 			guiInline = true,
+			disabled = function()
+				return not SuperVillain.db.SVUnit.enable
+			end,
 			args = {
 				commonGroup = {
 					order = 1,
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/focus.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/focus.lua
index 87ed77d..bae6e36 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/focus.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/focus.lua
@@ -30,7 +30,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(SVUI);
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 --[[
 ##################################################################################################
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/other.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/other.lua
index 65f2f75..2dcc3b4 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/other.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/other.lua
@@ -30,7 +30,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(SVUI);
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 --[[
 ##################################################################################################
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/party.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/party.lua
index 7af0a35..93d4052 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/party.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/party.lua
@@ -30,7 +30,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(SVUI);
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...

 SuperVillain.Options.args.SVUnit.args.party ={
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/pet.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/pet.lua
index 8ff28a8..56905fa 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/pet.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/pet.lua
@@ -30,7 +30,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(SVUI);
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 --[[
 ##################################################################################################
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/player.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/player.lua
index 208875f..a72a12c 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/player.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/player.lua
@@ -30,7 +30,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(SVUI);
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 --[[
 ##################################################################################################
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/raid.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/raid.lua
index 73861f6..bd824b7 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/raid.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/raid.lua
@@ -30,7 +30,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(SVUI);
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...

 local subOrder = 11;
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/target.lua b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/target.lua
index 30bc833..4e06664 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/modules/units/target.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/units/target.lua
@@ -30,7 +30,8 @@ GET ADDON DATA
 ##########################################################
 ]]--
 local SuperVillain, L = unpack(SVUI);
-local MOD = SuperVillain.Registry:Expose('SVUnit');
+local MOD = SuperVillain.Registry:Expose('SVUnit')
+if(not MOD) then return end;
 local _, ns = ...
 --[[
 ##################################################################################################
diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
index 55d97e4..0ee8d3c 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
+++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 50400
 ## Author: Munglunch, Azilroka, Sortokk
-## Version: 4.053
+## Version: @project-version@
 ## Title: |cffFF9900SVUI |r|cffFFEF00Style O Matic|r
 ## Notes: Supervillain UI [|cff9911FFAddon Skins|r].
 ## RequiredDeps: SVUI