From f225936d95c42a788a32e9d56d0fc29b8d34a660 Mon Sep 17 00:00:00 2001 From: Taracque Date: Mon, 9 Mar 2015 16:04:33 +0100 Subject: [PATCH] ***v3.4.0 * Change: 6.1 compatibility * Added: Liquid Magma * Fixed: Lava Burst charges now calculated correctly --- Change_log.txt | 5 +++++ Elementarist.lua | 8 +++++--- Elementarist.toc | 4 ++-- modules/elemental.lua | 44 +++++++++++++++++++++++--------------------- 4 files changed, 35 insertions(+), 26 deletions(-) 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 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 -- 1.7.9.5