Quantcast

5.4.153

Steven Jackson [01-05-15 - 00:38]
5.4.153
Filename
Interface/AddOns/SVUI/framework/api/api_general.lua
Interface/AddOns/SVUI/framework/widgets/widget_superbutton.lua
Interface/AddOns/SVUI_StyleOMatic/Loader.lua
Interface/AddOns/SVUI_StyleOMatic/components/_load.xml
Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua
Interface/AddOns/SVUI_StyleOMatic/components/addons/_load.xml
Interface/AddOns/SVUI_StyleOMatic/components/atlas/_load.xml
Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua
Interface/AddOns/SVUI_StyleOMatic/components/blizzard/alert.lua
Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
diff --git a/Interface/AddOns/SVUI/framework/api/api_general.lua b/Interface/AddOns/SVUI/framework/api/api_general.lua
index f5de5f3..d561d57 100644
--- a/Interface/AddOns/SVUI/framework/api/api_general.lua
+++ b/Interface/AddOns/SVUI/framework/api/api_general.lua
@@ -363,6 +363,30 @@ local SecureFadeCallback = function(self, callback)
 end
 --[[
 ##########################################################
+HOOKED ATLAS HIJACKER
+##########################################################
+]]--
+-- For the atlas listeners we will unfortunately need a few global objects
+_G.ATLAS_THIEF = {} -- Wasn't this the name of a movie?
+_G.ATLAS_HACKS = {} -- Couldn't think of anything clever honestly.
+_G.ATLAS_HACKS["default"] = function(self)
+  self:SetTexture("")
+end
+
+local StealAtlas = function(self, atlas)
+    if(not self or not atlas) then return end
+    local hack = ATLAS_THIEF[atlas];
+    if(hack) then
+        local fn = ATLAS_HACKS[hack] or ATLAS_HACKS["default"]
+        local pass, catch = pcall(fn, self, atlas)
+        if(catch) then
+            SV:Debugger(catch)
+            return
+        end
+    end
+end
+--[[
+##########################################################
 ENUMERATION
 ##########################################################
 ]]--
@@ -380,6 +404,9 @@ local function AppendMethods(OBJECT)
     if not OBJECT.FadeIn then META.FadeIn = SecureFadeIn end
     if not OBJECT.FadeOut then META.FadeOut = SecureFadeOut end
     if not OBJECT.FadeCallback then META.FadeCallback = SecureFadeCallback end
+    if(OBJECT.SetAtlas) then
+        hooksecurefunc(META, "SetAtlas", StealAtlas)
+    end
 end

 local HANDLER, OBJECT = {["Frame"] = true}, CreateFrame("Frame")
diff --git a/Interface/AddOns/SVUI/framework/widgets/widget_superbutton.lua b/Interface/AddOns/SVUI/framework/widgets/widget_superbutton.lua
index ce68ada..afa452a 100644
--- a/Interface/AddOns/SVUI/framework/widgets/widget_superbutton.lua
+++ b/Interface/AddOns/SVUI/framework/widgets/widget_superbutton.lua
@@ -221,7 +221,7 @@ local SetSuperButtonAction = function(self, action)
 	end

 	local HotKey = self.HotKey
-	local key = GetBindingKey(self.___binding)
+	local key = GetBindingKey(self.___binding ~= nil)
 	if(key) then
 		HotKey:SetText(GetBindingText(key, 1))
 		HotKey:Show()
@@ -309,7 +309,7 @@ local SetSuperButtonSpell = function(self, spellID, spellName, texture)
 	end

 	local HotKey = self.HotKey
-	local key = GetBindingKey(self.___binding)
+	local key = GetBindingKey(self.___binding ~= nil)
 	if(key) then
 		HotKey:SetText(GetBindingText(key, 1))
 		HotKey:Show()
@@ -397,7 +397,7 @@ local SetSuperButtonItem = function(self, itemLink, texture)
 	end

 	local HotKey = self.HotKey
-	local key = GetBindingKey(self.___binding)
+	local key = GetBindingKey(self.___binding ~= nil)
 	if(key) then
 		HotKey:SetText(GetBindingText(key, 1))
 		HotKey:Show()
