More spells. Handle it

main
Emlembow 5 months ago
parent 81a2e99d2e
commit 477f95bb67
  1. 38
      ElementalShaman.lua

@ -1,3 +1,5 @@
-- Talents: CYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbzy2MjxwMbMmZMmZGAAAAAAGzYYgFYb0QjNAwsNNDYbhZmGmZmxMWmxMYWGmFzMzMMjZYA
local Tinkr, Bastion = ...
local ElementalShamanModule = Bastion.Module:New('ElementalShaman')
@ -30,6 +32,10 @@ local WindShear = SpellBook:GetSpell(57994)
local Skyfury = SpellBook:GetSpell(462854)
local LightningShield = SpellBook:GetSpell(192106)
local EarthShield = SpellBook:GetSpell(974)
local Tempest = SpellBook:GetSpell(454009)
local NaturesSwiftness = SpellBook:GetSpell(378081)
local HealingSurge = SpellBook:GetSpell(8004)
local AncestralGuidance = SpellBook:GetSpell(108281)
-- Buffs and Debuffs
local MasterOfTheElements = SpellBook:GetSpell(260734)
@ -117,6 +123,13 @@ DefaultAPL:AddSpell(
end):SetTarget(BestTarget)
)
DefaultAPL:AddSpell(
Tempest:CastableIf(function(self)
return BestTarget:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:GetAuras():FindAny(MasterOfTheElements):IsUp()
end):SetTarget(BestTarget)
)
DefaultAPL:AddSpell(
EarthShock:CastableIf(function(self)
return BestTarget:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
@ -170,6 +183,13 @@ OutOfCombatAPL:AddSpell(
)
-- AoE APL
AoEAPL:AddSpell(
Tempest:CastableIf(function(self)
return BestTarget:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and ShouldAoE()
end):SetTarget(BestTarget)
)
AoEAPL:AddSpell(
ChainLightning:CastableIf(function(self)
return BestTarget:Exists() and self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
@ -190,6 +210,13 @@ AoEAPL:AddSpell(
)
-- Cooldown APL
CooldownAPL:AddSpell(
AncestralGuidance:CastableIf(function(self)
return self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:GetPartyHPAround(40, 90) >= 3
end):SetTarget(Player)
)
CooldownAPL:AddSpell(
StormElemental:CastableIf(function(self)
return self:IsKnownAndUsable() and not Player:IsCastingOrChanneling() and not Pet:Exists()
@ -229,10 +256,19 @@ CooldownAPL:AddSpell(
DefensiveAPL:AddSpell(
AstralShift:CastableIf(function(self)
return self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:GetHP() < 50
and Player:GetHP() < 70
end):SetTarget(Player)
)
DefensiveAPL:AddSpell(
NaturesSwiftness:CastableIf(function(self)
return self:IsKnownAndUsable() and not Player:IsCastingOrChanneling()
and Player:GetHP() < 80 and HealingSurge:IsKnownAndUsable()
end):SetTarget(Player):OnCast(function()
HealingSurge:Cast(Player)
end)
)
-- Interrupt APL
InterruptAPL:AddSpell(
WindShear:CastableIf(function(self)

Loading…
Cancel
Save