From 477f95bb675fa5b22702817e3ef57b94f06868a7 Mon Sep 17 00:00:00 2001 From: Emlembow <36314674+Emlembow@users.noreply.github.com> Date: Tue, 3 Sep 2024 12:59:18 -0700 Subject: [PATCH] More spells. Handle it --- ElementalShaman.lua | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/ElementalShaman.lua b/ElementalShaman.lua index 700d18f..dce551d 100644 --- a/ElementalShaman.lua +++ b/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)