@@ -577,9 +577,9 @@ function SuperButton:AddAction(buttonName, updateFunc, eventFunc, bindingKey)
 				self:ClearBindings()
 			end
 		end
-		if(self:IsShown() and (self.___binding) and (name == 'action' or name == 'binding')) then
+		if(self:IsShown() and (self.___binding ~= nil) and (name == 'action' or name == 'binding')) then
 			self:ClearBindings()
-			local key = GetBindingKey(self.___binding)
+			local key = GetBindingKey(self.___binding ~= nil)
 			if(key) then
 				self:SetBindingClick(1, key, self, 'LeftButton')
 			end
@@ -686,9 +686,9 @@ function SuperButton:AddSpell(buttonName, updateFunc, eventFunc, bindingKey)
 				self:ClearBindings()
 			end
 		end
-		if(self:IsShown() and (self.___binding) and (name == 'spell' or name == 'binding')) then
+		if(self:IsShown() and (self.___binding ~= nil) and (name == 'spell' or name == 'binding')) then
 			self:ClearBindings()
-			local key = GetBindingKey(self.___binding)
+			local key = GetBindingKey(self.___binding ~= nil)
 			if(key) then
 				self:SetBindingClick(1, key, self, 'LeftButton')
 			end
@@ -794,9 +794,9 @@ function SuperButton:AddItem(buttonName, updateFunc, eventFunc, bindingKey)
 				self:ClearBindings()
 			end
 		end
-		if(self:IsShown() and (self.___binding) and (name == 'item' or name == 'binding')) then
+		if(self:IsShown() and (self.___binding ~= nil) and (name == 'item' or name == 'binding')) then
 			self:ClearBindings()
-			local key = GetBindingKey(self.___binding)
+			local key = GetBindingKey(self.___binding ~= nil)
 			if(key) then
 				self:SetBindingClick(1, key, self, 'LeftButton')
 			end
diff --git a/Interface/AddOns/SVUI_StyleOMatic/Loader.lua b/Interface/AddOns/SVUI_StyleOMatic/Loader.lua
index 5e7e08e..81b3891 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/Loader.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/Loader.lua
@@ -100,7 +100,7 @@ AddonObject.defaults = {
 		['Bugsack'] = true,
 		['Clique'] = true,
 		['Cooline'] = true,
-		['Details'] = true,
+		--['Details'] = true,
 		['DBM'] = true,
 		['DXE'] = true,
 		['LightHeaded'] = true,
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/_load.xml b/Interface/AddOns/SVUI_StyleOMatic/components/_load.xml
index 47dc976..a2f7198 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/_load.xml
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/_load.xml
@@ -1,5 +1,6 @@
 <Ui xmlns="http://www.blizzard.com/wow/ui/">
 	<Script file="style_methods.lua"/>
+	<Include file='atlas\_load.xml'/>
 	<Include file='blizzard\_load.xml'/>
 	<Include file='addons\_load.xml'/>
 </Ui>
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua b/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua
index 30f658d..c9db229 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua
@@ -37,9 +37,32 @@ local DEFAULT_COLOR = {r = 0.25, g = 0.25, b = 0.25};
 STYLE
 ##########################################################
 ]]--
+_G.ATLAS_HACKS["MasterPlan_GarrPortraits"] = function(self, atlas)
+  local parent = self:GetParent()
+  self:ClearAllPoints()
+  self:SetPoint("TOPLEFT", parent, "TOPLEFT", -3, 0)
+  self:SetPoint("BOTTOMRIGHT", parent, "BOTTOMRIGHT", 3, -6)
+  self:SetTexture(RING_TEXTURE)
+  self:SetVertexColor(1, 0.86, 0)
+end
+
+local StyleRewardIcon = function(self)
+  local icon = self.Icon or self.icon
+  if(icon) then
+    local texture = icon:GetTexture()
+    icon:SetTexture(texture)
+    icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+    icon:ClearAllPoints()
+    icon:SetAllPointsIn(self, 1, 1)
+    icon:SetDesaturated(false)
+  end
+end
+
 local function StyleMasterPlan()
 	assert(MasterPlan, "AddOn Not Loaded")

