From 2455a14373a5fdeb4e22d853940117c3d158c8b5 Mon Sep 17 00:00:00 2001 From: Taracque Date: Mon, 29 Aug 2016 15:57:39 +0200 Subject: [PATCH] Some enhancement cleanup --- Elementarist.lua | 2 +- modules/enhancement.lua | 92 ++++++++++++++++++++++++++++++++--------------- 2 files changed, 65 insertions(+), 29 deletions(-) diff --git a/Elementarist.lua b/Elementarist.lua index 35d7587..97b42ac 100755 --- a/Elementarist.lua +++ b/Elementarist.lua @@ -703,7 +703,7 @@ function Elementarist:UpdateAuraTracker() return; end; - -- if there is a UPdateAuraTracker fucntion in the specialization modulle run it here + -- if there is a UpdateAuraTracker fucntion in the specialization modulle run it here Elementarist:CallModule( "UpdateAuraTracker" ); local name,tguid,icon,d,e; diff --git a/modules/enhancement.lua b/modules/enhancement.lua index be08d55..5216a07 100755 --- a/modules/enhancement.lua +++ b/modules/enhancement.lua @@ -13,25 +13,20 @@ Elementarist.enhancement = { }; Initialize = function(self) Elementarist:LoadSpells({ - ["Glyph of Flame Shock"] = GetSpellInfo(55447), - ["Healing Stream Totem"] = GetSpellInfo(5394), - ["Maelstrom Weapon"] = GetSpellInfo(51530), ["Stormstrike"] = GetSpellInfo(17364), ["Windstrike"] = 115357, -- not in spellbook, ID must be used! ["Lava Lash"] = GetSpellInfo(60103), - ["Unleash Flame"] = GetSpellInfo(165462), - ["Unleash Elements"] = GetSpellInfo(73680), - ["Frost Shock"] = GetSpellInfo(8056), ["Flask of Spring Blossoms"] = GetSpellInfo(76084), ["AscendanceEnhancementBuff"] = GetSpellInfo(114051), - ["Elemental Fusion"] = GetSpellInfo(157174), ["Ancestral Swiftness"] = GetSpellInfo(16188), ["Feral Spirit"] = GetSpellInfo(51533), ["Fire Nova"] = GetSpellInfo(1535), ["Flametongue"] = GetSpellInfo(193796), ["Boulderfist"] = GetSpellInfo(201897), - + ["Frostbrand"] = GetSpellInfo(196834), + ["Crash Lightning"] = GetSpellInfo(187874), + ["Greater Draenic Agility Flask"] = GetSpellInfo(156064), ["Draenic Agility Flask"] = GetSpellInfo(156073), ["Flask of Spring Blossoms"] = GetSpellInfo(114769), @@ -39,9 +34,9 @@ Elementarist.enhancement = { }); Elementarist.role = "DPS"; - Elementarist.trackAura = Elementarist.SpellList["Flame Shock"]; - Elementarist.trackFilter = "PLAYER|HARMFUL"; - Elementarist.trackDuration = 39; + Elementarist.trackAura = false; + Elementarist.trackFilter = nil; + Elementarist.trackDuration = 30; Elementarist.trackSpread = false; Elementarist.debuffCount = 0; Elementarist.exspell1=nil; @@ -77,9 +72,7 @@ Elementarist.enhancement = { end Elementarist.lastBaseGCD = 1.5 - (1.5 * Elementarist.spellHaste * .01) - - local LvBct = 2 - (2 * Elementarist.spellHaste * .01) - + -- if target is dead, return "" if (UnitHealth("target")<=0) then return "" @@ -89,6 +82,14 @@ Elementarist.enhancement = { timeshift = 0 end + local LvBct = 2 - (2 * Elementarist.spellHaste * .01) + + local bdfCharges, _, cdStart, cdLength = GetSpellCharges(Elementarist.SpellList["Boulderfist"]); + bdfCharges = bdfCharges - Elementarist:Count(Elementarist.SpellList["Boulderfist"], spellInCast,exspell1,exspell2); + if (((cdStart + cdLength)- GetTime()) - timeshift <= 0) then + bdfCharges = bdfCharges + 1 + end + -- check current spell spellInCast, _, _, _, sICstartTime, sICendTime = UnitCastingInfo("player") if (spellInCast) then @@ -111,36 +112,71 @@ Elementarist.enhancement = { end -- Maintain Boulderfist and Landslide + if (not Elementarist:hasBuff("player", Elementarist.SpellList["Boulderfist"])) and (bdfCharges>=1) then + if Elementarist:ZeroCount(Elementarist.SpellList["Boulderfist"],spellInCast,exspell1,exspell2) and Elementarist:SpellAvailable(Elementarist.SpellList["Boulderfist"]) then + return Elementarist.SpellList["Boulderfist"] + end + end -- Maintain Hailstorm (if talented) - + if (Elementarist.talents[4] == 3) then + if (not Elementarist:hasBuff("player", Elementarist.SpellList["Frostbrand"])) then + if Elementarist:ZeroCount(Elementarist.SpellList["Frostbrand"],spellInCast,exspell1,exspell2) and Elementarist:SpellAvailable(Elementarist.SpellList["Frostbrand"]) then + d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Frostbrand"]) + if d-timeshift <= 0.5 then + return Elementarist.SpellList["Frostbrand"] + end + end + end + end + -- Boulderfist if Maelstorm < 130 and 2 charges of Boulderfist - - -- Maintaint Flametongue + if (UnitPower("player",11)<130) then + -- get lava burst charges and adjust Charges based on timeshift + if (Elementarist:SpellAvailable(Elementarist.SpellList["Boulderfist"])) and (bdfCharges>=2) then + return Elementarist.SpellList["Boulderfist"] + end + end + + -- Maintain Flametongue + if (not Elementarist:hasBuff("player", Elementarist.SpellList["Flametongue"])) then + if Elementarist:ZeroCount(Elementarist.SpellList["Flametongue"],spellInCast,exspell1,exspell2) and Elementarist:SpellAvailable(Elementarist.SpellList["Flametongue"]) then + d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Flametongue"]) + if d-timeshift <= 0.5 then + return Elementarist.SpellList["Flametongue"] + end + end + end - -- Feral Spirit - - -- Crash Lightning if >3 targets - -- Stormstrike + if Elementarist:ZeroCount(Elementarist.SpellList["Stormstrike"],spellInCast,exspell1,exspell2) and Elementarist:SpellAvailable(Elementarist.SpellList["Stormstrike"]) then + d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Stormstrike"]) + if d-timeshift <= 0.5 then + return Elementarist.SpellList["Stormstrike"] + end + end - -- Crash Lightning if Crasging Storm talent + -- Crash Lightning if Crashing Storm talent + if (Elementarist.talents[6] == 1) then + if Elementarist:ZeroCount(Elementarist.SpellList["Crash Lightning"],spellInCast,exspell1,exspell2) and Elementarist:SpellAvailable(Elementarist.SpellList["Crash Lightning"]) then + d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Crash Lightning"]) + if d-timeshift <= 0.5 then + return Elementarist.SpellList["Crash Lightning"] + end + end + end -- Lava Lash if Maelstorm > 110 if Elementarist:ZeroCount(Elementarist.SpellList["Lava Lash"],spellInCast,exspell1,exspell2) and Elementarist:SpellAvailable(Elementarist.SpellList["Lava Lash"]) then d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Lava Lash"]) if (d-timeshift <= 0.5) and (UnitPower("Player",11)>=110) then - return Elementarist.SpellList["Boulderfist"] + return Elementarist.SpellList["Lava Lash"] end end - -- Boulderfist if Elementarist:ZeroCount(Elementarist.SpellList["Boulderfist"],spellInCast,exspell1,exspell2) and Elementarist:SpellAvailable(Elementarist.SpellList["Boulderfist"]) then - d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Boulderfist"]) - if d-timeshift <= 0.5 then - return Elementarist.SpellList["Boulderfist"] - end + return Elementarist.SpellList["Boulderfist"] end -- Flametongue -- 1.7.9.5