diff --git a/RotationSolver.Basic/Rotations/Basic/PLD_Base.cs b/RotationSolver.Basic/Rotations/Basic/PLD_Base.cs index c953153c0..cbc465956 100644 --- a/RotationSolver.Basic/Rotations/Basic/PLD_Base.cs +++ b/RotationSolver.Basic/Rotations/Basic/PLD_Base.cs @@ -120,14 +120,6 @@ public abstract class PLD_Base : CustomRotation /// public static IBaseAction Clemency { get; } = new BaseAction(ActionID.Clemency, true, true, isTimeline: true); - /// - /// ��Ԥ - /// - public static IBaseAction Intervention { get; } = new BaseAction(ActionID.Intervention, true, isTimeline: true) - { - ChoiceTarget = TargetFilter.FindAttackedTarget, - }; - /// /// ��ͣ /// @@ -183,17 +175,27 @@ public abstract class PLD_Base : CustomRotation ActionCheck = b => OathGauge >= 50, }; + /// + /// ��Ԥ + /// + public static IBaseAction Intervention { get; } = new BaseAction(ActionID.Intervention, true, isTimeline: true) + { + ActionCheck = Cover.ActionCheck, + ChoiceTarget = TargetFilter.FindAttackedTarget, + }; + /// /// ���� /// public static IBaseAction Sheltron { get; } = new BaseAction(ActionID.Sheltron, true, isTimeline: true) { - ActionCheck = Cover.ActionCheck, + ActionCheck = b => BaseAction.TankDefenseSelf(b) && Cover.ActionCheck(b), }; public static IBaseAction Bulwark { get; } = new BaseAction(ActionID.Bulwark, true, isTimeline: true) { StatusProvide = Rampart.StatusProvide, + ActionCheck = BaseAction.TankDefenseSelf, }; diff --git a/RotationSolver.Default/Tank/PLD_Default.cs b/RotationSolver.Default/Tank/PLD_Default.cs index 25b07bf67..bdfbbb97d 100644 --- a/RotationSolver.Default/Tank/PLD_Default.cs +++ b/RotationSolver.Default/Tank/PLD_Default.cs @@ -130,8 +130,8 @@ protected override bool DefenseSingleAbility(byte abilitiesRemaining, out IActio if (Rampart.CanUse(out act)) return true; //10 - if (UseOath(out act)) return true; if (Bulwark.CanUse(out act)) return true; + if (UseOath(out act)) return true; } if (Reprisal.CanUse(out act)) return true; @@ -141,14 +141,9 @@ protected override bool DefenseSingleAbility(byte abilitiesRemaining, out IActio private static bool UseOath(out IAction act) { - if (HasTankStance) - { - if (Sheltron.CanUse(out act)) return true; - } - else - { - if (Intervention.CanUse(out act)) return true; - } + if (Sheltron.CanUse(out act)) return true; + if (Intervention.CanUse(out act)) return true; + return false; } }