Quantcast

Totem Mastery added

Taracque [08-29-16 - 12:03]
Totem Mastery added
Filename
Elementarist.lua
modules/elemental.lua
diff --git a/Elementarist.lua b/Elementarist.lua
index ddd0830..f0ab4b4 100755
--- a/Elementarist.lua
+++ b/Elementarist.lua
@@ -28,6 +28,7 @@ Elementarist.person = {
 	["friend"]  = {},
 	["foe"]		= {}
 }
+Elementarist.talents = {}
 Elementarist.auraCooldowns = {}
 Elementarist.lastPersonTablePurged = 0.0;
 Elementarist.configPanel = nil
@@ -417,7 +418,17 @@ function Elementarist:detectTalent()
 		end;
 		Elementarist.talent = talent;
 	end;
-
+
+	-- Get talent tree
+	for i=1,7 do
+		Elementarist.talents[i] = 0
+		for j=1,3 do
+			if select(3,GetTalentInfo(i,j,1)) then
+				Elementarist.talents[i] = j
+			end
+		end
+	end
+
 	-- set a flag so calling functions know this check has been passed previously
 	if (spec == nil) or (talent == "") then
 		Elementarist.talentUnsure = true
diff --git a/modules/elemental.lua b/modules/elemental.lua
index 433d209..18297a0 100755
--- a/modules/elemental.lua
+++ b/modules/elemental.lua
@@ -42,13 +42,13 @@ Elementarist.elemental = {
 			["Liquid Magma"] = GetSpellInfo(152255),
 			["Enhanced Chain Lightning"]  = GetSpellInfo(157766),
 			["Storm Elemental Totem"] = GetSpellInfo(152256),
-			["Flame Shock"] = GetSpellInfo(188389)
+			["Flame Shock"] = GetSpellInfo(188389),
+			["Ember Totem"] = GetSpellInfo(210658),
+			["Totem Mastery"] = GetSpellInfo(210643),
 		});

 		Elementarist.role = "DPS";
 		Elementarist.trackAura = Elementarist.SpellList["Flame Shock"]  -- Spell used in Aura Tracking window
-		Elementarist.trackAuraBuffSpell1 = Elementarist.SpellList["Unleash Flame"]  -- buff charge count to display in Aura Tracking Window
-		Elementarist.trackAuraBuffSpell2 = Elementarist.SpellList["Elemental Fusion"] -- buff charge count to display in Aura Tracking Window
 		Elementarist.trackFilter = "PLAYER|HARMFUL";
 		Elementarist.trackDuration = 39;
 	end;
@@ -169,20 +169,15 @@ Elementarist.elemental = {
 			end
 			if 	Elementarist.inCombat == false then

-				-- Searing Totem
-				if (Elementarist:ZeroCount(Elementarist.SpellList["Searing Totem"],spellInCast,exspell1,exspell2) ) then
-					local haveFireTotem,fireTotemName,fireTotemStart,fireTotemDuration = GetTotemInfo(1);
-					if (fireTotemName == "") or (fireTotemDuration and (fireTotemStart + fireTotemDuration - GetTime() ) <= timeshift) then
-						return Elementarist.SpellList["Searing Totem"];
-					end
-				end
+			end
+		end

-				-- Opening Uleash flame  prior to combat
-				if (Elementarist:ZeroCount(Elementarist.SpellList["Unleash Flame"],spellInCast,exspell1,exspell2) )  then
-					d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Unleash Flame"])
-					if (d-timeshift <= 0) then
-						return Elementarist.SpellList["Unleash Flame"];
-					end
+		-- If Tier 1 talent is totem mastery keep those totems up
+		if Elementarist.talents[1] == 3 then
+			local haveFireTotem,fireTotemName,fireTotemStart,fireTotemDuration = GetTotemInfo(1)
+			if (Elementarist:ZeroCount(Elementarist.SpellList["Totem Mastery"],spellInCast,exspell1,exspell2)) then
+				if (not haveFireTotem) or (fireTotemName ~= Elementarist.SpellList["Totem Mastery"]) or (fireTotemStart + fireTotemDuration - currentTime - timeshift <= 0) then
+					return Elementarist.SpellList["Totem Mastery"]
 				end
 			end
 		end