Skip to content
This repository has been archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
fix: PLD standart add some restriction to Sheltron and Bulwark.
Browse files Browse the repository at this point in the history
  • Loading branch information
ArchiDog1998 committed Apr 2, 2023
1 parent 83b0364 commit 9caa7a8
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 18 deletions.
20 changes: 11 additions & 9 deletions RotationSolver.Basic/Rotations/Basic/PLD_Base.cs
Original file line number Diff line number Diff line change
Expand Up @@ -120,14 +120,6 @@ public abstract class PLD_Base : CustomRotation
/// </summary>
public static IBaseAction Clemency { get; } = new BaseAction(ActionID.Clemency, true, true, isTimeline: true);

/// <summary>
/// 干预
/// </summary>
public static IBaseAction Intervention { get; } = new BaseAction(ActionID.Intervention, true, isTimeline: true)
{
ChoiceTarget = TargetFilter.FindAttackedTarget,
};

/// <summary>
/// 调停
/// </summary>
Expand Down Expand Up @@ -183,17 +175,27 @@ public abstract class PLD_Base : CustomRotation
ActionCheck = b => OathGauge >= 50,
};

/// <summary>
/// 干预
/// </summary>
public static IBaseAction Intervention { get; } = new BaseAction(ActionID.Intervention, true, isTimeline: true)
{
ActionCheck = Cover.ActionCheck,
ChoiceTarget = TargetFilter.FindAttackedTarget,
};

/// <summary>
/// 盾阵
/// </summary>
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,
};


Expand Down
13 changes: 4 additions & 9 deletions RotationSolver.Default/Tank/PLD_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}
}

0 comments on commit 9caa7a8

Please sign in to comment.