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;
}
}