main
Ryan Crockett 2 years ago
parent ba5da2df6a
commit dd045cda94
  1. 11
      scripts/paladin/paladin_protection.lua
  2. 5
      scripts/paladin/shared/rebuke.lua

@ -16,6 +16,7 @@ local Judgement = Bastion.SpellBook:GetSpell(275779)
local AvengersShield = Bastion.SpellBook:GetSpell(31935)
local OfDuskAndDawn = Bastion.SpellBook:GetSpell(385125)
local BlessingOfTheDusk = Bastion.SpellBook:GetSpell(385126)
local BlessingOfTheDawn = Bastion.SpellBook:GetSpell(337747)
local ShieldOfTheRighteous = Bastion.SpellBook:GetSpell(53600)
local BlessedHammer = Bastion.SpellBook:GetSpell(204019)
local AutoAttack = Bastion.SpellBook:GetSpell(6603)
@ -50,7 +51,7 @@ local AvengersShieldTarget = Bastion.UnitManager:CreateCustomUnit('avengersshiel
return false
end
if unit:IsCasting() then
if unit:IsCastingOrChanneling() then
target = unit
return true
end
@ -116,7 +117,7 @@ local function CombatRotation()
end
-- Kick
if Rebuke() then return true end
Rebuke()
-- Cast Consecrate if an enemy is in range, and the player isnt moving.
if Consecrate:IsKnownAndUsable() and not Player:IsMoving() and not Player:GetAuras():FindMy(ConsecrateAura):IsUp() and Player:GetEnemies(10) >= 1 then
@ -131,7 +132,7 @@ local function CombatRotation()
if OfDuskAndDawn:IsKnown() then
local HpToSor = 3
if Player:GetAuras():FindMy(BlessingOfTheDusk):IsUp() and Player:GetAuras():FindMy(BlessingOfTheDusk):GetRemainingTime() > 5 then
if Player:GetAuras():FindMy(BlessingOfTheDusk):IsUp() and Player:GetAuras():FindMy(BlessingOfTheDawn):GetRemainingTime() < 9 then
HpToSor = 5
end
@ -140,12 +141,12 @@ local function CombatRotation()
end
if Player:GetPower(HolyPower) == HpToSor and ShieldOfTheRighteous:IsKnownAndUsable() and ShieldOfTheRighteous:IsInRange(Target) and not Player:IsCastingOrChanneling() then
return ShieldOfTheRighteous:Cast(Target)
ShieldOfTheRighteous:Cast(Target)
end
else
-- If Dusk And Dawn isnt known, rip SoR normally.
if ShieldOfTheRighteous:IsKnownAndUsable() and ShieldOfTheRighteous:IsInRange(Target) and not Player:IsCastingOrChanneling() then
return ShieldOfTheRighteous:Cast(Target)
ShieldOfTheRighteous:Cast(Target)
end
end

@ -45,14 +45,13 @@ local RebukeTarget = Bastion.UnitManager:CreateCustomUnit('rebuke', function()
return kick
end)
---@alias Rebuke fun():boolean
---@alias Rebuke fun()
---@type Rebuke
function Rebuke()
if RebukeTarget:Exists() and not Player:IsCastingOrChanneling() and _Rebuke:IsKnownAndUsable() then
return _Rebuke:Cast(RebukeTarget)
_Rebuke:Cast(RebukeTarget)
end
return false
end
return Rebuke
Loading…
Cancel
Save