Quantcast

ToS lfr stuff

Darth Predator [06-28-17 - 01:18]
ToS lfr stuff
Filename
ElvUI_SLE/defaults/profile.lua
ElvUI_SLE/modules/lfr.lua
ElvUI_SLE/options/datatexts/time_c.lua
diff --git a/ElvUI_SLE/defaults/profile.lua b/ElvUI_SLE/defaults/profile.lua
index 4d3ee81..e10a104 100644
--- a/ElvUI_SLE/defaults/profile.lua
+++ b/ElvUI_SLE/defaults/profile.lua
@@ -360,6 +360,7 @@ P["sle"] = {
 			["nightmare"] = false,
 			["trial"] = false,
 			["palace"] = false,
+			["tomb"] = false,
 		},
 	},
 	--Loot
diff --git a/ElvUI_SLE/modules/lfr.lua b/ElvUI_SLE/modules/lfr.lua
index 527c0b7..e43a3fb 100644
--- a/ElvUI_SLE/modules/lfr.lua
+++ b/ElvUI_SLE/modules/lfr.lua
@@ -170,6 +170,61 @@ local function EightShift(id1, id2)
 	end
 end

+--For 9 boss raid
+local function NineKill(id1, id2, id3, id4)
+	local killNum = 0
+	local bosses = {} --cause fuck blizz ordering
+	--1st part
+	bosses = {1, 3, 5}
+	for i =1, #bosses do
+		_, _, isKilled = T.GetLFGDungeonEncounterInfo(id1, bosses[i]);
+		if (isKilled) then killNum = killNum + 1 end
+	end
+	T.twipe(bosses)
+	--2nd part
+	bosses = {2, 4, 6}
+	for i =1, #bosses do
+		_, _, isKilled = T.GetLFGDungeonEncounterInfo(id2, bosses[i]);
+		if (isKilled) then killNum = killNum + 1 end
+	end
+	T.twipe(bosses)
+	--3nd part
+	for i =7,8 do
+		_, _, isKilled = T.GetLFGDungeonEncounterInfo(id3, i);
+		if (isKilled) then killNum = killNum + 1 end
+	end
+	-- 4th part
+	_, _, isKilled = T.GetLFGDungeonEncounterInfo(id4, 9);
+	if (isKilled) then killNum = killNum + 1 end
+
+	LFR:BossCount(killNum, 9)
+end
+
+local function NineShift(id1, id2, id3, id4)
+	local bosses = {} --cause fuck blizz ordering
+	-- 1st part
+	bosses = {1, 3, 5}
+	for i =1, #bosses do
+		bossName, _, isKilled, isIneligible = T.GetLFGDungeonEncounterInfo(id1, bosses[i]);
+		LFR:BossStatus(bossName, isKilled, isIneligible)
+	end
+	T.twipe(bosses)
+	--2nd part
+	bosses = {2, 4, 6}
+	for i =1, #bosses do
+		bossName, _, isKilled, isIneligible = T.GetLFGDungeonEncounterInfo(id2, bosses[i]);
+		LFR:BossStatus(bossName, isKilled, isIneligible)
+	end
+	T.twipe(bosses)
+	for i =7,8 do --3nd part
+		bossName, _, isKilled, isIneligible = T.GetLFGDungeonEncounterInfo(id3, i);
+		LFR:BossStatus(bossName, isKilled, isIneligible)
+	end
+	-- 4rd part
+	bossName, _, isKilled, isIneligible = T.GetLFGDungeonEncounterInfo(id4, 9);
+	LFR:BossStatus(bossName, isKilled, isIneligible)
+end
+
 --For 10 boss raid
 local function TenKill(id1, id2, id3, id4)
 	local killNum = 0
@@ -455,6 +510,14 @@ local function Trial()
 	end
 end

+local function TombOfSargeras()
+	if IsShiftKeyDown() then
+		NineShift(1494,1495,1496,1497);
+	else
+		NineKill(1494,1495,1496,1497);
+	end
+end
+
 LFR.Req = {
 	["Cata"] = {3, 85},
 	["MoP"] = {4, 90},
@@ -540,6 +603,12 @@ LFR.Legion = {
 		["map"] = 1088,
 		["func"] = Suramar,
 	},
+	[4] = {
+		["name"] = "tomb",
+		["ilevel"] = 835,
+		["map"] = 1147,
+		["func"] = TombOfSargeras,
+	},
 }

 function LFR:CheckOptions()
diff --git a/ElvUI_SLE/options/datatexts/time_c.lua b/ElvUI_SLE/options/datatexts/time_c.lua
index 702b838..c9c4e63 100644
--- a/ElvUI_SLE/options/datatexts/time_c.lua
+++ b/ElvUI_SLE/options/datatexts/time_c.lua
@@ -72,6 +72,7 @@ local function configTable()
 							nightmare = { order = 1, type = "toggle", name = T.GetMapNameByID(1094) },
 							trial = { order = 2, type = "toggle", name = T.GetMapNameByID(1114) },
 							palace = { order = 3, type = "toggle", name = T.GetMapNameByID(1088) },
+							tomb = { order = 4, type = "toggle", name = T.GetMapNameByID(1147) },
 						},
 					},
 				},