Quantcast

Tweaked elemental priority

Taracque [05-16-15 - 15:07]
Tweaked elemental priority
Filename
modules/elemental.lua
diff --git a/modules/elemental.lua b/modules/elemental.lua
index 666dd68..4784f96 100755
--- a/modules/elemental.lua
+++ b/modules/elemental.lua
@@ -129,7 +129,8 @@ Elementarist.elemental = {
 		if (Elementarist.tier7Talent == 21200) and (not ElementaristDB.DisableLM) then
 			if (Elementarist:Count(Elementarist.SpellList["Liquid Magma"],spellInCast,exspell1,exspell2) == 0) then
 				local haveFireTotem,fireTotemName,fireTotemStart,fireTotemDuration = GetTotemInfo(1);
-				if (fireTotemName ~= "") and (fireTotemDuration and (fireTotemStart + fireTotemDuration - GetTime() ) >= timeshift + 10) then
+				if ((fireTotemName ~= "") and (fireTotemDuration and (fireTotemStart + fireTotemDuration - GetTime() ) >= timeshift + 15)) or
+					(Elementarist:Count(Elementarist.SpellList["Searing Totem"],spellInCast,exspell1,exspell2) ~= 0) then
 					d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Liquid Magma"])
 					if (d-timeshift <= 0) then
 						return Elementarist.SpellList["Liquid Magma"]
@@ -144,16 +145,6 @@ Elementarist.elemental = {
 			end
 		end

-		-- if Tier6 talent is Unleashed Fury Unleash Flame
-		if (Elementarist.tier6Talent == 21773) then
-			if (Elementarist:Count(Elementarist.SpellList["Unleash Flame"],spellInCast,exspell1,exspell2) == 0) then
-				e = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Unleash Flame"])
-				if (e-timeshift <= 0) then
-					return Elementarist.SpellList["Unleash Flame"];
-				end
-			end
-		end
-
 		-- check if Flame shock applied on target first
 		name, _, _, _, _, _, fsExpiration, unitCaster = Elementarist:hasDeBuff("target", Elementarist.SpellList["Flame Shock"], "player");
 		if (not fsExpiration) then
@@ -186,6 +177,14 @@ Elementarist.elemental = {
 			end
 		end

+		-- Earth shock if Lightning Shield count >=20
+		if (Elementarist:Count(Elementarist.SpellList["Flame Shock"],spellInCast,exspell1,exspell2) == 0 and Elementarist:Count(Elementarist.SpellList["Earth Shock"],spellInCast,exspell1,exspell2) == 0) then
+			d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Earth Shock"])
+			if ( (d) and ((d-timeshift) <= 0) and (lscount) and (lscount>=20)) then
+				return Elementarist.SpellList["Earth Shock"]
+			end
+		end
+
 		-- Lava Burst if not on Cooldown
 		local ascendance, _, _, _, _, _, ascendanceExp = Elementarist:hasBuff("player",Elementarist.SpellList["AscendanceElementalBuff"]);
 		if (ascendance == nil) then
@@ -214,19 +213,6 @@ Elementarist.elemental = {
 			end
 		end

-		-- if Tier6 talent is Elemental Blast use it
-		if (Elementarist.tier6Talent == 19267) then
-			if (
-				(Elementarist:Count(Elementarist.SpellList["Elemental Blast"],spellInCast,exspell1,exspell2) == 0) and
-				(IsSpellInRange(Elementarist.SpellList["Elemental Blast"], "target") == 1)
-			) then
-				d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Elemental Blast"])
-				if ((d - timeshift) <= 0) then
-					return Elementarist.SpellList["Elemental Blast"]
-				end
-			end
-		end
-
 		-- Earth shock if Lightning Shield count >=17 and not on cd, and FS debuff remaining > FS cooldown, or FS debuff remaining between FS and FS cd + 2sec and LS count>=13, or has T17 4pcs and LS Count >= 12
 		if (Elementarist:Count(Elementarist.SpellList["Flame Shock"],spellInCast,exspell1,exspell2) == 0 and Elementarist:Count(Elementarist.SpellList["Earth Shock"],spellInCast,exspell1,exspell2) == 0) then
 			if ( (fsExpiration - GetTime() - timeshift) > Elementarist.lastShockCD ) then
@@ -252,6 +238,29 @@ Elementarist.elemental = {
 			end
 		end

+		-- if Tier6 talent is Elemental Blast use it
+		if (Elementarist.tier6Talent == 19267) then
+			if (
+				(Elementarist:Count(Elementarist.SpellList["Elemental Blast"],spellInCast,exspell1,exspell2) == 0) and
+				(IsSpellInRange(Elementarist.SpellList["Elemental Blast"], "target") == 1)
+			) then
+				d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Elemental Blast"])
+				if ((d - timeshift) <= 0) then
+					return Elementarist.SpellList["Elemental Blast"]
+				end
+			end
+		end
+
+		-- if Tier6 talent is Unleashed Fury Unleash Flame
+		if (Elementarist.tier6Talent == 21773) then
+			if (Elementarist:Count(Elementarist.SpellList["Unleash Flame"],spellInCast,exspell1,exspell2) == 0) then
+				e = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Unleash Flame"])
+				if (e-timeshift <= 0) then
+					return Elementarist.SpellList["Unleash Flame"];
+				end
+			end
+		end
+
 		-- refresh FS
 		if 	(Elementarist:Count(Elementarist.SpellList["Flame Shock"],spellInCast,exspell1,exspell2) == 0) then
 			if (doFS) and ((fsExpiration - GetTime() - timeshift) < 9) then