You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
3.1 KiB
105 lines
3.1 KiB
--- ============================ HEADER ============================
|
|
-- HeroLib
|
|
local HL = HeroLib
|
|
local Cache = HeroCache
|
|
local Unit = HL.Unit
|
|
local Player = Unit.Player
|
|
local Pet = Unit.Pet
|
|
local Target = Unit.Target
|
|
local Spell = HL.Spell
|
|
local Item = HL.Item
|
|
-- HeroRotation
|
|
local HR = HeroRotation
|
|
-- Spells
|
|
local SpellEle = Spell.Shaman.Elemental
|
|
local SpellEnh = Spell.Shaman.Enhancement
|
|
-- Lua
|
|
-- File Locals
|
|
local Shaman = HR.Commons.Shaman
|
|
|
|
--- ============================ CONTENT ============================
|
|
|
|
-- Elemental, ID: 262
|
|
HL.AddCoreOverride ("Player.MaelstromP",
|
|
function()
|
|
local Maelstrom = Player:Maelstrom()
|
|
if not Player:IsCasting() then
|
|
return Maelstrom
|
|
else
|
|
if Player:IsCasting(SpellEle.ElementalBlast) then
|
|
return Maelstrom - 75
|
|
elseif Player:IsCasting(SpellEle.Icefury) then
|
|
return Maelstrom + 25
|
|
elseif Player:IsCasting(SpellEle.LightningBolt) then
|
|
return Maelstrom + 10
|
|
elseif Player:IsCasting(SpellEle.LavaBurst) then
|
|
return Maelstrom + 12
|
|
elseif Player:IsCasting(SpellEle.ChainLightning) then
|
|
--TODO: figure out the *actual* maelstrom you'll get from hitting your current target...
|
|
--return Maelstrom + (4 * #SplashedEnemiesTable[Target])
|
|
-- If you're hitting the best target with CL , this is 4*Shaman.ClusterTargets
|
|
return Maelstrom + (4 * Shaman.ClusterTargets)
|
|
else
|
|
return Maelstrom
|
|
end
|
|
end
|
|
end
|
|
, 262)
|
|
|
|
HL.AddCoreOverride ("Player.MOTEP",
|
|
function()
|
|
if not SpellEle.MasteroftheElements:IsAvailable() then return false end
|
|
local MOTEUp = Player:BuffUp(SpellEle.MasteroftheElementsBuff)
|
|
if not Player:IsCasting() then
|
|
return MOTEUp
|
|
else
|
|
if Player:IsCasting(SpellEle.LavaBurst) then
|
|
return true
|
|
elseif Player:IsCasting(SpellEle.ElementalBlast) then
|
|
return false
|
|
elseif Player:IsCasting(SpellEle.Icefury) then
|
|
return false
|
|
elseif Player:IsCasting(SpellEle.LightningBolt) then
|
|
return false
|
|
elseif Player:IsCasting(SpellEle.ChainLightning) then
|
|
return false
|
|
else
|
|
return MOTEUp
|
|
end
|
|
end
|
|
end
|
|
, 262)
|
|
|
|
HL.AddCoreOverride ("Player.StormkeeperP",
|
|
function()
|
|
if not SpellEle.Stormkeeper:IsAvailable() then return false end
|
|
local StormkeeperUp = Player:BuffUp(SpellEle.StormkeeperBuff)
|
|
if not Player:IsCasting() then
|
|
return StormkeeperUp
|
|
else
|
|
if Player:IsCasting(SpellEle.Stormkeeper) then
|
|
return true
|
|
else
|
|
return StormkeeperUp
|
|
end
|
|
end
|
|
end
|
|
, 262)
|
|
|
|
HL.AddCoreOverride ("Player.IcefuryP",
|
|
function()
|
|
if not SpellEle.Icefury:IsAvailable() then return false end
|
|
local IcefuryUp = Player:BuffUp(SpellEle.IcefuryBuff)
|
|
if not Player:IsCasting() then
|
|
return IcefuryUp
|
|
else
|
|
if Player:IsCasting(SpellEle.Icefury) then
|
|
return true
|
|
else
|
|
return IcefuryUp
|
|
end
|
|
end
|
|
end
|
|
, 262)
|
|
|
|
-- Enhancement, ID: 263
|
|
|