Skip to content

Commit

Permalink
Add UseHolyWhenAway option and update PLD_Beta logic
Browse files Browse the repository at this point in the history
- Added `UseHolyWhenAway` to `PLD_Beta` for using Holy Spirit when out of melee range.
- Modified `AttackAbility` in `PLD_Beta` to skip AoE check for `BladeOfHonorPvE`.
- Updated `HolySpiritPvE` condition in `PLD_Beta` to check `UseHolyWhenAway`.
- Corrected `AutoStatus` enum descriptions and names for healing abilities.
- Added `TimeToKill` property to `ActionConfig` in `PaladinRotation` with a default value of 0.
  • Loading branch information
LTS-FFXIV committed Jan 3, 2025
1 parent a25524b commit 5c0c78d
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 10 deletions.
7 changes: 5 additions & 2 deletions BasicRotations/Tank/PLD_Beta.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ public sealed class PLD_Beta : PaladinRotation
[Range(0, 1, ConfigUnitType.Percent)]
[RotationConfig(CombatType.PvE, Name = "Health threshold for Cover (Set to 0 to disable)")]
private float CoverRatio { get; set; } = 0.3f;

[RotationConfig(CombatType.PvE, Name = "Use Holy Spirit when out of melee range")]
private bool UseHolyWhenAway { get; set; } = false;
#endregion

private const ActionID ConfiteorPvEActionId = (ActionID)16459;
Expand Down Expand Up @@ -137,7 +140,7 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
act = null;
if (PassageProtec && Player.HasStatus(true, StatusID.PassageOfArms)) return false;

if (BladeOfHonorPvE.CanUse(out act)) return true;
if (BladeOfHonorPvE.CanUse(out act, skipAoeCheck: true)) return true;

if (!RiotBladePvE.EnoughLevel && FightOrFlightPvE.CanUse(out act)) return true;
if (!RageOfHalonePvE.EnoughLevel && nextGCD.IsTheSameTo(true, RiotBladePvE) && FightOrFlightPvE.CanUse(out act)) return true;
Expand Down Expand Up @@ -207,7 +210,7 @@ protected override bool GeneralGCD(out IAction? act)
if (FastBladePvE.CanUse(out act)) return true;

//Ranged
if (StopMovingTime > 1 && HolySpiritPvE.CanUse(out act)) return true;
if (UseHolyWhenAway && StopMovingTime > 1 && HolySpiritPvE.CanUse(out act)) return true;
if (ShieldLobPvE.CanUse(out act)) return true;
return base.GeneralGCD(out act);
}
Expand Down
16 changes: 8 additions & 8 deletions RotationSolver.Basic/Data/AutoStatus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,24 +42,24 @@ public enum AutoStatus : uint
DefenseArea = 1 << 5,

/// <summary>
/// We should heal single by ability.
/// We should heal area by ability.
/// </summary>
HealSingleAbility = 1 << 6,
HealAreaAbility = 1 << 6,

/// <summary>
/// We should heal single by spell.
/// We should heal area by spell.
/// </summary>
HealSingleSpell = 1 << 7,
HealAreaSpell = 1 << 7,

/// <summary>
/// We should heal area by ability.
/// We should heal single by ability.
/// </summary>
HealAreaAbility = 1 << 8,
HealSingleAbility = 1 << 8,

/// <summary>
/// We should heal area by spell.
/// We should heal single by spell.
/// </summary>
HealAreaSpell = 1 << 9,
HealSingleSpell = 1 << 9,

/// <summary>
/// We should raise.
Expand Down
1 change: 1 addition & 0 deletions RotationSolver.Basic/Rotations/Basic/PaladinRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ static partial void ModifyCircleOfScornPvE(ref ActionSetting setting)
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 3,
TimeToKill = 0,
};
}

Expand Down

0 comments on commit 5c0c78d

Please sign in to comment.