+  _G.ATLAS_THIEF["Garr_FollowerPortrait_Ring"] = "MasterPlan_GarrPortraits";
+
 	PLUGIN:ApplyTabStyle(GarrisonMissionFrameTab3)
 	PLUGIN:ApplyTabStyle(GarrisonMissionFrameTab4)
 end
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/addons/_load.xml b/Interface/AddOns/SVUI_StyleOMatic/components/addons/_load.xml
index b1be5cc..55ecc88 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/addons/_load.xml
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/addons/_load.xml
@@ -10,7 +10,7 @@
 	<Script file='Bugsack.lua'/>
 	<Script file='Clique.lua'/>
 	<Script file='Cooline.lua'/>
-	<Script file='Details.lua'/>
+	<!-- <Script file='Details.lua'/> -->
 	<Script file='DBM.lua'/>
 	<Script file='DXE.lua'/>
 	<Script file='LightHeaded.lua'/>
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/atlas/_load.xml b/Interface/AddOns/SVUI_StyleOMatic/components/atlas/_load.xml
new file mode 100644
index 0000000..b7c6494
--- /dev/null
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/atlas/_load.xml
@@ -0,0 +1,3 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+	<Script file='garrison.lua'/>
+</Ui>
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua b/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua
new file mode 100644
index 0000000..0d12225
--- /dev/null
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua
@@ -0,0 +1,130 @@
+--[[
+##############################################################################
+_____/\\\\\\\\\\\____/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\_       #
+ ___/\\\/////////\\\_\/\\\_______\/\\\_\/\\\_______\/\\\_\/////\\\///__      #
+  __\//\\\______\///__\//\\\______/\\\__\/\\\_______\/\\\_____\/\\\_____     #
+   ___\////\\\__________\//\\\____/\\\___\/\\\_______\/\\\_____\/\\\_____    #
+    ______\////\\\________\//\\\__/\\\____\/\\\_______\/\\\_____\/\\\_____   #
+     _________\////\\\______\//\\\/\\\_____\/\\\_______\/\\\_____\/\\\_____  #
+      __/\\\______\//\\\______\//\\\\\______\//\\\______/\\\______\/\\\_____ #
+       _\///\\\\\\\\\\\/________\//\\\________\///\\\\\\\\\/____/\\\\\\\\\\\_#
+        ___\///////////___________\///___________\/////////_____\///////////_#
+##############################################################################
+S U P E R - V I L L A I N - U I   By: Munglunch                              #
+##############################################################################
+--]]
+--[[ GLOBALS ]]--
+local _G = _G;
+local unpack  = _G.unpack;
+local select  = _G.select;
+local ipairs  = _G.ipairs;
+local pairs   = _G.pairs;
+--[[ ADDON ]]--
+local SV = _G.SVUI;
+local L = SV.L;
+local PLUGIN = select(2, ...);
+local Schema = PLUGIN.Schema;
+--[[
+##########################################################
+HELPERS
+##########################################################
+]]--
+local RING_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\FOLLOWER-RING]]
+local LVL_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\FOLLOWER-LEVEL]]
+local HIGHLIGHT_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]]
+local DEFAULT_COLOR = {r = 0.25, g = 0.25, b = 0.25};
+--[[
+##########################################################
+STYLE
+##########################################################
+]]--
+local StyleRewardIcon = function(self)
+  local icon = self.Icon or self.icon
+  if(icon) then
+    local texture = icon:GetTexture()
+    icon:SetTexture(texture)
+    icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+    icon:ClearAllPoints()
+    icon:SetAllPointsIn(self, 1, 1)
+    icon:SetDesaturated(false)
+  end
+end
+
+_G.ATLAS_HACKS["GarrMission_Rewards"] = function(self)
+  local frame = self:GetParent()
+  if(frame and (not frame.Panel)) then
+    local size = frame:GetHeight() - 6
+    frame:RemoveTextures()
+    frame:SetStylePanel("Default", 'Icon', true, 2)
+    hooksecurefunc(frame, "SetPoint", StyleRewardIcon)
+  end
+end
+
+_G.ATLAS_HACKS["GarrMission_Buttons"] = function(self)
+  local frame = self:GetParent()
+  if(frame) then
+    PLUGIN:ApplyItemButtonStyle(frame)
+  end
+end
+
+_G.ATLAS_HACKS["GarrMission_PortraitsFromLevel"] = function(self)
+	local parent = self:GetParent()
+	if(parent.PortraitRing) then
+  		parent.PortraitRing:SetTexture(RING_TEXTURE)
+  	end
+end
+
+_G.ATLAS_HACKS["GarrMission_Highlights"] = function(self)
+	local parent = self:GetParent()
+	if(not parent.AtlasHighlight) then
+  		local frame = parent:CreateTexture(nil, "HIGHLIGHT")
+		frame:SetAllPointsIn(parent,1,1)
+		frame:SetTexture(HIGHLIGHT_TEXTURE)
+		frame:SetGradientAlpha("VERTICAL",0.1,0.82,0.95,0.1,0.1,0.82,0.95,0.68)
+		parent.AtlasHighlight = frame
+	end
+	self:SetTexture("")
+end
+
+_G.ATLAS_HACKS["GarrMission_MaterialFrame"] = function(self)
+  local frame = self:GetParent()
+  frame:RemoveTextures()
+  frame:SetStylePanel("Default", "Inset", true, 1, -5, -7)
+end
+
+--_G.ATLAS_THIEF["GarrMission_MissionParchment"] = "default";
+--_G.ATLAS_THIEF["GarrMission_RareOverlay"] = "GarrMission_Buttons";
+
+_G.ATLAS_THIEF["_GarrMission_MissionListTopHighlight"] = "GarrMission_Highlights";
+_G.ATLAS_THIEF["_GarrMission_TopBorder-Highlight"] = "default";
+_G.ATLAS_THIEF["GarrMission_ListGlow-Highlight"] = "default";
+_G.ATLAS_THIEF["GarrMission_TopBorderCorner-Highlight"] = "default";
+
+_G.ATLAS_THIEF["Garr_FollowerToast-Uncommon"] = "default";
+_G.ATLAS_THIEF["Garr_FollowerToast-Epic"] = "default";
+_G.ATLAS_THIEF["Garr_FollowerToast-Rare"] = "default";
+
+_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Horde-Up"] = "default";
+_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Horde-Down"] = "default";
+_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Alliance-Up"] = "default";
+_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Alliance-Down"] = "default";
+
+_G.ATLAS_THIEF["Garr_InfoBox-BackgroundTile"] = "default";
+_G.ATLAS_THIEF["_Garr_InfoBoxBorder-Top"] = "default";
+_G.ATLAS_THIEF["!Garr_InfoBoxBorder-Left"] = "default";
+_G.ATLAS_THIEF["!Garr_InfoBox-Left"] = "default";
+_G.ATLAS_THIEF["_Garr_InfoBox-Top"] = "default";
+
+_G.ATLAS_THIEF["Garr_InfoBoxBorder-Corner"] = "default";
+_G.ATLAS_THIEF["Garr_InfoBox-CornerShadow"] = "default";
+_G.ATLAS_THIEF["Garr_Mission_MaterialFrame"] = "GarrMission_MaterialFrame";
+
+_G.ATLAS_THIEF["!GarrMission_Bg-Edge"] = "GarrMission_Buttons";
+_G.ATLAS_THIEF["_GarrMission_Bg-BottomEdgeSmall"] = "default";
+_G.ATLAS_THIEF["_GarrMission_TopBorder"] = "default";
+_G.ATLAS_THIEF["GarrMission_TopBorderCorner"] = "default";
+_G.ATLAS_THIEF["Garr_MissionList-IconBG"] = "default";
+
+_G.ATLAS_THIEF["GarrMission_RewardsShadow"] = "GarrMission_Rewards";
+_G.ATLAS_THIEF["GarrMission_PortraitRing_LevelBorder"] = "GarrMission_PortraitsFromLevel";
+_G.ATLAS_THIEF["GarrMission_PortraitRing_iLvlBorder"] = "GarrMission_PortraitsFromLevel";
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/alert.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/alert.lua
index e8862ae..dea0963 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/alert.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/alert.lua
@@ -280,6 +280,18 @@ local function CriteriaStyle()
 		end
 	end
 end
