Quantcast

5.4.191

Steven Jackson [01-19-15 - 01:42]
5.4.191
Filename
Fonts/DAMAGE.ttf
Fonts/FRIENDS.ttf
Fonts/OTHER_MORPHEUS.ttf
Interface/AddOns/SVUI/SVUI.toc
Interface/AddOns/SVUI/assets/fonts/!DAMAGE.ttf
Interface/AddOns/SVUI/data/defaults.lua
Interface/AddOns/SVUI/framework/api/api_general.lua
Interface/AddOns/SVUI/framework/api/api_style.lua
Interface/AddOns/SVUI/framework/docks/dock_core.lua
Interface/AddOns/SVUI/framework/docks/docks.xml
Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Sounds.lua
Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Timers.lua
Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc
Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc
Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc
Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua
Interface/AddOns/SVUI/packages/bar/SVBar.lua
Interface/AddOns/SVUI/packages/bar/components/micro.lua
Interface/AddOns/SVUI/packages/quest/SVQuest.xml
Interface/AddOns/SVUI/packages/quest/components/active.lua
Interface/AddOns/SVUI/packages/quest/components/quests.lua
Interface/AddOns/SVUI/packages/quest/components/scenario.lua
Interface/AddOns/SVUI/packages/unit/SVUnit.lua
Interface/AddOns/SVUI/packages/unit/elements/essentials.lua
Interface/AddOns/SVUI/system/media.lua
Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc
Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
Interface/AddOns/SVUI_ConfigOMatic/components/bar.lua
Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua
Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua
Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc
Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc
Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc
Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua
Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc
diff --git a/Fonts/DAMAGE.ttf b/Fonts/DAMAGE.ttf
deleted file mode 100644
index fb09813..0000000
Binary files a/Fonts/DAMAGE.ttf and /dev/null differ
diff --git a/Fonts/FRIENDS.ttf b/Fonts/FRIENDS.ttf
deleted file mode 100644
index 48dd635..0000000
Binary files a/Fonts/FRIENDS.ttf and /dev/null differ
diff --git a/Fonts/OTHER_MORPHEUS.ttf b/Fonts/OTHER_MORPHEUS.ttf
deleted file mode 100644
index 63b1c3b..0000000
Binary files a/Fonts/OTHER_MORPHEUS.ttf and /dev/null differ
diff --git a/Interface/AddOns/SVUI/SVUI.toc b/Interface/AddOns/SVUI/SVUI.toc
index 1161d43..e8603c2 100644
--- a/Interface/AddOns/SVUI/SVUI.toc
+++ b/Interface/AddOns/SVUI/SVUI.toc
@@ -1,6 +1,6 @@
 ## Interface: 60000
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## Title: |cffFF9900SVUI|r
 ## Notes: Supervillain UI [|cff9911FFCore Framework|r].
 ## SavedVariables: SVUI_Global, SVUI_Errors
diff --git a/Interface/AddOns/SVUI/assets/fonts/!DAMAGE.ttf b/Interface/AddOns/SVUI/assets/fonts/!DAMAGE.ttf
new file mode 100644
index 0000000..fb09813
Binary files /dev/null and b/Interface/AddOns/SVUI/assets/fonts/!DAMAGE.ttf differ
diff --git a/Interface/AddOns/SVUI/data/defaults.lua b/Interface/AddOns/SVUI/data/defaults.lua
index 273f131..545b149 100644
--- a/Interface/AddOns/SVUI/data/defaults.lua
+++ b/Interface/AddOns/SVUI/data/defaults.lua
@@ -793,7 +793,7 @@ SV.defaults["SVUnit"] = {
 		{
 			["enable"] = true,
 			["width"] = 50,
-			["camDistanceScale"] = 1.4,
+			["camDistanceScale"] = 1.6,
 			["rotation"] = 0,
 			["style"] = "3DOVERLAY",
 		},
@@ -973,7 +973,7 @@ SV.defaults["SVUnit"] = {
 			["width"] = 50,
 			["overlay"] = true,
 			["rotation"] = 0,
-			["camDistanceScale"] = 1.4,
+			["camDistanceScale"] = 1.6,
 			["style"] = "3DOVERLAY",
 		},
 		["buffs"] =
diff --git a/Interface/AddOns/SVUI/framework/api/api_general.lua b/Interface/AddOns/SVUI/framework/api/api_general.lua
index 7a20b63..a2d221f 100644
--- a/Interface/AddOns/SVUI/framework/api/api_general.lua
+++ b/Interface/AddOns/SVUI/framework/api/api_general.lua
@@ -164,6 +164,38 @@ end
 SECURE FADING
 ##########################################################
 ]]--
+local FRAMES_TO_HIDE = {};
+local FRAMES_TO_SHOW = {};
+
+local FadeEventManager_OnEvent = function(self, event)
+    if(event == 'PLAYER_REGEN_ENABLED') then
+        self:UnregisterEvent("PLAYER_REGEN_ENABLED")
+        for frame in pairs(FRAMES_TO_HIDE) do
+            frame:Hide()
+            if(frame.___forcehidefunc) then
+                local _, catch = pcall(frame.___forcehidefunc, frame)
+                if(catch) then
+                    frame.___forcehidefunc = nil
+                end
+            end
+        end
+        wipe(FRAMES_TO_HIDE)
+        for frame in pairs(FRAMES_TO_SHOW) do
+            frame:Show()
+            if(frame.___forceshowfunc) then
+                local _, catch = pcall(frame.___forceshowfunc, frame)
+                if(catch) then
+                    frame.___forceshowfunc = nil
+                end
+            end
+        end
+        wipe(FRAMES_TO_SHOW)
+    end
+end
+
+local FadeEventManager = CreateFrame('Frame')
+FadeEventManager:SetScript("OnEvent", FadeEventManager_OnEvent)
+
 local SecureFade_OnUpdate = function(self, elasped)
     local frame = self.owner;
     if(frame) then
@@ -181,19 +213,33 @@ local SecureFade_OnUpdate = function(self, elasped)
             state[4] = 0
             frame:SetAlpha(state[2])
             local canfade = (not InCombatLockdown()) or (InCombatLockdown() and (not frame:IsProtected()))
-            if(frame.___fadehide and canfade) then
-                frame:Hide()
-            end
+            if(frame.___fadehide) then
+                if(canfade) then
+                    frame:Hide()
+                    if(frame.___fadefunc) then
+                        local _, catch = pcall(frame.___fadefunc, frame)
+                        if(not catch) then
+                            frame.___fadefunc = nil
+                        end
+                    end

-            if(frame.___fadefunc) then
-                local _, catch = pcall(frame.___fadefunc, frame)
-                if(not catch) then
-                    frame.___fadefunc = nil
+                    self.Running = false;
+                    self:SetScript("OnUpdate", nil);
+                else
+                    FRAMES_TO_HIDE[frame] = true;
+                    FadeEventManager:RegisterEvent("PLAYER_REGEN_ENABLED");
+                end
+            else
+                if(frame.___fadefunc) then
+                    local _, catch = pcall(frame.___fadefunc, frame)
+                    if(not catch) then
+                        frame.___fadefunc = nil
+                    end
                 end
-            end

-            self.Running = false;
-            self:SetScript("OnUpdate", nil);
+                self.Running = false;
+                self:SetScript("OnUpdate", nil);
+            end
         end
     end
 end
@@ -204,16 +250,24 @@ local SecureFadeIn = function(self, duration, alphaStart, alphaEnd)
     local timer = duration or 0.1;

     local canfade = (not InCombatLockdown()) or (InCombatLockdown() and (not self:IsProtected()))
-    if(canfade and not self:IsShown()) then
+    if((not self:IsShown()) and canfade) then
         self:Show()
     end

