***v3.4.0
Taracque [03-09-15 - 15:04]
***v3.4.0
* Change: 6.1 compatibility
* Added: Liquid Magma
* Fixed: Lava Burst charges now calculated correctly
diff --git a/Change_log.txt b/Change_log.txt
index 2b55015..0322ffb 100755
--- a/Change_log.txt
+++ b/Change_log.txt
@@ -1,3 +1,8 @@
+***v3.4.0
+* Change: 6.1 compatibility
+* Added: Liquid Magma
+* Fixed: Lava Burst charges now calculated correctly
+
***v3.3.7
* Added: 3 new layout
* Added: Shield tracker cooldown can be disabled
diff --git a/Elementarist.lua b/Elementarist.lua
index f072562..0c6439d 100755
--- a/Elementarist.lua
+++ b/Elementarist.lua
@@ -1,5 +1,5 @@
-------------------------------------------------------------------------------
--- Elementarist 3.3.7
+-- Elementarist 3.4.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.3.7';
+Elementarist.versionNumber = '3.4.0';
Elementarist.enabled = true;
Elementarist.playerName = UnitName("player")
Elementarist.playerGUID = UnitGUID("player")
@@ -48,6 +48,7 @@ Elementarist.role = ""
Elementarist.talentUnsure = true
Elementarist.callbacks = {};
Elementarist.tier6Talent = nil
+Elementarist.tier7Talent = nil
Elementarist.lastSpell = nil
Elementarist.CustomIDs = {
["Alchemist's Flask Item"] = 75525,
@@ -345,7 +346,8 @@ function Elementarist:detectTalent()
talent = "restoration"
end
- _, Elementarist.tier6Talent = GetTalentRowSelectionInfo(6)
+ _, Elementarist.tier6Talent = GetTalentRowSelectionInfo(6);
+ _, Elementarist.tier7Talent = GetTalentRowSelectionInfo(7);
if (talent ~= "") and (talent ~= Elementarist.talent) then
if (Elementarist.modules) and (ElementaristDB.modules) and (Elementarist.modules[talent]) and (ElementaristDB.modules[talent]) and (Elementarist[talent].Initialize) then
diff --git a/Elementarist.toc b/Elementarist.toc
index 286b4e6..b9ed95e 100755
--- a/Elementarist.toc
+++ b/Elementarist.toc
@@ -1,8 +1,8 @@
-## Interface: 60000
+## Interface: 60100
## Title: Elementarist
## Notes: Elemental shaman spell rotation helper
## Author: Taracque, Felmosórongy of Arathor
-## Version: 3.3.7
+## Version: 3.4.0
## SavedVariables: ElementaristDB
## OptionalDeps: OmniCC, SpellFlash
## Dependencies:
diff --git a/modules/elemental.lua b/modules/elemental.lua
index 66600c5..0153e19 100755
--- a/modules/elemental.lua
+++ b/modules/elemental.lua
@@ -25,6 +25,7 @@ Elementarist.elemental = {
Elementarist:LoadSpells({
["Glyph of Flame Shock"] = GetSpellInfo(55447),
["Healing Stream Totem"] = GetSpellInfo(5394),
+ ["Liquid Magma"] = GetSpellInfo(152255)
});
Elementarist.role = "DPS";
@@ -106,6 +107,14 @@ Elementarist.elemental = {
end
end
end
+
+ -- if Tier7 talent is Liquid Magma and fire totem has 10 sec or more, use it
+ if (Elementarist.tier7Talent == 21200) then
+ local haveFireTotem,fireTotemName,d,_ = GetTotemInfo(1);
+ if (fireTotemName ~= "") and (d-timeshift > 10) then
+ return Elementarist.SpellList["Liquid Magma"]
+ end
+ end
-- if Tier6 talent is Unleashed Fury Unleash Flame
if (Elementarist.tier6Talent == 21773) then
@@ -150,28 +159,23 @@ Elementarist.elemental = {
end
end
- -- Echo of the Elements
- -- if precvious spell is Lava Burst, add it once more
- local eoeBuff, _, _, _, _, _, eoeExp = Elementarist:hasBuff("player",Elementarist.SpellList["Echo of the Elements"]);
- if (eoeExp == nil) then
- eoeExp = 0
- end
- if (eoeBuff) and ((eoeExp-GetTime()-timeshift) > 0) then
- if (exspell2 == Elementarist.SpellList["Lava Burst"] and (exspell1 ~= Elementarist.SpellList["Lava Burst"])) or
- ((exspell1 == Elementarist.SpellList["Lava Burst"]) and (spellInCast ~= Elementarist.SpellList["Lava Burst"]) and not(exspell2)) or
- ((spellInCast == Elementarist.SpellList["Lava Burst"]) and not(exspell1))
- then
- return Elementarist.SpellList["Lava Burst"]
- end
- end
-
-- Lava Burst if not on Cooldown
local ascendance, _, _, _, _, _, ascendanceExp = Elementarist:hasBuff("player",Elementarist.SpellList["AscendanceElementalBuff"]);
if (ascendance == nil) then
ascendanceExp = 0
end
+ local lvbCharges, maxLvbCharges, cdStart, cdLength = GetSpellCharges(Elementarist.SpellList["Lava Burst"]);
+ if (lvbCharges<maxLvbCharges) and (((cdStart + cdLength)- GetTime()) - timeshift <= 0) then
+ lvbCharges = lvbCharges + 1;
+ end
+ if (exspell1 == Elementarist.SpellList["Lava Burst"]) then
+ lvbCharges = lvbCharges - 1;
+ end
+ if (exspell2 == Elementarist.SpellList["Lava Burst"]) then
+ lvbCharges = lvbCharges - 1;
+ end
if (
- ((exspell1 ~= Elementarist.SpellList["Lava Burst"]) and (exspell2 ~= Elementarist.SpellList["Lava Burst"]))
+ (lvbCharges > 0)
or
((ascendanceExp-GetTime()-timeshift) > 0)
) then
@@ -181,11 +185,9 @@ Elementarist.elemental = {
(exspell1 == Elementarist.SpellList["Flame Shock"]) or
(exspell2 == Elementarist.SpellList["Flame Shock"])
) then
- 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
- return Elementarist.SpellList["Lava Burst"]
- end
+ d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Lava Burst"])
+ if ((d-timeshift) <= 0) or ((ascendanceExp-GetTime()-timeshift) > 0) then
+ return Elementarist.SpellList["Lava Burst"]
end
end
end