Quantcast

**v3.3.0**

Taracque [10-15-14 - 16:47]
**v3.3.0**
* Change: 6.0 compatibility
Filename
Change_log.txt
Elementarist.lua
Elementarist.toc
modules/elemental.lua
modules/restoration.lua
diff --git a/Change_log.txt b/Change_log.txt
index 4e84543..b5e1b08 100755
--- a/Change_log.txt
+++ b/Change_log.txt
@@ -1,3 +1,6 @@
+**v3.3.0**
+* Change: 6.0 compatibility
+
 **v3.2.7**
 * Fixed: Low level shaman doesn't crash at Lava Burst

diff --git a/Elementarist.lua b/Elementarist.lua
index 074b9fc..84fc2f7 100755
--- a/Elementarist.lua
+++ b/Elementarist.lua
@@ -1,5 +1,5 @@
 -------------------------------------------------------------------------------
--- Elementarist 3.2.6
+-- Elementarist 3.3.0
 --
 -- Shows the advised spell for an elemental shaman for optimal DPS output.
 -------------------------------------------------------------------------------
@@ -8,7 +8,7 @@ Elementarist = {Locals = {}}

 local L = Elementarist.Locals

-Elementarist.versionNumber = '3.2.6';
+Elementarist.versionNumber = '3.3.0';
 Elementarist.enabled = true;
 Elementarist.playerName = UnitName("player")
 Elementarist.playerGUID = UnitGUID("player")