+    if((not self:IsShown()) and (not canfade)) then
+        FRAMES_TO_SHOW[self] = true
+    end
+
     if(self:IsShown() and self:GetAlpha() == alpha2) then return end
     if(not self.___fadehandler) then
         self.___fadehandler = CreateFrame("Frame", nil)
         self.___fadehandler.owner = self;
     end
     if(not self.___fademode or (self.___fademode and self.___fademode == "OUT")) then
+        if(FRAMES_TO_HIDE[self]) then
+            FRAMES_TO_HIDE[self] = nil
+        end
+
         self.___fademode = "IN";
         self.___fadehide = false;
         self.___fadefunc = nil;
@@ -244,6 +298,10 @@ local SecureFadeOut = function(self, duration, alphaStart, alphaEnd, hideOnFinis
         self.___fadehandler.owner = self;
     end
     if(not self.___fademode or (self.___fademode and self.___fademode == "IN")) then
+        if(FRAMES_TO_SHOW[self]) then
+            FRAMES_TO_SHOW[self] = nil
+        end
+
         self.___fademode = "OUT";
         self.___fadehide = hideOnFinished;
         self.___fadefunc = nil;
@@ -264,8 +322,14 @@ local SecureFadeOut = function(self, duration, alphaStart, alphaEnd, hideOnFinis
     end
 end

-local SecureFadeCallback = function(self, callback)
-    self.___fadefunc = callback;
+local SecureFadeCallback = function(self, callback, onForceHide, onForceShow)
+    if(onForceHide) then
+        self.___forcehidefunc = callback;
+    elseif(onForceShow) then
+        self.___forceshowfunc = callback;
+    else
+        self.___fadefunc = callback;
+    end
 end
 --[[
 ##########################################################
diff --git a/Interface/AddOns/SVUI/framework/api/api_style.lua b/Interface/AddOns/SVUI/framework/api/api_style.lua
index 29d59b7..35d497d 100644
--- a/Interface/AddOns/SVUI/framework/api/api_style.lua
+++ b/Interface/AddOns/SVUI/framework/api/api_style.lua
@@ -623,6 +623,17 @@ TEMPLATE_METHODS["HeavyButton"] = function(self, inverse, inverted, styleName)
     end
 end;

+TEMPLATE_METHODS["Action"] = function(self, inverse, padding, x, y, shadowAlpha, mutedCooldown)
+    if(not self or (self and self.Panel)) then return end
+    padding = padding or 1
+    local underlay = (not inverse)
+    CreatePanelTemplate(self, "Slot", underlay, true, padding, x, y)
+    CreateButtonPanel(self, nil, nil, mutedCooldown)
+    if(shadowAlpha) then
+        self.Panel.Shadow:SetAttribute("shadowAlpha", shadowAlpha)
+    end
+end;
+
 TEMPLATE_METHODS["Slot"] = function(self, inverse, padding, x, y, shadowAlpha, mutedCooldown)
     if(not self or (self and self.Panel)) then return end
     padding = padding or 1
diff --git a/Interface/AddOns/SVUI/framework/docks/dock_core.lua b/Interface/AddOns/SVUI/framework/docks/dock_core.lua
index c3e10d5..bb7d1b3 100644
--- a/Interface/AddOns/SVUI/framework/docks/dock_core.lua
+++ b/Interface/AddOns/SVUI/framework/docks/dock_core.lua
@@ -109,6 +109,18 @@ _G.ToggleSuperDockLeft = function(self, button)
 	GameTooltip:Hide()
 	if(button and IsAltKeyDown()) then
 		SV:StaticPopup_Show('RESETDOCKS_CHECK')
+	elseif(button and button == 'RightButton') then
+		ButtonSound()
+		local userSize = SV.db.Dock.dockLeftHeight
+		if(not SV.cache.Docks.LeftExpanded) then
+			SV.cache.Docks.LeftExpanded = true
+			Dock.BottomLeft.Window:SetHeight(userSize + 300)
+		else
+			SV.cache.Docks.LeftExpanded = nil
+			Dock.BottomLeft.Window:SetHeight(userSize)
+		end
+		Dock.BottomLeft.Bar:Update()
+		Dock:UpdateDockBackdrops()
 	else
 		if SV.cache.Docks.LeftFaded then
 			SV.cache.Docks.LeftFaded = nil;
@@ -130,6 +142,18 @@ _G.ToggleSuperDockRight = function(self, button)
 	GameTooltip:Hide()
 	if(button and IsAltKeyDown()) then
 		SV:StaticPopup_Show('RESETDOCKS_CHECK')
+	elseif(button and button == 'RightButton') then
+		ButtonSound()
+		local userSize = SV.db.Dock.dockRightHeight
+		if(not SV.cache.Docks.RightExpanded) then
+			SV.cache.Docks.RightExpanded = true
+			Dock.BottomRight.Window:SetHeight(userSize + 300)
+		else
+			SV.cache.Docks.RightExpanded = nil
+			Dock.BottomRight.Window:SetHeight(userSize)
+		end
+		Dock.BottomRight.Bar:Update()
+		Dock:UpdateDockBackdrops()
 	else
 		if SV.cache.Docks.RightFaded then
 			SV.cache.Docks.RightFaded = nil;
@@ -360,6 +384,8 @@ local DockButton_OnEnter = function(self, ...)
 	GameTooltip:ClearLines()
 	local tipText = self:GetAttribute("tipText")
 	GameTooltip:AddDoubleLine("[Left-Click]", tipText, 0, 1, 0, 1, 1, 1)
+	local tipExtraText = self:GetAttribute("tipExtraText")
+	GameTooltip:AddDoubleLine("[Right-Click]", tipExtraText, 0, 1, 0, 1, 1, 1)
 	GameTooltip:AddLine(" ")
 	GameTooltip:AddDoubleLine("[Alt + Click]", "Reset Dock Buttons", 0, 0.5, 1, 0.5, 1, 0.5)
 	GameTooltip:Show()
@@ -885,9 +911,15 @@ function Dock:GetDimensions(location)
 	if(location:find("Left")) then
 		width = SV.db.Dock.dockLeftWidth;
 		height = SV.db.Dock.dockLeftHeight;
+		if(SV.cache.Docks.LeftExpanded) then
+			height = height + 300
+		end
 	else
 		width = SV.db.Dock.dockRightWidth;
 		height = SV.db.Dock.dockRightHeight;
+		if(SV.cache.Docks.RightExpanded) then
+			height = height + 300
+		end
 	end

 	return width, height;
@@ -914,6 +946,7 @@ function Dock:NewDocklet(location, globalName, readableName, texture, onclick)
 	frame.Enable = DockletEnable;
 	frame.Relocate = DockletRelocate;
 	frame.GetButtonSize = DockletButtonSize;
+	frame:FadeCallback(function() newParent.Bar:Cycle() newParent.Bar:GetDefault() end, false, true)

 	newParent.Bar.Data.Windows[globalName] = frame;

@@ -1069,6 +1102,14 @@ function Dock:Initialize()
 		SV.cache.Docks.RightFaded = false
 	end

+	if(not SV.cache.Docks.LeftExpanded) then
+		SV.cache.Docks.LeftExpanded = false
+	end
+
+	if(not SV.cache.Docks.RightExpanded) then
+		SV.cache.Docks.RightExpanded = false
+	end
+
 	if(not SV.cache.Docks.Order) then
 		SV.cache.Docks.Order = {}
 	end
diff --git a/Interface/AddOns/SVUI/framework/docks/docks.xml b/Interface/AddOns/SVUI/framework/docks/docks.xml
index f1f0a14..a462e25 100644
--- a/Interface/AddOns/SVUI/framework/docks/docks.xml
+++ b/Interface/AddOns/SVUI/framework/docks/docks.xml
@@ -47,8 +47,8 @@
                     <Anchor point="BOTTOMLEFT" relativeTo="$parent" />
                 </Anchors>
                 <Attributes>
-                    <Attribute name="tipText" type="string" value="Toggle Docks" />
-                    <Attribute name="tipExtraText" type="string" value="Left Dock Options" />
+                    <Attribute name="tipText" type="string" value="Toggle Left Dock" />
+                    <Attribute name="tipExtraText" type="string" value="Expand Left Dock" />
                     <Attribute name="hasDropDown" type="boolean" value="true" />
                 </Attributes>
                 <Layers>
@@ -119,8 +119,8 @@
                     <Anchor point="BOTTOMRIGHT" relativeTo="$parent" />
                 </Anchors>
                 <Attributes>
-                    <Attribute name="tipText" type="string" value="Toggle Docks" />
-                    <Attribute name="tipExtraText" type="string" value="Right Dock Options" />
+                    <Attribute name="tipText" type="string" value="Toggle Right Dock" />
+                    <Attribute name="tipExtraText" type="string" value="Expand Right Dock" />
                     <Attribute name="hasDropDown" type="boolean" value="true" />
                 </Attributes>
                 <Layers>
diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Sounds.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Sounds.lua
index 455f997..05039c8 100644
--- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Sounds.lua
+++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Sounds.lua
@@ -95,7 +95,7 @@ local BlendedSound_Effect = function(self)
     for i = 1, channels do
         key = random(1, #bank[i]);
         sound = bank[i][key];
-        PlaySoundFile(sound)
+        PlaySoundFile(sound);
     end
 end

diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Timers.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Timers.lua
index 5ae10b2..0c8a2e5 100644
--- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Timers.lua
+++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Timers.lua
@@ -94,7 +94,14 @@ function lib:ExecuteTimer(timeOutFunction, duration, idCheck)
         end
     end
     return false
-end
+end
+
+function lib:RemoveTimer(id)
+    if(TimerQueue[id]) then
+        TimerQueue[id] = nil
+        TimerCount = TimerCount - 1;
+    end
+end

 function lib:ExecuteLoop(timeOutFunction, duration, idCheck)
     if(type(duration) == "number" and type(timeOutFunction) == "function") then
diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
index a873882..ca846d8 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
+++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
@@ -2,7 +2,7 @@
 ## Title: oUF ActionPanel
 ## Notes: Adds a backing to all unit frames that provides many utilities.
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## X-Category: oUF
 ## Dependencies: oUF

diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc
index 892e4ea..ebc502e 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc
+++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc
@@ -2,7 +2,7 @@
 ## Title: oUF Afflicted
 ## Notes: Adds Custom Debuff Highlighting to oUF.
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## X-Category: oUF
 ## Dependencies: oUF

diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc
index af81155..1f961f9 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc
+++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc
@@ -2,7 +2,7 @@
 ## Title: oUF Gladiator
 ## Notes: Adds PvP trinket status and spec icons to oUF frames.
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## X-Category: oUF
 ## Dependencies: oUF

diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc
index 3296a71..76370db 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc
+++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc
@@ -2,7 +2,7 @@
 ## Title: oUF Mage Magic
 ## Notes: Adds support for mage spell indicators to oUF.
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## Dependencies: oUF

 oUF_MageMagic.lua
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua
index 53f9bbb..5f5b994 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua
+++ b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua
@@ -23,7 +23,7 @@ local SetPortraitTexture 		= _G.SetPortraitTexture;
 local parent, ns = ...
 local oUF = ns.oUF

-local Update = function(self, event, unit)
+local Update = function(self, event, unit, forced)
 	if(not unit or not UnitIsUnit(self.unit, unit)) then return end

 	local portrait = self.Portrait
@@ -33,6 +33,7 @@ local Update = function(self, event, unit)
 		local guid = UnitGUID(unit)
 		local camera = portrait.UserCamDistance or 1
 		local rotate = portrait.UserRotation
+
 		if(not UnitExists(unit) or not UnitIsConnected(unit) or not UnitIsVisible(unit)) then
 			portrait:SetCamDistanceScale(1)
 			portrait:SetPortraitZoom(0)
@@ -44,12 +45,12 @@ local Update = function(self, event, unit)
 			if portrait.UpdateColor then
 				portrait:UpdateColor(0.25,0.25,0.25)
 			end
-		elseif(portrait.guid ~= guid or event == 'UNIT_MODEL_CHANGED') then
+		elseif((forced) or (portrait.guid ~= guid) or (event == 'UNIT_MODEL_CHANGED')) then
+			portrait:ClearModel()
+			portrait:SetUnit(unit)
 			portrait:SetCamDistanceScale(camera)
 			portrait:SetPortraitZoom(1)
 			portrait:SetPosition(0,0,0)
-			portrait:ClearModel()
-			portrait:SetUnit(unit)
 			portrait.guid = guid

 			if(rotate and portrait:GetFacing() ~= rotate / 60) then
diff --git a/Interface/AddOns/SVUI/packages/bar/SVBar.lua b/Interface/AddOns/SVUI/packages/bar/SVBar.lua
index f6a3f87..6f246a4 100644
--- a/Interface/AddOns/SVUI/packages/bar/SVBar.lua
+++ b/Interface/AddOns/SVUI/packages/bar/SVBar.lua
@@ -175,7 +175,7 @@ local function SaveActionButton(parent)
 	end
 	MOD:FixKeybindText(parent)
 	MOD.ButtonCache[parent] = true
-	parent:SetStylePanel("Slot", 2, 0, 0, 0.75, true)
+	parent:SetStylePanel("Action", 2, 0, 0, 0.75, true)
 	parent:SetCheckedTexture("")
 end

@@ -1149,7 +1149,7 @@ do
 			else
 				auto:Hide()
 			end
-			if (isActive and actionName  ~= "PET_ACTION_FOLLOW") then
+			if (isActive and actionName ~= "PET_ACTION_FOLLOW") then
 				button:SetChecked(true)
 				checked:SetAlpha(1)
 				button:SetBackdropBorderColor(0.4, 0.8, 0)
diff --git a/Interface/AddOns/SVUI/packages/bar/components/micro.lua b/Interface/AddOns/SVUI/packages/bar/components/micro.lua
index 5508551..69be5a3 100644
--- a/Interface/AddOns/SVUI/packages/bar/components/micro.lua
+++ b/Interface/AddOns/SVUI/packages/bar/components/micro.lua
@@ -151,6 +151,7 @@ function MOD:UpdateMicroButtons()
 end

 function MOD:InitializeMicroBar()
+	if(not SV.db.SVBar.Micro.enable) then return end
 	local buttonSize = SV.db.SVBar.Micro.buttonsize or 30;
 	local spacing =  SV.db.SVBar.Micro.buttonspacing or 1;
 	local barWidth = (buttonSize + spacing) * 13;
diff --git a/Interface/AddOns/SVUI/packages/quest/SVQuest.xml b/Interface/AddOns/SVUI/packages/quest/SVQuest.xml
index f1d7730..36df400 100644
--- a/Interface/AddOns/SVUI/packages/quest/SVQuest.xml
+++ b/Interface/AddOns/SVUI/packages/quest/SVQuest.xml
@@ -1,5 +1,5 @@
 <Ui xmlns="http://www.blizzard.com/wow/ui/">
-	<Frame name="SVUI_QuestItemBar" parent="UIParent" hidden="true">
+	<Frame name="SVUI_QuestItemBar" parent="UIParent">
         <Size x="32" y="160"/>
         <Anchors>
             <Anchor point="BOTTOMRIGHT" x="-250" y="60"/>
diff --git a/Interface/AddOns/SVUI/packages/quest/components/active.lua b/Interface/AddOns/SVUI/packages/quest/components/active.lua
index 13b31ec..4450c35 100644
--- a/Interface/AddOns/SVUI/packages/quest/components/active.lua
+++ b/Interface/AddOns/SVUI/packages/quest/components/active.lua
@@ -216,9 +216,11 @@ local SetActiveData = function(self, title, level, icon, questID, questLogIndex,
 	if(objective_rows > 0) then
 		objective_block:SetHeightToScale(fill_height);
 		objective_block:FadeIn();
+		fill_height = fill_height + ((INNER_HEIGHT + 4) + (LARGE_INNER_HEIGHT));
+	else
+		fill_height = fill_height + LARGE_INNER_HEIGHT + 12;
 	end

-	fill_height = fill_height + ((INNER_HEIGHT + 4) + (LARGE_ROW_HEIGHT + 8));
 	block:SetHeightToScale(fill_height);

 	MOD.Docklet.ScrollFrame.ScrollBar:SetValue(0);
@@ -230,16 +232,8 @@ local SetActiveData = function(self, title, level, icon, questID, questLogIndex,
 	end
 	block.Badge.Icon:SetTexture(icon);

-	-- local link, texture, _, showCompleted = GetQuestLogSpecialItemInfo(questLogIndex)
-
-	-- if(link) then
-	-- 	MOD.QuestItem:SetUsage(link, texture)
-	-- elseif(MOD.QuestItem:IsShown()) then
-	-- 	MOD.QuestItem:ClearUsage()
-	-- end
-
-	if(self.Block.Badge.PostUpdate) then
-		self.Block.Badge:PostUpdate(questID)
+	if(block.Badge.PostUpdate) then
+		block.Badge:PostUpdate(questID)
 	end

 	self:RefreshHeight()
@@ -335,37 +329,7 @@ function MOD:InitializeActive()
 	local block = CreateFrame("Frame", nil, active)
 	block:SetPointToScale("TOPLEFT", active, "TOPLEFT", 2, -4);
 	block:SetPointToScale("TOPRIGHT", active, "TOPRIGHT", -2, -4);
-	block:SetHeightToScale(LARGE_ROW_HEIGHT);
-
-	block.Top = CreateFrame("Frame", nil, block)
-	block.Top:SetPoint("TOPLEFT", block, "TOPLEFT", 2, -2);
-	block.Top:SetPoint("TOPRIGHT", block, "TOPRIGHT", -2, -2);
-	block.Top:SetHeightToScale(INNER_HEIGHT);
-
-	block.Top.Text = block.Top:CreateFontString(nil,"OVERLAY")
-	block.Top.Text:SetPoint("TOPLEFT", block.Top, "TOPLEFT", 2, 0);
-	block.Top.Text:SetPoint("BOTTOMLEFT", block.Top, "BOTTOMLEFT", 2, 0);
-	block.Top.Text:SetFontObject(SVUI_Font_Quest_Header);
-	block.Top.Text:SetJustifyH('LEFT')
-	block.Top.Text:SetTextColor(0.28,0.75,1)
-	block.Top.Text:SetText("Active")
-
-	block.CloseButton = CreateFrame("Button", nil, block.Top, "UIPanelCloseButton")
-	block.CloseButton:RemoveTextures()
-	block.CloseButton:SetStylePanel("Button", nil, 1, -7, -7, nil, "red")
-	block.CloseButton:SetFrameLevel(block.CloseButton:GetFrameLevel() + 4)
-	block.CloseButton:SetNormalTexture([[Interface\AddOns\SVUI\assets\artwork\Icons\CLOSE-BUTTON]])
-    block.CloseButton:HookScript("OnEnter", CloseButton_OnEnter)
-    block.CloseButton:HookScript("OnLeave", CloseButton_OnLeave)
-	block.CloseButton:SetPointToScale("TOPRIGHT", block.Top, "TOPRIGHT", 8, 8);
-	block.CloseButton:RegisterForClicks("LeftButtonUp", "RightButtonUp")
-	block.CloseButton.Parent = active;
-	block.CloseButton:SetScript("OnClick", ActiveButton_OnClick)
-
-	block.Top.Divider = block.Top:CreateTexture(nil, 'BACKGROUND');
-	block.Top.Divider:SetPoint("TOPLEFT", block.Top.Text, "TOPRIGHT", -10, 0);
-	block.Top.Divider:SetPoint("BOTTOMRIGHT", block.Top, "BOTTOMRIGHT", 0, 0);
-	block.Top.Divider:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Template\DROPDOWN-DIVIDER]]);
+	block:SetHeightToScale(LARGE_INNER_HEIGHT);

 	block.Button = CreateFrame("Button", nil, block)
 	block.Button:SetPointToScale("TOPLEFT", block, "TOPLEFT", 0, 0);
@@ -378,8 +342,20 @@ function MOD:InitializeActive()
 	block.Button:SetScript("OnEnter", ActiveButton_OnEnter)
 	block.Button:SetScript("OnLeave", ActiveButton_OnLeave)

+	block.CloseButton = CreateFrame("Button", nil, block.Button, "UIPanelCloseButton")
+	block.CloseButton:RemoveTextures()
+	block.CloseButton:SetStylePanel("Button", nil, 1, -7, -7, nil, "red")
+	block.CloseButton:SetFrameLevel(block.Button:GetFrameLevel() + 4)
+	block.CloseButton:SetNormalTexture([[Interface\AddOns\SVUI\assets\artwork\Icons\CLOSE-BUTTON]])
+    block.CloseButton:HookScript("OnEnter", CloseButton_OnEnter)
+    block.CloseButton:HookScript("OnLeave", CloseButton_OnLeave)
+	block.CloseButton:SetPointToScale("TOPRIGHT", block.Button, "TOPRIGHT", 4, 4);
+	block.CloseButton:RegisterForClicks("LeftButtonUp", "RightButtonUp")
+	block.CloseButton.Parent = active;
+	block.CloseButton:SetScript("OnClick", ActiveButton_OnClick)
+
 	block.Badge = CreateFrame("Frame", nil, block.Button)
-	block.Badge:SetPointToScale("TOPLEFT", block.Top, "BOTTOMLEFT", 4, -4);
+	block.Badge:SetPointToScale("TOPLEFT", block.Button, "TOPLEFT", 4, -4);
 	block.Badge:SetSizeToScale((LARGE_INNER_HEIGHT - 4), (LARGE_INNER_HEIGHT - 4));
 	block.Badge:SetStylePanel("!_Frame", "Inset")

@@ -387,15 +363,12 @@ function MOD:InitializeActive()
 	block.Badge.Icon:SetAllPointsIn(block.Badge);
 	block.Badge.Icon:SetTexture(QUEST_ICON)
 	block.Badge.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
-	if(SV.AddQuestCompass) then
-		SV:AddQuestCompass(block, block.Badge, (LARGE_INNER_HEIGHT - 4))
-	end

-	block.Header = CreateFrame("Frame", nil, block.Button)
-	block.Header:SetPointToScale("TOPLEFT", block.Badge, "TOPRIGHT", 4, -1);
-	block.Header:SetPointToScale("TOPRIGHT", block.Top, "BOTTOMRIGHT", -4, 0);
-	block.Header:SetHeightToScale(INNER_HEIGHT);
-	block.Header:SetStylePanel("Frame", "Lite")
+	block.Header = CreateFrame("Frame", nil, block)
+	block.Header:SetPoint("TOPLEFT", block.Badge, "TOPRIGHT", 4, 0);
+	block.Header:SetPoint("TOPRIGHT", block.Button, "TOPRIGHT", -24, -4);
+	block.Header:SetHeightToScale(INNER_HEIGHT - 2);
+	block.Header:SetStylePanel("Frame")

 	block.Header.Level = block.Header:CreateFontString(nil,"OVERLAY")
 	block.Header.Level:SetFontObject(SVUI_Font_Quest);
@@ -412,9 +385,24 @@ function MOD:InitializeActive()
 	block.Header.Text:SetPointToScale("TOPLEFT", block.Header.Level, "TOPRIGHT", 4, 0);
 	block.Header.Text:SetPointToScale("BOTTOMRIGHT", block.Header, "BOTTOMRIGHT", 0, 0);

+	block.Details = CreateFrame("Frame", nil, block.Header)
+	block.Details:SetPointToScale("TOPLEFT", block.Header, "BOTTOMLEFT", 0, -2);
+	block.Details:SetPointToScale("TOPRIGHT", block.Header, "BOTTOMRIGHT", 0, -2);
+
+	if(SV.AddQuestCompass) then
+		block.Details:SetHeightToScale(INNER_HEIGHT - 4);
+		SV:AddQuestCompass(block, block.Badge)
+		block.Badge.Compass.Range:ClearAllPoints()
+		block.Badge.Compass.Range:SetPointToScale("TOPLEFT", block.Details, "TOPLEFT", 4, 0);
+		block.Badge.Compass.Range:SetPointToScale("BOTTOMLEFT", block.Details, "BOTTOMLEFT", 4, 0);
+		block.Badge.Compass.Range:SetJustifyH("LEFT");
+	else
+		block.Details:SetHeightToScale(1);
+	end
+
 	block.Objectives = MOD:NewObjectiveHeader(block);
-	block.Objectives:SetPointToScale("TOPLEFT", block.Header, "BOTTOMLEFT", 0, -2);
-	block.Objectives:SetPointToScale("TOPRIGHT", block.Header, "BOTTOMRIGHT", 0, -2);
+	block.Objectives:SetPointToScale("TOPLEFT", block.Details, "BOTTOMLEFT", 0, -2);
+	block.Objectives:SetPointToScale("TOPRIGHT", block.Details, "BOTTOMRIGHT", 0, -2);
 	block.Objectives:SetHeightToScale(1);

 	active.Block = block;
diff --git a/Interface/AddOns/SVUI/packages/quest/components/quests.lua b/Interface/AddOns/SVUI/packages/quest/components/quests.lua
index 79e5360..e9f75e0 100644
--- a/Interface/AddOns/SVUI/packages/quest/components/quests.lua
+++ b/Interface/AddOns/SVUI/packages/quest/components/quests.lua
@@ -187,7 +187,6 @@ do
     end

     local Button_ClearItem = function(self)
-        --self:FadeOut()
         if(InCombatLockdown()) then
             self.attribute = nil;
             self:RegisterEvent('PLAYER_REGEN_ENABLED');
@@ -328,6 +327,24 @@ function ItemBar:Reset()
 	end
 end

+local function HideItemBarButtons()
+	local maxIndex = #ItemBar.Buttons;
+	for i = 1, maxIndex do
+		local button = ItemBar.Buttons[i];
+		button:FadeOut(0.1, 1, 0, true);
+	end
+	ItemBar:FadeOut(0.1, 1, 0, true)
+end
+
+local function ShowItemBarButtons()
+	local maxIndex = #ItemBar.Buttons;
+	for link, index in pairs(ACTIVE_ITEMS) do
+		local button = ItemBar.Buttons[index];
+		button:FadeIn();
+	end
+	ItemBar:FadeIn();
+end
+
 function ItemBar:Update()
 	if(InCombatLockdown()) then
 		self:RegisterEvent("PLAYER_REGEN_ENABLED")
@@ -962,6 +979,7 @@ local AddOneQuest = function(self, questID)
 end

 local ResetQuestBlock = function(self)
+	if(not self:IsVisible()) then return end
 	for x = 1, #self.Rows do
 		local row = self.Rows[x]
 		if(row) then
@@ -1003,9 +1021,7 @@ CORE FUNCTIONS
 ##########################################################
 ]]--
 function MOD:UpdateObjectives(event, ...)
-	-- print('<-----QUESTS')
-	-- print(event)
-	-- print(...)
+	if(not self.Headers["Quests"]:IsVisible()) then return end
 	if(event == "ZONE_CHANGED_NEW_AREA") then
 		if(not WorldMapFrame:IsShown() and GetCVarBool("questPOI")) then
 			SetMapToCurrentZone();
@@ -1087,6 +1103,25 @@ end

 SV.Events:On("QUEST_UPVALUES_UPDATED", "UpdateQuestLocals", UpdateQuestLocals);

+local ticker;
+local _hook_QuestDock_OnShow = function(self)
+	if(not self:IsShown()) then return end
+	if(not ticker) then
+		ticker = SV.Timers:ExecuteTimer(ShowItemBarButtons, 1)
+	end
+	MOD.Headers["Quests"]:Reset()
+	MOD.Headers["Quests"]:Refresh()
+end
+
+local _hook_QuestDock_OnHide = function(self)
+	if(self:IsShown()) then return end
+	if(ticker) then
+		SV.Timers:RemoveTimer(ticker)
+		ticker = nil
+	end
+	HideItemBarButtons()
+end
+
 function MOD:InitializeQuests()
 	local barWidth = 32;
 	local barHeight = barWidth * 5;
@@ -1094,12 +1129,13 @@ function MOD:InitializeQuests()
 	ItemBar:SetPointToScale("TOPRIGHT", SV.Dock.BottomRight, "TOPLEFT", -4, 0);
 	ItemBar:SetWidth(barWidth);
 	ItemBar:SetHeight(barHeight);
-	ItemBar:SetStylePanel("Frame")
 	SV.Mentalo:Add(ItemBar, L["Quest Items"]);
 	for i = 1, 5 do
 		ItemBar.Buttons[i] = CreateQuestItemButton(i)
 	end
-	--ItemBar:Update()
+
+	self.Docklet:HookScript("OnShow", _hook_QuestDock_OnShow)
+	self.Docklet:HookScript("OnHide", _hook_QuestDock_OnHide)

 	local scrollChild = self.Docklet.ScrollFrame.ScrollChild;
 	local quests = CreateFrame("Frame", nil, scrollChild)
@@ -1147,10 +1183,12 @@ function MOD:InitializeQuests()
 	self:RegisterEvent("ZONE_CHANGED_NEW_AREA", self.UpdateObjectives);
 	self:RegisterEvent("ZONE_CHANGED", self.UpdateObjectives);

-	ItemBar:Reset();
+	--ItemBar:Reset();
 	CacheQuestHeaders()
 	self.Headers["Quests"]:Reset()
 	self.Headers["Quests"]:Refresh()

 	WorldMapFrame:HookScript("OnHide", _hook_WorldMapFrameOnHide)
+
+	ItemBar:Show()
 end
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/packages/quest/components/scenario.lua b/Interface/AddOns/SVUI/packages/quest/components/scenario.lua
index 73ebd5a..90bffd3 100644
--- a/Interface/AddOns/SVUI/packages/quest/components/scenario.lua
+++ b/Interface/AddOns/SVUI/packages/quest/components/scenario.lua
@@ -109,7 +109,8 @@ local SetScenarioData = function(self, title, stageName, currentStage, numStages
 		if(duration > 0 and elapsed <= duration and not (failed or completed)) then
 			objective_rows = objective_block:SetTimer(objective_rows, duration, elapsed);
 			fill_height = fill_height + (INNER_HEIGHT + 2);
-		elseif(description and description ~= '') then
+		end
+		if(description and description ~= '') then
 			objective_rows = objective_block:SetInfo(objective_rows, description, completed, failed);
 			fill_height = fill_height + (INNER_HEIGHT + 2);
 		end
@@ -363,7 +364,7 @@ function MOD:InitializeScenarios()
 	block:SetPointToScale("TOPLEFT", scenario, "TOPLEFT", 2, -2);
 	block:SetPointToScale("TOPRIGHT", scenario, "TOPRIGHT", -2, -2);
 	block:SetHeight(1);
-	block:SetStylePanel("HeavyButton", "Lite");
+	block:SetStylePanel("Frame", "Lite");

 	block.Badge = CreateFrame("Frame", nil, block)
 	block.Badge:SetPointToScale("TOPLEFT", block, "TOPLEFT", 4, -4);
diff --git a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua
index 60deeec..cc5683f 100644
--- a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua
+++ b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua
@@ -383,6 +383,7 @@ end
 function MOD:RefreshUnitLayout(frame, template)
 	local db = SV.db.SVUnit[template]
 	if(not db) then return end
+
 	local TOP_ANCHOR1, TOP_ANCHOR2, TOP_MODIFIER = "TOPRIGHT", "TOPLEFT", 1;
 	local BOTTOM_ANCHOR1, BOTTOM_ANCHOR2, BOTTOM_MODIFIER = "BOTTOMLEFT", "BOTTOMRIGHT", -1;
 	if(ReversedUnit[template]) then
@@ -700,7 +701,7 @@ function MOD:RefreshUnitLayout(frame, template)
 			if(PORTRAIT_OVERLAY) then
 				if(PORTRAIT_STYLE == '3D') then
 					PORTRAIT_GRIP:SetFrameLevel(frame.ActionPanel:GetFrameLevel())
-					PORTRAIT_GRIP:SetCamDistanceScale(db.portrait.camDistanceScale)
+					PORTRAIT_GRIP:ForceUpdate()
 				elseif(PORTRAIT_STYLE == '2D') then
 					PORTRAIT_GRIP.anchor:SetFrameLevel(frame.ActionPanel:GetFrameLevel())
 				end
@@ -713,7 +714,7 @@ function MOD:RefreshUnitLayout(frame, template)
 				PORTRAIT_GRIP.Panel:Show()
 				if(PORTRAIT_STYLE == '3D') then
 					PORTRAIT_GRIP:SetFrameLevel(frame.ActionPanel:GetFrameLevel())
-					PORTRAIT_GRIP:SetCamDistanceScale(db.portrait.camDistanceScale)
+					PORTRAIT_GRIP:ForceUpdate()
 				elseif(PORTRAIT_STYLE == '2D') then
 					PORTRAIT_GRIP.anchor:SetFrameLevel(frame.ActionPanel:GetFrameLevel())
 				end
@@ -759,14 +760,18 @@ function MOD:RefreshUnitLayout(frame, template)
 			castbar:SetSize(adjustedWidth, lazerScale)
 		end

-		if castbar.Spark and db.castbar.spark then
-			castbar.Spark:Show()
-			castbar.Spark:SetSize(sparkSize, sparkSize)
-			if castbar.Spark[1] and castbar.Spark[2] then
-				castbar.Spark[1]:SetAllPoints(castbar.Spark)
-				castbar.Spark[2]:SetAllPointsIn(castbar.Spark, 4, 4)
+		if castbar.Spark then
+			if(db.castbar.spark) then
+				castbar.Spark:Show()
+				castbar.Spark:SetSize(sparkSize, sparkSize)
+				if castbar.Spark[1] and castbar.Spark[2] then
+					castbar.Spark[1]:SetAllPoints(castbar.Spark)
+					castbar.Spark[2]:SetAllPointsIn(castbar.Spark, 4, 4)
+				end
+				castbar.Spark.SetHeight = SV.fubar
+			else
+				castbar.Spark:Hide()
 			end
-			castbar.Spark.SetHeight = SV.fubar
 		end
 		castbar:SetFrameStrata("HIGH")
 		if castbar.Holder then
diff --git a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua
index cec92a2..07938e1 100644
--- a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua
+++ b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua
@@ -401,12 +401,6 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText)
 		bg:SetTexture(1, 1, 1, 1)
 		bg:SetGradientAlpha("VERTICAL", 0, 0, 0, 0, 0, 0, 0, 0.7)

-		-- local effectFrame = CreateFrame("PlayerModel", nil, info)
-		-- effectFrame:SetAllPoints(info)
-		-- effectFrame:SetCamDistanceScale(0.5)
-		-- effectFrame:SetPortraitZoom(0)
-		-- effectFrame:SetModel([[Spells\Monk_travelingmist_missile.m2]])
-
 		frame.TextGrip = CreateFrame("Frame", nil, info)
 		frame.TextGrip:SetFrameStrata("LOW")
 		frame.TextGrip:SetFrameLevel(20)
diff --git a/Interface/AddOns/SVUI/system/media.lua b/Interface/AddOns/SVUI/system/media.lua
index 02e73db..4c219b8 100644
--- a/Interface/AddOns/SVUI/system/media.lua
+++ b/Interface/AddOns/SVUI/system/media.lua
@@ -53,8 +53,7 @@ local NAMEPLATE_FONT      = _G.NAMEPLATE_FONT
 local CHAT_FONT_HEIGHTS   = _G.CHAT_FONT_HEIGHTS
 local STANDARD_TEXT_FONT  = _G.STANDARD_TEXT_FONT
 local UNIT_NAME_FONT      = _G.UNIT_NAME_FONT
-local DAMAGE_TEXT_FONT    = _G.DAMAGE_TEXT_FONT
-local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS
+local CUSTOM_CLASS_COLORS = _G.CUSTOM_CLASS_COLORS
 local RAID_CLASS_COLORS   = _G.RAID_CLASS_COLORS
 local UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT  = _G.UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT

@@ -64,6 +63,24 @@ if(GetLocale() ~= "enUS") then
 end
 --[[
 ##########################################################
+FORCIBLY CHANGE THE GAME WORLD COMBAT TEXT FONT
+##########################################################
+]]--
+local SVUI_DAMAGE_FONT = "Interface\\AddOns\\SVUI\\assets\\fonts\\!DAMAGE.ttf";
+local SVUI_DAMAGE_FONTSIZE = 32;
+
+local function ForceDamageFont()
+	DAMAGE_TEXT_FONT = SVUI_DAMAGE_FONT
+	--COMBAT_TEXT_HEIGHT = SVUI_DAMAGE_FONTSIZE;
+	COMBAT_TEXT_CRIT_SCALE_TIME = 0.7;
+	COMBAT_TEXT_SPACING = 15;
+	COMBAT_TEXT_Y_SCALE = 1.5;
+	COMBAT_TEXT_X_SCALE = 1.5;
+end
+
+ForceDamageFont();
+--[[
+##########################################################
 DEFINE SOUND EFFECTS
 ##########################################################
 ]]--
@@ -400,38 +417,13 @@ end

 hooksecurefunc("FCF_ResetChatWindows", UpdateChatFontSizes)

-local function UpdateCombatFontSizes()
-	local fontFile = "Interface\\AddOns\\SVUI\\assets\\fonts\\Combat.ttf"
-	_G.DAMAGE_TEXT_FONT = fontFile
-	_G.NUM_COMBAT_TEXT_LINES = 20;
-	_G.COMBAT_TEXT_SCROLLSPEED = 1.0;
-	_G.COMBAT_TEXT_FADEOUT_TIME = 1.0;
-	_G.COMBAT_TEXT_HEIGHT = 18;
-	_G.COMBAT_TEXT_CRIT_MAXHEIGHT = 2.0;
-	_G.COMBAT_TEXT_CRIT_MINHEIGHT = 1.2;
-	_G.COMBAT_TEXT_CRIT_SCALE_TIME = 0.7;
-	_G.COMBAT_TEXT_CRIT_SHRINKTIME = 0.2;
-	_G.COMBAT_TEXT_TO_ANIMATE = {};
-	_G.COMBAT_TEXT_STAGGER_RANGE = 20;
-	_G.COMBAT_TEXT_SPACING = 7;
-	_G.COMBAT_TEXT_MAX_OFFSET = 130;
-	_G.COMBAT_TEXT_LOW_HEALTH_THRESHOLD = 0.2;
-	_G.COMBAT_TEXT_LOW_MANA_THRESHOLD = 0.2;
-	_G.COMBAT_TEXT_LOCATIONS = {};
-
-	local fName, fHeight, fFlags = CombatTextFont:GetFont()
-	CombatTextFont:SetFont(fontFile, fHeight, fFlags)
-end
-
 local function ChangeGlobalFonts()
 	local fontsize = SV.db.font.default.size;
 	STANDARD_TEXT_FONT = LSM:Fetch("font", SV.db.font.default.file);
 	UNIT_NAME_FONT = LSM:Fetch("font", SV.db.font.caps.file);
-	DAMAGE_TEXT_FONT = LSM:Fetch("font", SV.db.font.combat.file);
 	NAMEPLATE_FONT = STANDARD_TEXT_FONT
 	UpdateChatFontSizes()
 	UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT = fontsize
-	--UpdateCombatFontSizes()
 end
 --[[
 ##########################################################
@@ -629,6 +621,7 @@ local function UpdateAllFontTemplates()
 	for template, _ in pairs(ManagedFonts) do
 		UpdateFontTemplate(template)
 	end
+	ChangeGlobalFonts();
 end

 local function UpdateFontGroup(...)
@@ -641,8 +634,6 @@ end

 SV.Events:On("SVUI_ALLFONTS_UPDATED", "UpdateAllFontTemplates", UpdateAllFontTemplates);
 SV.Events:On("SVUI_FONTGROUP_UPDATED", "UpdateFontGroup", UpdateFontGroup);
-
---UpdateCombatFontSizes()
 --[[
 ##########################################################
 MEDIA UPDATES
diff --git a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc
index 3260cd1..9e9e30f 100644
--- a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc
+++ b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 60000
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## Title: |cffFF9900SVUI |r|cffFFEF00Chat-O-Matic|r
 ## Notes: Supervillain UI [|cff9911FFVarious Chat Gadgets|r]
 ## SavedVariables: ChatOMatic_Data
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
index 07a1a60..df01bb5 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
+++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 60000
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## Title: |cffFF9900SVUI |r|cffFFEF00Config-O-Matic|r
 ## Notes: Supervillain UI [|cff9911FFConfig Options|r]
 ## RequiredDeps: SVUI
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/bar.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/bar.lua
index 29f3444..4476550 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/bar.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/components/bar.lua
@@ -577,7 +577,11 @@ local function BarConfigLoader()
 			enable = {
 				order = 1,
 				type = "toggle",
-				name = L["Enable"]
+				name = L["Enable"],
+				set = function(key, value)
+					MOD:ChangeDBVar(value, key[#key], "Micro");
+					SV:StaticPopup_Show("RL_CLIENT")
+				end,
 			},
 			mouseover = {
 				order = 2,
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua
index d9cf246..46c5dd5 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua
@@ -36,7 +36,7 @@ local _, ns = ...;
 local AceGUIWidgetLSMlists = AceGUIWidgetLSMlists;

 local FONT_INFO = {
-	{"System Dialog", 1, "The most commonly used fonts.",
+	{"System Dialog", 1, "The most commonly used fonts. Changing these will require reloading the UI.",
 		{
 			["default"] = {
 				order = 1,
@@ -296,8 +296,12 @@ local function GenerateFontGroup()
 					return SV.db.font[template][key[#key]]
 				end,
 				set = function(key,value)
-					SV.db.font[template][key[#key]] = value;
-					SV.Events:Trigger("SVUI_FONTGROUP_UPDATED", template);
+					SV.db.font[template][key[#key]] = value;
+					if(groupCount == 1) then
+						SV:StaticPopup_Show("RL_CLIENT")
+					else
+						SV.Events:Trigger("SVUI_FONTGROUP_UPDATED", template);
+					end
 				end,
 				args = {
 					description = {
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua
index 0c882a3..76923a9 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua
@@ -728,7 +728,7 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count)
 	local k = {
 		order = 400,
 		type = "group",
-		name = L["Name"],
+		name = L['Name'],
 		get = function(key)
 			return SV.db.SVUnit[unitName]["name"][key[#key]]
 		end,
@@ -736,9 +736,49 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count)
 			MOD:ChangeDBVar(value, key[#key], unitName, "name");
 			updateFunction(MOD, unitName, count)
 		end,
+		disabled = function()
+			if(SV.db.SVUnit[unitName].grid and SV.db.SVUnit[unitName].grid.enable) then
+				return true
+			end
+			return false
+		end,
 		args = {
-			commonGroup = {
+			description = {
 				order = 1,
+				name = function()
+					if(SV.db.SVUnit[unitName].grid and SV.db.SVUnit[unitName].grid.enable) then
+						return L['Name Options Disabled While in Grid Mode']
+					end
+					return ''
+				end,
+				type = "description",
+				width = "full",
+			},
+			enable = {
+				type = "toggle",
+				order = 2,
+				name = L["Unit Name Enabled"],
+				get = function(key)
+					return SV.db.SVUnit[unitName]["name"].tags ~= ""
+				end,
+				set = function(key, value)
+					MOD:ChangeDBVar(value, key[#key], unitName, "formatting");
+					local tag = ""
+					if(value == true) then
+						tag = SV.db.SVUnit[unitName]["formatting"].name_colored and "[name:color]" or "";
+
+						local length = SV.db.SVUnit[unitName]["formatting"].name_length;
+						tag = tag .. "[name:" .. length .. "]"
+						local lvl = SV.db.SVUnit[unitName]["formatting"].smartlevel and "[smartlevel]" or "";
+						tag = tag .. lvl
+					end
+
+					MOD:ChangeDBVar(tag, "tags", unitName, "name");
+					updateFunction(MOD, unitName, count)
+				end,
+			},
+			commonGroup = {
+				order = 3,
 				type = "group",
 				guiInline = true,
 				name = L["Base Settings"],
@@ -807,7 +847,7 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count)
 				}
 			},
 			formatGroup = {
-				order = 100,
+				order = 5,
 				type = "group",
 				guiInline = true,
 				name = L["Text Settings"],
@@ -904,7 +944,7 @@ function ns:SetPortraitConfigGroup(updateFunction, unitName, count)
 				order = 3,
 				type = "group",
 				guiInline = true,
-				name = L["3D Settings"],
+				name = L["3D Settings (Reload required to take affect)"],
 				disabled = function() return SV.db.SVUnit[unitName]["portrait"].style == "2D" end,
 				args = {
 					rotation = {
diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc
index 32d50dc..8d03e52 100644
--- a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc
+++ b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 60000
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## Title: |cffFF9900SVUI |r|cffFFEF00Craft-O-Matic|r
 ## Notes: Supervillain UI [|cff9911FFProfession Tools|r].
 ## SavedVariablesPerCharacter: CraftOMatic_Profile, CraftOMatic_Cache
diff --git a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc
index 5e26d3b..72763f2 100644
--- a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc
+++ b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 60000
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## Title: |cffFF9900SVUI |r|cffFFEF00Fight-O-Matic|r
 ## Notes: Supervillain UI [|cff9911FFPvP Tools|r].
 ## SavedVariablesPerCharacter: FightOMatic_Profile, FightOMatic_Cache
diff --git a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc
index 9ec692a..479e952 100644
--- a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc
+++ b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 60000
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## Title: |cffFF9900SVUI |r|cffFFEF00Log-O-Matic|r
 ## Notes: Supervillain UI [|cff9911FFData Logging|r].
 ## SavedVariables: LogOMatic_Data
diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
index 4590d5e..328e883 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
+++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 60000
 ## Author: Munglunch, Azilroka, Sortokk
-## Version: 5.4.18
+## Version: 5.4.19
 ## Title: |cffFF9900SVUI |r|cffFFEF00Style-O-Matic|r
 ## Notes: Supervillain UI [|cff9911FFAddon Skins|r].
 ## SavedVariables: StyleOMatic_Global
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
index fc5e3b6..afaad1c 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
@@ -56,17 +56,6 @@ local function StyleTextureIcon(frame)
 	end
 end

-local function StyleItemIcon(item)
-	if((not item) or (not item.Icon)) then return end
-	item.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
-	if(not item.IconSlot) then
-		item.IconSlot = CreateFrame("Frame", nil, item)
-		item.IconSlot:SetAllPointsOut(item.Icon)
-		item.IconSlot:SetStylePanel("Icon")
-		item.Icon:SetParent(item.IconSlot)
-	end
-end
-
 local function StyleListItem(item)
 	if(not item) then return; end
     if(item.Icon) then
@@ -82,7 +71,7 @@ local function StyleListItem(item)
 		item.Icon:SetDesaturated(false)
 		if(not item.IconSlot) then
 			item.IconSlot = CreateFrame("Frame", nil, item)
-			item.IconSlot:SetAllPointsOut(item.Icon)
+			item.IconSlot:SetAllPoints(item.Icon)
 			item.IconSlot:SetStylePanel("Icon")
 			item.Icon:SetParent(item.IconSlot)
 		end
@@ -268,12 +257,14 @@ end
 local function StyleListButtons(listButtons)
     for i = 1, #listButtons do
         local frame = listButtons[i];
-        if(frame.Icon and (not frame.Panel)) then
+        if(frame.Icon) then
 	    	local size = frame:GetHeight() - 6
-	    	local texture = frame.Icon:GetTexture()
-			frame:RemoveTextures()
-	    	frame:SetStylePanel("!_Frame", 'Blackout', true, 3)
-	    	frame.Icon:SetTexture(texture)
+	    	if(not frame.Panel) then
+		    	local texture = frame.Icon:GetTexture()
+				frame:RemoveTextures()
+		    	frame:SetStylePanel("!_Frame", 'Blackout', true, 3)
+		    	frame.Icon:SetTexture(texture)
+		    end
 			frame.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
 			frame.Icon:ClearAllPoints()
 			frame.Icon:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -3, -3)
@@ -283,6 +274,10 @@ local function StyleListButtons(listButtons)
     end
 end

+local _hook_GarrisonMissionFrame_CheckRewardButtons = function(rewards)
+	StyleRewardButtons(rewards);
+end
+
 local function StyleUpdateRewards()
 	local self = GarrisonMissionFrame
     local missionButtons = self.MissionTab.MissionList.listScroll.buttons;
@@ -294,6 +289,30 @@ local function StyleUpdateRewards()
     StyleRewardButtons(self.MissionComplete.BonusRewards.Rewards);
 end

+local _hook_GarrisonMissionButton_SetRewards = function(self, rewards, numRewards)
+	if (numRewards > 0) then
+		local index = 1;
+		for id, reward in pairs(rewards) do
+			local frame = self.Rewards[index];
+	        if(frame.Icon) then
+		    	local size = frame:GetHeight() - 6
+		    	if(not frame.Panel) then
+			    	local texture = frame.Icon:GetTexture()
+					frame:RemoveTextures()
+			    	frame:SetStylePanel("!_Frame", 'Blackout', true, 3)
+			    	frame.Icon:SetTexture(texture)
+			    end
+				frame.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+				frame.Icon:ClearAllPoints()
+				frame.Icon:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -3, -3)
+				frame.Icon:SetSize(size, size)
+				frame.Icon:SetDesaturated(false)
+		    end
+		    index = index + 1;
+		end
+	end
+end
+
 local function LoadGarrisonStyle()
 	if PLUGIN.db.blizzard.enable ~= true then
 		return
@@ -475,7 +494,7 @@ local function LoadGarrisonStyle()

     hooksecurefunc("GarrisonFollowerButton_AddAbility", _hook_AddAbility)
     hooksecurefunc("GarrisonFollowerButton_SetCounterButton", _hook_SetCounterButton)
-    hooksecurefunc("GarrisonMissionList_UpdateMissions", StyleUpdateRewards)
+    hooksecurefunc("GarrisonMissionList_Update", StyleUpdateRewards)
     hooksecurefunc("GarrisonCapacitiveDisplayFrame_Update", _hook_ReagentUpdate)
     hooksecurefunc("GarrisonFollowerList_Update", _hook_GarrisonFollowerListUpdate)
     hooksecurefunc("GarrisonMissionFrame_SetFollowerPortrait", _hook_GarrisonMissionFrame_SetFollowerPortrait)
@@ -487,6 +506,8 @@ local function LoadGarrisonStyle()
     hooksecurefunc("GarrisonBuildingList_SelectTab", _hook_GarrisonBuildingListUpdate)
     hooksecurefunc("GarrisonBuildingInfoBox_ShowFollowerPortrait", _hook_GarrisonBuildingInfoBoxFollowerPortrait)
     hooksecurefunc("GarrisonFollowerTooltipTemplate_SetGarrisonFollower", _hook_GarrisonFollowerTooltipTemplate_SetGarrisonFollower)
+    hooksecurefunc("GarrisonMissionButton_SetRewards", _hook_GarrisonMissionButton_SetRewards)
+    hooksecurefunc("GarrisonMissionFrame_CheckRewardButtons", _hook_GarrisonMissionFrame_CheckRewardButtons)


 	if(GarrisonCapacitiveDisplayFrame.StartWorkOrderButton) then
diff --git a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua
index 5c95a02..568193f 100644
--- a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua
+++ b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua
@@ -189,6 +189,7 @@ local QuestTracker_OnUpdate = function(self, elapsed)
                 self.throttle = 4
                 self.Arrow:SetAlpha(0)
                 self.BG:SetVertexColor(0.1,0.1,0.1,0)
+                self.Range:SetTextColor(1,1,1,1)
             else
                 self.throttle = 0.02
                 local range = floor(distance)
@@ -198,14 +199,18 @@ local QuestTracker_OnUpdate = function(self, elapsed)
                     self.BG:SetAlpha(1)
                     if(range > 100) then
                         self.BG:SetVertexColor(0.8,0.1,0.1,1)
+                        self.Range:SetTextColor(1,0.5,0.5,1)
                     elseif(range > 40) then
                         self.BG:SetVertexColor(0.8,0.8,0.1,1)
+                        self.Range:SetTextColor(1,1,0.5,1)
                     else
                         self.BG:SetVertexColor(0.1,0.8,0.1,1)
+                        self.Range:SetTextColor(0.5,1,0.5,1)
                     end
-                    self.Range:SetText(range)
+                    self.Range:SetText("Distance: " .. range .. " Yards")
                 else
                     self.BG:SetVertexColor(0.1,0.1,0.1,0)
+                    self.Range:SetTextColor(1,1,1,1)
                     self.Arrow:SetAlpha(0)
                     self.BG:SetAlpha(0)
                     self.Range:SetText("")
@@ -233,7 +238,7 @@ local StartTrackingQuest = function(self, questID)
     end
 end

-function SV:AddQuestCompass(parent, anchor, size)
+function SV:AddQuestCompass(parent, anchor)
     if anchor.Compass then return end
     local compass = CreateFrame("Frame", nil, parent)
     compass:SetAllPoints(anchor)
@@ -247,7 +252,7 @@ function SV:AddQuestCompass(parent, anchor, size)
     compass.Arrow:SetTexture([[Interface\AddOns\SVUI_TrackOMatic\artwork\QUEST-COMPASS-ARROW]])
     compass.Range = compass:CreateFontString(nil, 'ARTWORK')
     compass.Range:SetPoint("CENTER", compass, "CENTER", 0, 0)
-    compass.Range:SetFont(SV.Media.font.default, 10, "OUTLINE")
+    compass.Range:SetFontObject(SVUI_Font_Quest);
     compass.Range:SetTextColor(1, 1, 1, 0.75)
     compass.Spin = Rotate_Arrow

diff --git a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc
index 66664e7..a167451 100644
--- a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc
+++ b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc
@@ -1,6 +1,6 @@
 ## Interface: 60000
 ## Author: Munglunch
-## Version: 5.4.18
+## Version: 5.4.19
 ## Title: |cffFF9900SVUI |r|cffFFEF00Track-O-Matic|r
 ## Notes: Supervillain UI [|cff9911FFRaid & Party Member Tracking|r].
 ## SavedVariables: TrackOMatic_Global