| Filename | |
|---|---|
| Elementarist.lua | |
| modules/elemental.lua |
diff --git a/Elementarist.lua b/Elementarist.lua index ddd0830..f0ab4b4 100755 --- a/Elementarist.lua +++ b/Elementarist.lua @@ -28,6 +28,7 @@ Elementarist.person = { ["friend"] = {}, ["foe"] = {} } +Elementarist.talents = {} Elementarist.auraCooldowns = {} Elementarist.lastPersonTablePurged = 0.0; Elementarist.configPanel = nil @@ -417,7 +418,17 @@ function Elementarist:detectTalent() end; Elementarist.talent = talent; end; - + + -- Get talent tree + for i=1,7 do + Elementarist.talents[i] = 0 + for j=1,3 do + if select(3,GetTalentInfo(i,j,1)) then + Elementarist.talents[i] = j + end + end + end + -- set a flag so calling functions know this check has been passed previously if (spec == nil) or (talent == "") then Elementarist.talentUnsure = true diff --git a/modules/elemental.lua b/modules/elemental.lua index 433d209..18297a0 100755 --- a/modules/elemental.lua +++ b/modules/elemental.lua @@ -42,13 +42,13 @@ Elementarist.elemental = { ["Liquid Magma"] = GetSpellInfo(152255), ["Enhanced Chain Lightning"] = GetSpellInfo(157766), ["Storm Elemental Totem"] = GetSpellInfo(152256), - ["Flame Shock"] = GetSpellInfo(188389) + ["Flame Shock"] = GetSpellInfo(188389), + ["Ember Totem"] = GetSpellInfo(210658), + ["Totem Mastery"] = GetSpellInfo(210643), }); Elementarist.role = "DPS"; Elementarist.trackAura = Elementarist.SpellList["Flame Shock"] -- Spell used in Aura Tracking window - Elementarist.trackAuraBuffSpell1 = Elementarist.SpellList["Unleash Flame"] -- buff charge count to display in Aura Tracking Window - Elementarist.trackAuraBuffSpell2 = Elementarist.SpellList["Elemental Fusion"] -- buff charge count to display in Aura Tracking Window Elementarist.trackFilter = "PLAYER|HARMFUL"; Elementarist.trackDuration = 39; end; @@ -169,20 +169,15 @@ Elementarist.elemental = { end if Elementarist.inCombat == false then - -- Searing Totem - if (Elementarist:ZeroCount(Elementarist.SpellList["Searing Totem"],spellInCast,exspell1,exspell2) ) then - local haveFireTotem,fireTotemName,fireTotemStart,fireTotemDuration = GetTotemInfo(1); - if (fireTotemName == "") or (fireTotemDuration and (fireTotemStart + fireTotemDuration - GetTime() ) <= timeshift) then - return Elementarist.SpellList["Searing Totem"]; - end - end + end + end - -- Opening Uleash flame prior to combat - if (Elementarist:ZeroCount(Elementarist.SpellList["Unleash Flame"],spellInCast,exspell1,exspell2) ) then - d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Unleash Flame"]) - if (d-timeshift <= 0) then - return Elementarist.SpellList["Unleash Flame"]; - end + -- If Tier 1 talent is totem mastery keep those totems up + if Elementarist.talents[1] == 3 then + local haveFireTotem,fireTotemName,fireTotemStart,fireTotemDuration = GetTotemInfo(1) + if (Elementarist:ZeroCount(Elementarist.SpellList["Totem Mastery"],spellInCast,exspell1,exspell2)) then + if (not haveFireTotem) or (fireTotemName ~= Elementarist.SpellList["Totem Mastery"]) or (fireTotemStart + fireTotemDuration - currentTime - timeshift <= 0) then + return Elementarist.SpellList["Totem Mastery"] end end end