Quantcast

Make garrison diferent from rested

Darthpred [06-13-15 - 07:21]
Make garrison diferent from rested
Filename
ElvUI_SLE/defaults/profile.lua
ElvUI_SLE/modules/quests.lua
ElvUI_SLE/options/quests_c.lua
diff --git a/ElvUI_SLE/defaults/profile.lua b/ElvUI_SLE/defaults/profile.lua
index 049e5a8..d2e6a22 100644
--- a/ElvUI_SLE/defaults/profile.lua
+++ b/ElvUI_SLE/defaults/profile.lua
@@ -456,6 +456,7 @@ P['sle'] = {
 			['raid'] = "COLLAPSED",
 			['scenario'] = "FULL",
 			['rested'] = "FULL",
+			['garrison'] = "FULL",
 		},
 	},
 }
diff --git a/ElvUI_SLE/modules/quests.lua b/ElvUI_SLE/modules/quests.lua
index d759158..4483660 100644
--- a/ElvUI_SLE/modules/quests.lua
+++ b/ElvUI_SLE/modules/quests.lua
@@ -1,6 +1,8 @@
 local E, L, V, P, G = unpack(ElvUI);
 local Q = E:GetModule("SLE_Quests")
 local frame
+local B = LibStub("LibBabble-SubZone-3.0")
+local BL = B:GetLookupTable()

 local statedriver = {
 	['FULL'] = function(frame)
@@ -22,7 +24,9 @@ function Q:ChangeState(event)
 	if not Q.db then return end
 	if not Q.db.visibility then return end

-	if IsResting() then
+	if GetZoneText() == BL.Frostwall or GetZoneText() == BL.Lunarfall then
+		statedriver[Q.db.visibility.garrison](frame)
+	elseif IsResting() then
 		statedriver[Q.db.visibility.rested](frame)
 	else
 		local instance, instanceType = IsInInstance()
diff --git a/ElvUI_SLE/options/quests_c.lua b/ElvUI_SLE/options/quests_c.lua
index 9db4c99..1d839ae 100644
--- a/ElvUI_SLE/options/quests_c.lua
+++ b/ElvUI_SLE/options/quests_c.lua
@@ -23,9 +23,21 @@ local function configTable()
 					["HIDE"] = HIDE,
 				},
 			},
-			bg = {
+			garrison = {
 				order = 3,
 				type = "select",
+				name = GARRISON_LOCATION_TOOLTIP,
+				get = function(info) return E.db.sle.quests.visibility[ info[#info] ] end,
+				set = function(info, value) E.db.sle.quests.visibility[ info[#info] ] = value; E:GetModule('SLE_Quests'):ChangeState() end,
+				values = {
+					["FULL"] = DEFAULT,
+					["COLLAPSED"] = MINIMIZE,
+					["HIDE"] = HIDE,
+				},
+			},
+			bg = {
+				order = 4,
+				type = "select",
 				name = BATTLEGROUNDS,
 				get = function(info) return E.db.sle.quests.visibility[ info[#info] ] end,
 				set = function(info, value) E.db.sle.quests.visibility[ info[#info] ] = value; E:GetModule('SLE_Quests'):ChangeState() end,
@@ -36,7 +48,7 @@ local function configTable()
 				},
 			},
 			arena = {
-				order = 4,
+				order = 5,
 				type = "select",
 				name = ARENA,
 				get = function(info) return E.db.sle.quests.visibility[ info[#info] ] end,
@@ -48,7 +60,7 @@ local function configTable()
 				},
 			},
 			dungeon = {
-				order = 5,
+				order = 6,
 				type = "select",
 				name = DUNGEONS,
 				get = function(info) return E.db.sle.quests.visibility[ info[#info] ] end,
@@ -60,7 +72,7 @@ local function configTable()
 				},
 			},
 			scenario = {
-				order = 6,
+				order = 7,
 				type = "select",
 				name = SCENARIOS,
 				get = function(info) return E.db.sle.quests.visibility[ info[#info] ] end,
@@ -72,7 +84,7 @@ local function configTable()
 				},
 			},
 			raid = {
-				order = 7,
+				order = 8,
 				type = "select",
 				name = RAIDS,
 				get = function(info) return E.db.sle.quests.visibility[ info[#info] ] end,