@@ -55,6 +55,7 @@ Elementarist.CustomIDs = {
 	["Crystal of Insanity Spell"] = 127230
 }
 Elementarist.SpellList = {
+	["Ghost Wolf"] = GetSpellInfo(2645),
 	["Flame Shock"] = GetSpellInfo(8050),
 	["Lightning Bolt"] = GetSpellInfo(403),
 	["Lava Burst"] = GetSpellInfo(51505),
@@ -62,7 +63,6 @@ Elementarist.SpellList = {
 	["Thunderstorm"] = GetSpellInfo(51490),
 	["Purge"]	= GetSpellInfo(370),
 	["Wind Shear"] = GetSpellInfo(57994),
-	["Flametongue Weapon"] = GetSpellInfo(8024),
 	["Elemental Mastery"] = GetSpellInfo(16166),
 	["Earth Shock"] = GetSpellInfo(8042),
 	["Searing Totem"] = GetSpellInfo(3599),
@@ -72,8 +72,6 @@ Elementarist.SpellList = {
 	["Earthquake"] = GetSpellInfo(61882),
 	["Elemental Blast"] = GetSpellInfo(117014),
 	["Ascendance"] = GetSpellInfo(114049),
-	["Stormlash Totem"] = GetSpellInfo(120668),
-	["Stormlash Totem Buff"] = GetSpellInfo(120676),

 	-- racials
 	["Berserking"] = GetSpellInfo(26297),	-- Troll racial
@@ -467,16 +465,6 @@ end

 function Elementarist.events.COMBAT_LOG_EVENT_UNFILTERED(timestamp, event, hideCaster, srcGUID, srcName, srcFlags, srcRaidFlags, dstGUID, dstName, dstFlags, dstRaidFlags, spellId, spellName, spellSchool, damage, ...)
 	if Elementarist.isEnabled() then
-		if (Elementarist.StormlashID~=nil) and (ElementaristDB.AnnounceStormlash) then
-			if (event == "SPELL_AURA_REMOVED") and (srcGUID == Elementarist.StormlashID) and (spellName == Elementarist.SpellList["Stormlash Totem Buff"]) then
-				if ( Elementarist:PlayerInParty() >0 ) then
-					SendChatMessage( spellName .. " expired!!!", "RAID" )
-				else
-					SendChatMessage( spellName .. " expired!!!", "SAY" )
-				end
-				Elementarist.StormlashID=nil
-			end
-		end
 		if srcName == Elementarist.playerName then
 			if (srcGUID == Elementarist.playerGUID) and (spellName==Elementarist.trackAura) and (Elementarist.auraCooldowns[dstGUID]) then
 				Elementarist.auraCooldowns[dstGUID]["action"] = GetTime()
@@ -488,14 +476,6 @@ function Elementarist.events.COMBAT_LOG_EVENT_UNFILTERED(timestamp, event, hideC
 			end
 			Elementarist:DecideSpells()
 			-- calculate DPS
-			if (event=="SPELL_SUMMON") and (ElementaristDB.AnnounceStormlash) and (spellName==Elementarist.SpellList["Stormlash Totem"]) then
-				Elementarist.StormlashID = dstGUID
-				if ( Elementarist:PlayerInParty() >0 ) then
-					SendChatMessage( spellName .. " activated!!!", "RAID" )
-				else
-					SendChatMessage( spellName .. " activated!!!", "SAY" )
-				end
-			end
 			if (event=="SPELL_CAST_SUCCESS") then
 				Elementarist.lastSpell = spellName
 				-- aura track if needed
diff --git a/Elementarist.toc b/Elementarist.toc
index 1324bd4..d5df100 100755
--- a/Elementarist.toc
+++ b/Elementarist.toc
@@ -1,8 +1,8 @@
-## Interface: 50400
+## Interface: 60000
 ## Title: Elementarist
 ## Notes: Elemental shaman spell rotation helper
 ## Author: Taracque, Felmosórongy of Arathor
-## Version: 3.2.7
+## Version: 3.3.0
 ## SavedVariables: ElementaristDB
 ## OptionalDeps: OmniCC, SpellFlash
 ## Dependencies:
diff --git a/modules/elemental.lua b/modules/elemental.lua
index 0c4ac17..627fffb 100755
--- a/modules/elemental.lua
+++ b/modules/elemental.lua
@@ -85,11 +85,11 @@ Elementarist.elemental = {
 			end
 			timeshift = timeshift + (sICendTime / 1000) - GetTime()
 		else
-			-- no spell in cast, check global cd via Flametongue Weapon
-			if (Elementarist.SpellList["Flametongue Weapon"]) then
-				local ftcd = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Flametongue Weapon"])
+			-- no spell in cast, check global cd via Ghost Wolf
+			if (Elementarist.SpellList["Ghost Wolf"]) then
+				local ftcd = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Ghost Wolf"])
 				if (ftcd) then
-					timeshift = timeshift + Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Flametongue Weapon"])
+					timeshift = timeshift + Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Ghost Wolf"])
 				else
 					timeshift = timeshift + Elementarist.lastBaseGCD
 				end
@@ -135,15 +135,13 @@ Elementarist.elemental = {
 		if (Elementarist.tier6Talent == 16) then
 			name, _, _, _, _, _, e, unitCaster = Elementarist:hasDeBuff("target", Elementarist.SpellList["Unleashed Fury"], "player");
 			if (name == nil) or (e - GetTime() - timeshift) then
-				if (GetWeaponEnchantInfo()) and (exspell1 ~= Elementarist.SpellList["Unleash Elements"]) and (exspell2 ~= Elementarist.SpellList["Unleash Elements"]) and (IsSpellInRange(Elementarist.SpellList["Unleash Elements"], "target") == 1) then
-					e = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Unleash Elements"])
-					if (e-timeshift <= 0) then
-						return Elementarist.SpellList["Unleash Elements"];
-					end
+				e = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Unleash Elements"])
+				if (e-timeshift <= 0) then
+					return Elementarist.SpellList["Unleash Elements"];
 				end
 			end
 		end
-
+
 		-- Lava Burst if not on Cooldown
 		local ascendance, _, _, _, _, _, ascendanceExp = Elementarist:hasBuff("player",Elementarist.SpellList["AscendanceElementalBuff"]);
 		if (ascendance == nil) then
@@ -154,12 +152,13 @@ Elementarist.elemental = {
 			or
 			((ascendanceExp-GetTime()-timeshift) > 0)
 		) then
-			if (IsSpellInRange(Elementarist.SpellList["Lava Burst"], "target") == 1) and
+			if (IsSpellInRange(Elementarist.SpellList["Flame Shock"], "target") == 1) and
 			(
 				((fsExpiration~=0) and ((fsExpiration-GetTime()-timeshift) > LvBct)) or
 				(exspell1 == Elementarist.SpellList["Flame Shock"]) or
 				(exspell2 == Elementarist.SpellList["Flame Shock"])
 			) then
+				Elementarist:Debug('in range','LvB')
 				if (((Elementarist.SpellList["Lava Burst"]) ~= spellInCast) or (ascendance ~= nil)) then
 					d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Lava Burst"])
 					if ((d-timeshift) <= 0) or ((ascendanceExp-GetTime()-timeshift) > 0) then
@@ -214,7 +213,6 @@ Elementarist.elemental = {
 	end;
 	MiscSpell = function(self)
 		-- Miscelaneous spell order:
-		-- Flametongoue weapon
 		-- Lightning Shield
 		-- Searing Totem
 		-- Elemental Mastery
@@ -250,15 +248,7 @@ Elementarist.elemental = {
 				end
 			end
 		end
-
-		-- Flametongue weapon
-		if Elementarist:SpellAvailable(Elementarist.SpellList["Flametongue Weapon"]) then
-			local hasMainHandEnchant, mainHandExpiration, _, _, _, _ = GetWeaponEnchantInfo()
-			if (hasMainHandEnchant == nil) or ((mainHandExpiration / 60000) < 1) then
-				return Elementarist.SpellList["Flametongue Weapon"]
-			end
-		end
-
+
 		-- Lightning Shield
 		if Elementarist:SpellAvailable(Elementarist.SpellList["Lightning Shield"]) then
 			name, _, _, _, _, _, expirationTime = Elementarist:hasBuff("player", Elementarist.SpellList["Lightning Shield"]);
@@ -266,7 +256,7 @@ Elementarist.elemental = {
 				return Elementarist.SpellList["Lightning Shield"]
 			end
 		end
-
+
 		-- Searing Totem
 		if Elementarist:SpellAvailable(Elementarist.SpellList["Searing Totem"]) then
 			local haveFireTotem,fireTotemName,_,_ = GetTotemInfo(1)
@@ -306,14 +296,6 @@ Elementarist.elemental = {
 			end
 		end

-		-- Stormlash Totem
-		if Elementarist:SpellAvailable(Elementarist.SpellList["Stormlash Totem"]) then
-			d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Stormlash Totem"])
-			if d <= 0.5 then
-				return Elementarist.SpellList["Stormlash Totem"]
-			end
-		end
-
 		-- Berserking
 		if Elementarist:SpellAvailable(Elementarist.SpellList["Berserking"]) then
 			d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Berserking"])
@@ -362,7 +344,7 @@ Elementarist.elemental = {
 				end
 			end
 		end
-
+
 		-- check if mana is below 70% and Thunderstorm available
 		if Elementarist:SpellAvailable(Elementarist.SpellList["Thunderstorm"]) then
 			d = GetSpellCooldown(Elementarist.SpellList["Thunderstorm"])
@@ -370,7 +352,7 @@ Elementarist.elemental = {
 				return Elementarist.SpellList["Thunderstorm"]
 			end
 		end
-
+
 		-- if >=4 foes are available, and Earthquake not on cd
 		if (ElementaristDB.EnableEQ) then
 			if (Elementarist.person["foeCount"]>=4) then
@@ -380,7 +362,7 @@ Elementarist.elemental = {
 				end
 			end
 		end
-
+
 		-- check if purgeable buff is on target (not sure if this is ok)
 		if Elementarist:SpellAvailable(Elementarist.SpellList["Purge"]) then
 			if IsSpellInRange(Elementarist.SpellList["Purge"], "target") == 1 then
@@ -392,7 +374,7 @@ Elementarist.elemental = {
 				end
 			end
 		end
-
+
 		-- Lava Beam if there are multiple targets, (count in a dirty way from combat log, not to accurate!!!)
 		if Elementarist:SpellAvailable(Elementarist.SpellList["Lava Beam"]) then
 			if (Elementarist.person["foeCount"]>2) then
@@ -404,7 +386,7 @@ Elementarist.elemental = {
 				end
 			end
 		end
-
+
 		-- CL if there are multiple targets, (count in a dirty way from combat log, not to accurate!!!)
 		if (exspell1 ~= Elementarist.SpellList["Chain Lightning"]) and (exspell2 ~= Elementarist.SpellList["Chain Lightning"]) then
 			if (Elementarist.person["foeCount"]>2) then
@@ -424,5 +406,5 @@ Elementarist.elemental = {
 	ShieldName = function(self)
 		return "Lightning Shield";
 	end;
-
+
 };
diff --git a/modules/restoration.lua b/modules/restoration.lua
index 52389ed..837d9af 100755
--- a/modules/restoration.lua
+++ b/modules/restoration.lua
@@ -11,11 +11,9 @@ Elementarist.restoration = {
 	};
 	Initialize = function(self)
 		Elementarist:LoadSpells({
-			["Healing Wave"] = GetSpellInfo(331),
-			["Greater Healing Wave"] = GetSpellInfo(77472),
+			["Healing Wave"] = GetSpellInfo(77472),
 			["Healing Surge"] = GetSpellInfo(8004),
 			["Riptide"] = GetSpellInfo(61295),
-			["Earthliving Weapon"] = GetSpellInfo(51730),
 			["Water Shield"] = GetSpellInfo(52127),
 			["Tidal Waves"] = GetSpellInfo(53390),

@@ -151,11 +149,11 @@ Elementarist.restoration = {
 			end
 			timeshift = timeshift + (sICendTime / 1000) - GetTime()
 		else
-			-- no spell in cast, check global cd via Flametongue Weapon
-			if (Elementarist.SpellList["Flametongue Weapon"]) then
-				local ftcd = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Flametongue Weapon"])
+			-- no spell in cast, check global cd via Ghost Wolf
+			if (Elementarist.SpellList["Ghost Wolf"]) then
+				local ftcd = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Ghost Wolf"])
 				if (ftcd) then
-					timeshift = timeshift + Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Flametongue Weapon"])
+					timeshift = timeshift + Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Ghost Wolf"])
 				else
 					timeshift = timeshift + Elementarist.lastBaseGCD
 				end
@@ -246,14 +244,6 @@ Elementarist.restoration = {
 			end
 		end

-		-- Earthliving weapon
-		if Elementarist:SpellAvailable(Elementarist.SpellList["Earthliving Weapon"]) then
-			local hasMainHandEnchant, mainHandExpiration, _, _, _, _ = GetWeaponEnchantInfo()
-			if (hasMainHandEnchant == nil) or ((mainHandExpiration / 60000) < 1) then
-				return Elementarist.SpellList["Earthliving Weapon"]
-			end
-		end
-
 		-- Water Shield
 		if Elementarist:SpellAvailable(Elementarist.SpellList["Water Shield"]) then
 			name, _, _, _, _, _, expirationTime = Elementarist:hasBuff("player", Elementarist.SpellList["Water Shield"]);
@@ -282,14 +272,6 @@ Elementarist.restoration = {
 			end
 		end

-		-- Stormlash Totem
-		if Elementarist:SpellAvailable(Elementarist.SpellList["Stormlash Totem"]) then
-			d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Stormlash Totem"])
-			if (d) and (d <= 0.5) then
-				return Elementarist.SpellList["Stormlash Totem"]
-			end
-		end
-
 		return ""
 	end;
 	IntSpell = function(self)