+
+-- [[ GarrisonFollowerAlertFrame ]] --
+local function GarrisonFollowerAlertStyle(followerID, name, displayID, level, quality, isUpgraded)
+	local color = BAG_ITEM_QUALITY_COLORS[quality];
+	if (color) then
+		GarrisonFollowerAlertFrame.PortraitFrame.LevelBorder:SetVertexColor(color.r, color.g, color.b);
+		GarrisonFollowerAlertFrame.PortraitFrame.PortraitRing:SetVertexColor(color.r, color.g, color.b);
+	else
+		GarrisonFollowerAlertFrame.PortraitFrame.LevelBorder:SetVertexColor(1, 1, 1);
+		GarrisonFollowerAlertFrame.PortraitFrame.PortraitRing:SetVertexColor(1, 1, 1);
+	end
+end
 --[[
 ##########################################################
 ALERTFRAME STYLES
@@ -476,6 +488,7 @@ local function AlertStyle()
 			end
 		end
 	end
+	hooksecurefunc("GarrisonFollowerAlertFrame_ShowAlert", GarrisonFollowerAlertStyle)
 end
 --[[
 ##########################################################
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
index 1458c74..c8cfc00 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
@@ -45,6 +45,17 @@ local function AddFadeBanner(frame)
 	bg:SetGradientAlpha("VERTICAL", 0, 0, 0, 0, 0, 0, 0, 0.9)
 end

+local function StyleTextureIcon(frame)
+	if((not frame) or (not frame.Texture)) then return end
+	frame.Texture:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+	if(not frame.IconSlot) then
+		frame.IconSlot = CreateFrame("Frame", nil, frame)
+		frame.IconSlot:SetAllPointsOut(frame.Texture)
+		frame.IconSlot:SetStylePanel("Icon")
+		frame.Texture:SetParent(frame.IconSlot)
+	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)
@@ -78,19 +89,30 @@ local function StyleListItem(item)
     end
 end

+local function StyleAbilityIcon(frame)
+	if(not frame) then return; end
+    if(frame.Icon) then
+    	local texture = frame.Icon:GetTexture()
+    	local size = frame:GetHeight() - 2
+    	frame:RemoveTextures()
+    	frame.Icon:SetTexture(texture)
+		frame.Icon:ClearAllPoints()
+		frame.Icon:SetPoint("TOPLEFT", frame, "TOPLEFT", 1, -1)
+		frame.Icon:SetSize(size, size)
+		frame.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+		frame.Icon:SetDesaturated(false)
+		if(not frame.IconSlot) then
+			frame.IconSlot = CreateFrame("Frame", nil, frame)
+			frame.IconSlot:SetAllPointsOut(frame.Icon)
+			frame.IconSlot:SetStylePanel("Icon")
+			frame.Icon:SetParent(frame.IconSlot)
+		end
+    end
+end
+
 local function StyleFollowerPortrait(frame, color)
-	frame.PortraitRing:SetTexture(RING_TEXTURE)
-	frame.PortraitRingQuality:SetTexture('')
-	-- frame.LevelBorder:SetTexture('')
-	-- if(not frame.LevelCallout) then
-	-- 	frame.LevelCallout = frame:CreateTexture(nil, 'BORDER', 4)
-	-- 	frame.LevelCallout:SetAllPoints(frame)
-	-- 	frame.LevelCallout:SetTexture(LVL_TEXTURE)
-	-- 	frame.LevelBorder.SetAtlas = function() end
-	-- end
-	if(color) then
-		frame.PortraitRing:SetVertexColor(color.r, color.g, color.b)
-	end
+	frame.PortraitRing:SetTexture('')
+	frame.PortraitRingQuality:SetTexture(RING_TEXTURE)
 end

 local _hook_ReagentUpdate = function(self)
@@ -186,6 +208,16 @@ local _hook_GarrisonMissionComplete_SetFollowerLevel = function(followerFrame, l
 	followerFrame.PortraitFrame.PortraitRing:SetVertexColor(color.r, color.g, color.b)
 end

+local function _hook_SetCounterButton(self, index, info)
+	local counter = self.Counters[index];
+	StyleAbilityIcon(counter)
+end
+
+local function _hook_AddAbility(self, index, ability)
+	local ability = self.Abilities[index];
+	StyleAbilityIcon(ability)
+end
+
 local _hook_GarrisonFollowerPage_ShowFollower = function(self, followerID)
 	local followerInfo = C_Garrison.GetFollowerInfo(followerID);
     if(not self.XPBar.Panel) then
@@ -196,14 +228,36 @@ local _hook_GarrisonFollowerPage_ShowFollower = function(self, followerID)

     for i=1, #self.AbilitiesFrame.Abilities do
         local abilityFrame = self.AbilitiesFrame.Abilities[i];
-        abilityFrame.IconButton.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9);
-        abilityFrame.IconButton.Icon:SetDesaturated(false)
-        if(not abilityFrame.IconButton.Panel) then
-			abilityFrame.IconButton:SetStylePanel("Fixed", "Slot", true, 4)
-		end
+        StyleAbilityIcon(abilityFrame.IconButton)
+    end
+
+    for i=1, #self.AbilitiesFrame.Counters do
+        local abilityFrame = self.AbilitiesFrame.Counters[i];
+        StyleAbilityIcon(abilityFrame)
     end
 end

+local _hook_GarrisonFollowerPage_UpdateMissionForParty = function(self, followerID)
+	local MISSION_PAGE_FRAME = GarrisonMissionFrame.MissionTab.MissionPage;
+	local totalTimeString, totalTimeSeconds, isMissionTimeImproved, successChance, partyBuffs, isEnvMechanicCountered, xpBonus, materialMultiplier = C_Garrison.GetPartyMissionInfo(MISSION_PAGE_FRAME.missionInfo.missionID);
+	-- for i = 1, #MISSION_PAGE_FRAME.Enemies do
+	-- 	local enemyFrame = MISSION_PAGE_FRAME.Enemies[i];
+	-- 	for mechanicIndex = 1, #enemyFrame.Mechanics do
+	-- 		local mechanic = enemyFrame.Mechanics[mechanicIndex];
+	--         StyleAbilityIcon(mechanic)
+	-- 	end
+	-- end
+	-- PARTY BOOFS
+	local buffsFrame = MISSION_PAGE_FRAME.BuffsFrame;
+	local buffCount = #partyBuffs;
+	if(buffCount > 0) then
+		for i = 1, buffCount do
+			local buff = buffsFrame.Buffs[i];
+			StyleAbilityIcon(buff)
+		end
+	end
+end
+
 local function StyleRewardButtons(rewardButtons)
     for i = 1, #rewardButtons do
         local frame = rewardButtons[i];
@@ -359,6 +413,7 @@ local function LoadGarrisonStyle()
 	GarrisonMissionFrame.MissionTab.MissionPage.Panel:SetPoint("BOTTOMRIGHT", GarrisonMissionFrame.MissionTab.MissionPage, "BOTTOMRIGHT", 0, -20)

 	GarrisonMissionFrame.MissionTab.MissionPage.Stage:RemoveTextures()
+	StyleTextureIcon(GarrisonMissionFrame.MissionTab.MissionPage.Stage.MissionEnvIcon);
 	AddFadeBanner(GarrisonMissionFrame.MissionTab.MissionPage.Stage)
 	GarrisonMissionFrame.MissionTab.MissionPage.StartMissionButton:RemoveTextures(true)
 	GarrisonMissionFrame.MissionTab.MissionPage.StartMissionButton:SetStylePanel("Button")
@@ -398,7 +453,6 @@ local function LoadGarrisonStyle()
 	--GarrisonMissionFrame.MissionComplete.BonusRewards:RemoveTextures()
 	--GarrisonMissionFrame.MissionComplete.BonusRewards:SetStylePanel("Fixed", "Model")

-	--print("Test")
 	local display = GarrisonCapacitiveDisplayFrame
 	display:RemoveTextures(true)
 	GarrisonCapacitiveDisplayFrameInset:RemoveTextures(true)
@@ -408,7 +462,6 @@ local function LoadGarrisonStyle()
 	display.CapacitiveDisplay.ShipmentIconFrame.Icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
 	display:SetStylePanel("Default", 'Action')

-	--print("Test")
 	local reagents = display.CapacitiveDisplay.Reagents;
     for i = 1, #reagents do
     	if(reagents[i]) then
@@ -420,30 +473,31 @@ local function LoadGarrisonStyle()
 		end
     end

+    hooksecurefunc("GarrisonFollowerButton_AddAbility", _hook_AddAbility)
+    hooksecurefunc("GarrisonFollowerButton_SetCounterButton", _hook_SetCounterButton)
     hooksecurefunc("GarrisonMissionList_UpdateMissions", StyleUpdateRewards)
     hooksecurefunc("GarrisonCapacitiveDisplayFrame_Update", _hook_ReagentUpdate)
     hooksecurefunc("GarrisonFollowerList_Update", _hook_GarrisonFollowerListUpdate)
     hooksecurefunc("GarrisonMissionFrame_SetFollowerPortrait", _hook_GarrisonMissionFrame_SetFollowerPortrait)
     hooksecurefunc("GarrisonMissionComplete_SetFollowerLevel", _hook_GarrisonMissionComplete_SetFollowerLevel)
     hooksecurefunc("GarrisonFollowerPage_ShowFollower", _hook_GarrisonFollowerPage_ShowFollower)
+    hooksecurefunc("GarrisonMissionPage_UpdateMissionForParty", _hook_GarrisonFollowerPage_UpdateMissionForParty)
     hooksecurefunc("GarrisonMissionFrame_SetItemRewardDetails", StyleListItem)
     hooksecurefunc("GarrisonBuildingTab_Select", _hook_GarrisonBuildingListUpdate)
     hooksecurefunc("GarrisonBuildingList_SelectTab", _hook_GarrisonBuildingListUpdate)
     hooksecurefunc("GarrisonBuildingInfoBox_ShowFollowerPortrait", _hook_GarrisonBuildingInfoBoxFollowerPortrait)
     hooksecurefunc("GarrisonFollowerTooltipTemplate_SetGarrisonFollower", _hook_GarrisonFollowerTooltipTemplate_SetGarrisonFollower)

- 	--print("Test")
+
 	if(GarrisonCapacitiveDisplayFrame.StartWorkOrderButton) then
 		GarrisonCapacitiveDisplayFrame.StartWorkOrderButton:RemoveTextures(true)
 		GarrisonCapacitiveDisplayFrame.StartWorkOrderButton:SetStylePanel("Button")
 	end

-	--print("Test")
 	PLUGIN:ApplyScrollFrameStyle(GarrisonLandingPageReportListListScrollFrameScrollBar)
 	PLUGIN:ApplyCloseButtonStyle(GarrisonLandingPage.CloseButton)
 	GarrisonLandingPage.CloseButton:SetFrameStrata("HIGH")

-	--print("Test")
 	for i = 1, GarrisonLandingPageReportListListScrollFrameScrollChild:GetNumChildren() do
 		local child = select(i, GarrisonLandingPageReportListListScrollFrameScrollChild:GetChildren())
 		for j = 1, child:GetNumChildren() do
@@ -453,7 +507,6 @@ local function LoadGarrisonStyle()
 		end
 	end

-	--print("Test")
 	PLUGIN:ApplyScrollFrameStyle(GarrisonLandingPageListScrollFrameScrollBar)

 	PLUGIN:ApplyWindowStyle(GarrisonRecruiterFrame, true)