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

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