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

Commit

Permalink
Update PvP classes and upgrade RotationSolverReborn
Browse files Browse the repository at this point in the history
Updated various PvP classes to remove outdated checks and actions, and added new abilities and checks. Key changes include:

- `AST_DefaultPVP`: Removed `TheBolePvP`, `TheArrowPvP`, `TheBalancePvP`; added `MoveForwardAbility`, `OraclePvP`, `LordOfCrownsPvP`, `MinorArcanaPvP`, `LadyOfCrownsPvE`.
- `SCH_DefaultPVP`: Removed `MummificationPvP`.
- `BLM_DefaultPVP`: Removed `NightWingPvP`, `SuperflarePvP`.
- `RDM_DefaultPvP`: Removed `MagickBarrierPvP`, `FrazzlePvP`, `WhiteShift`, `BlackShift`; added `FortePvP`, `PrefulgencePvP`, `EmboldenPvP`, `JoltIiiPvP`, `GrandImpactPvP`, `ScorchPvP`.
- `SMN_DefaultPvP`: Removed `FesterPvP`, `EnkindleBahamutPvP`, `EnkindlePhoenixPvP`.
- `MNK_DefaultPvP`: Moved `GeneralGCD` to `AttackAbility`; added `EarthsReplyPvP`, `WindsReplyPvP`, `FiresReplyPvP`, `FlintsReplyPvP`, `PouncingCoeurlPvP`, `RisingRaptorPvP`, `LeapingOpoPvP`.
- `RPR_DefaultPvP`: Removed `SoulSlicePvP`.
- `VPR_DefaultPvP`: Removed `HuntersSnapPvP`, `SwiftskinsCoilPvP`; added `UncoiledTwinbloodPvP`, `BacklashPvP_39187`, `DeathRattlePvP`, `SanguineFeastPvP`, `BloodcoilPvP`.
- `BRD_DefaultPvP`: Replaced `EmpyrealArrowPvP` with `HarmonicArrowPvP_41964`.
- `DRK_DefaultPvP`: Removed `QuietusPvP`.
- `PLD_DefaultPvP`: Removed `ShieldBashPvP`.

Upgraded `RotationSolverReborn.Basic` package from version `7.0.5.153` to `7.1.0.3` in `RebornRotations.csproj`.
  • Loading branch information
LTS-FFXIV committed Nov 18, 2024
1 parent 544ee1f commit 847fd6e
Show file tree
Hide file tree
Showing 13 changed files with 60 additions and 79 deletions.
22 changes: 18 additions & 4 deletions BasicRotations/PVPRotations/Healer/AST_Default.PVP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,29 +76,43 @@ protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
if (TryPurify(out act)) return true;
if (UseRecuperatePvP && Player.CurrentHp / Player.MaxHp * 100 < RCValue && RecuperatePvP.CanUse(out act)) return true;

if (TheBolePvP.CanUse(out act, skipAoeCheck: true) && Player.HasStatus(true, StatusID.BoleDrawn_3403)) return true;
if (TheArrowPvP.CanUse(out act, skipAoeCheck: true) && Player.HasStatus(true, StatusID.ArrowDrawn_3404)) return true;
if (TheBalancePvP.CanUse(out act, skipAoeCheck: true) && Player.HasStatus(true, StatusID.BalanceDrawn_3101)) return true;

return base.EmergencyAbility(nextGCD, out act);
}

protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
{
act = null;

if (EpicyclePvP.CanUse(out act)) return true;

return base.MoveForwardAbility(nextGCD, out act);

}

protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{
act = null;
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;

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

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

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

return base.AttackAbility(nextGCD, out act);

}

protected override bool GeneralAbility(IAction nextGCD, out IAction? act)
{
act = null;
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;

if (DrawPvP.CanUse(out act)) return true;
if (MinorArcanaPvP.CanUse(out act)) return true;

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

if (AspectedBeneficPvP_29247.CanUse(out act)) return true;

Expand Down
1 change: 0 additions & 1 deletion BasicRotations/PVPRotations/Healer/SCH_Default.PVP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)

// Early exits for Guard status or Sprint usage
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;
if (MummificationPvP.CanUse(out act, skipAoeCheck: true)) return true;

return base.AttackAbility(nextGCD, out act);
}
Expand Down
4 changes: 0 additions & 4 deletions BasicRotations/PVPRotations/Magical/BLM_Default.PVP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,6 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
act = null;
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;

if (NightWingPvP.CanUse(out act)) return true;

if (SuperflarePvP.CanUse(out act)) return true;

return base.AttackAbility(nextGCD, out act);
}

Expand Down
46 changes: 12 additions & 34 deletions BasicRotations/PVPRotations/Magical/RDM_Default.PvP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ protected bool DefenseAreaAbility(out IAction? act)

// Early exits for Guard status or Sprint usage
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;
if (MagickBarrierPvP.CanUse(out act, skipAoeCheck: true)) return true;
if (FrazzlePvP.CanUse(out act, skipAoeCheck: true)) return true;
if (FortePvP.CanUse(out act)) return true;

return base.DefenseAreaGCD(out act);
}

Expand All @@ -97,21 +97,14 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
// Early exits for Guard status or Sprint usage
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;

if (Player.HasStatus(true, StatusID.BlackShift))
{
if (ResolutionPvP_29696.CanUse(out act)) return true;
}

if (Player.HasStatus(true, StatusID.WhiteShift))
{
if (ResolutionPvP.CanUse(out act)) return true;
}
if (ResolutionPvP.CanUse(out act)) return true;

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

//if (BlackShiftPvP.CanUse(out act)) return true;
//if (WhiteShiftPvP.CanUse(out act)) return true;
if (PrefulgencePvP.CanUse(out act)) return true;
if (EmboldenPvP.CanUse(out act)) return true;


return base.AttackAbility(nextGCD, out act);
}
Expand All @@ -124,27 +117,12 @@ protected override bool GeneralGCD(out IAction? act)
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;
if (!Player.HasStatus(true, StatusID.Guard) && UseSprintPvP && !Player.HasStatus(true, StatusID.Sprint) && !InCombat && SprintPvP.CanUse(out act)) return true;

//Handling status from White Shift
if (Player.HasStatus(true, StatusID.WhiteShift))
{
if (VerstonePvP.CanUse(out act, skipComboCheck: true)) return true;
if (VeraeroIiiPvP.CanUse(out act)) return true;
if (EnchantedRipostePvP.CanUse(out act)) return true;
if (EnchantedZwerchhauPvP.CanUse(out act)) return true;
if (EnchantedRedoublementPvP.CanUse(out act)) return true;
if (VerholyPvP.CanUse(out act, skipAoeCheck: true)) return true;
}

//Handling status from BlackShift
if (Player.HasStatus(true, StatusID.BlackShift))
{
if (VerfirePvP.CanUse(out act, skipComboCheck: true)) return true;
if (VerthunderIiiPvP.CanUse(out act)) return true;
if (EnchantedRipostePvP_29692.CanUse(out act)) return true;
if (EnchantedZwerchhauPvP_29693.CanUse(out act)) return true;
if (EnchantedRedoublementPvP_29694.CanUse(out act)) return true;
if (VerflarePvP.CanUse(out act, skipAoeCheck: true)) return true;
}
if (JoltIiiPvP.CanUse(out act)) return true;
if (GrandImpactPvP.CanUse(out act)) return true;
if (EnchantedRipostePvP.CanUse(out act)) return true;
if (EnchantedZwerchhauPvP.CanUse(out act)) return true;
if (EnchantedRedoublementPvP.CanUse(out act)) return true;
if (ScorchPvP.CanUse(out act)) return true;

return base.GeneralGCD(out act);
}
Expand Down
6 changes: 0 additions & 6 deletions BasicRotations/PVPRotations/Magical/SMN_Default.PVP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,8 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
act = null;
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;

if (FesterPvP.CanUse(out act)) return true;

if (MountainBusterPvP.CanUse(out act)) return true;

if (EnkindleBahamutPvP.CanUse(out act)) return true;

if (EnkindlePhoenixPvP.CanUse(out act)) return true;

return base.AttackAbility(nextGCD, out act);
}
protected override bool GeneralAbility(IAction nextGCD, out IAction? act)
Expand Down
35 changes: 19 additions & 16 deletions BasicRotations/PVPRotations/Melee/MNK_Default.PVP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -79,19 +79,9 @@ protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
return base.EmergencyAbility(nextGCD, out act);
}

protected override bool GeneralGCD(out IAction? act)
protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{
act = null;
// Early exits for Guard status or Sprint usage
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;
if (!Player.HasStatus(true, StatusID.Guard) && UseSprintPvP && !Player.HasStatus(true, StatusID.Sprint) && !InCombat && SprintPvP.CanUse(out act)) return true;

if (RisingPhoenixPvP.CanUse(out act)) return true;
if (EnlightenmentPvP.CanUse(out act)) return true;
if (RisingPhoenixPvP.CanUse(out act)) return true;
if (PhantomRushPvP.CanUse(out act)) return true;
if (SixsidedStarPvP.CanUse(out act)) return true;
if (EnlightenmentPvP.CanUse(out act, usedUp: true)) return true;

if (InCombat)
{
Expand All @@ -105,20 +95,33 @@ protected override bool GeneralGCD(out IAction? act)
{
if (RiddleOfEarthPvP.CanUse(out act)) return true;
}
if (EarthsReplyPvP.CanUse(out act)) return true;
if (WindsReplyPvP.CanUse(out act)) return true;
if (FiresReplyPvP.CanUse(out act)) return true;

return base.AttackAbility(nextGCD, out act);
}

protected override bool GeneralGCD(out IAction? act)
{
act = null;
// Early exits for Guard status or Sprint usage
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;
if (!Player.HasStatus(true, StatusID.Guard) && UseSprintPvP && !Player.HasStatus(true, StatusID.Sprint) && !InCombat && SprintPvP.CanUse(out act)) return true;

if (FlintsReplyPvP.CanUse(out act)) return true;

if (Player.HasStatus(true, StatusID.EarthResonance))
{
if (EarthsReplyPvP.CanUse(out act)) return true;
}

if (PhantomRushPvP.CanUse(out act)) return true;
if (PouncingCoeurlPvP.CanUse(out act)) return true;
if (RisingRaptorPvP.CanUse(out act)) return true;
if (LeapingOpoPvP.CanUse(out act)) return true;
if (DemolishPvP.CanUse(out act)) return true;
if (TwinSnakesPvP.CanUse(out act)) return true;
if (DragonKickPvP.CanUse(out act)) return true;
if (SnapPunchPvP.CanUse(out act)) return true;
if (TrueStrikePvP.CanUse(out act)) return true;
if (BootshinePvP.CanUse(out act)) return true;


return false;
}
Expand Down
1 change: 0 additions & 1 deletion BasicRotations/PVPRotations/Melee/RPR_Default.PVP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ protected override bool GeneralGCD(out IAction? act)
//if (CrossReapingPvP.CanUse(out act, usedUp: true)) return true;
//if (CommunioPvP.CanUse(out act, usedUp: true)) return true;

if (SoulSlicePvP.CanUse(out act, usedUp: true)) return true;

if (PlentifulHarvestPvP.CanUse(out act)) return true;

Expand Down
16 changes: 8 additions & 8 deletions BasicRotations/PVPRotations/Melee/VPR_Default.PVP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,11 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
if (ShouldCancelGuard()) return false;

if (IsLastGCD((ActionID)UncoiledFuryPvP.ID) && UncoiledTwinfangPvP.CanUse(out act, skipAoeCheck: true)) return true;
if (IsLastGCD((ActionID)HuntersSnapPvP.ID) && TwinfangBitePvP.CanUse(out act)) return true;
if (IsLastGCD((ActionID)SwiftskinsCoilPvP.ID) && TwinbloodBitePvP.CanUse(out act)) return true;
if (IsLastGCD((ActionID)BarbarousBitePvP.ID, (ActionID)RavenousBitePvP.ID) && DeathRattlePvP.CanUse(out act)) return true;
if (IsLastGCD((ActionID)UncoiledFuryPvP.ID) && UncoiledTwinbloodPvP.CanUse(out act, skipAoeCheck: true)) return true;

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

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

return base.AttackAbility(nextGCD, out act);
}
Expand All @@ -113,14 +115,12 @@ protected override bool GeneralGCD(out IAction? act)

if (Player.HasStatus(true, StatusID.HardenedScales)) return false;

if (!Player.HasStatus(true, StatusID.Reawakened_4094))
{
if (SwiftskinsCoilPvP.CanUse(out act, usedUp: true)) return true;
if (HuntersSnapPvP.CanUse(out act, usedUp: true)) return true;
}

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

if (SanguineFeastPvP.CanUse(out act)) return true;
if (BloodcoilPvP.CanUse(out act)) return true;

if (RavenousBitePvP.CanUse(out act)) return true;
if (SwiftskinsStingPvP.CanUse(out act)) return true;
if (PiercingFangsPvP.CanUse(out act)) return true;
Expand Down
2 changes: 1 addition & 1 deletion BasicRotations/PVPRotations/Ranged/BRD_Default.PVP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)

if (SilentNocturnePvP.CanUse(out act)) return true;

if (EmpyrealArrowPvP.CanUse(out act)) return true;
if (HarmonicArrowPvP_41964.CanUse(out act)) return true;

if (RepellingShotPvP.CanUse(out act)) return true;

Expand Down
1 change: 0 additions & 1 deletion BasicRotations/PVPRotations/Tank/DRK_Default.PVP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,6 @@ protected override bool GeneralGCD(out IAction? act)
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;
if (!Player.HasStatus(true, StatusID.Guard) && UseSprintPvP && !Player.HasStatus(true, StatusID.Sprint) && !InCombat && SprintPvP.CanUse(out act)) return true;

if (QuietusPvP.CanUse(out act)) return true;

if (SouleaterPvP.CanUse(out act)) return true;
if (SyphonStrikePvP.CanUse(out act)) return true;
Expand Down
1 change: 0 additions & 1 deletion BasicRotations/PVPRotations/Tank/PLD_Default.PVP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
act = null;
if (GuardCancel && Player.HasStatus(true, StatusID.Guard)) return false;

if (ShieldBashPvP.CanUse(out act)) return true;
if (IntervenePvP.CanUse(out act)) return true;

return base.AttackAbility(nextGCD, out act);
Expand Down
2 changes: 1 addition & 1 deletion BasicRotations/Ranged/BRD_Default.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
namespace DefaultRotations.Ranged;

[Rotation("Default", CombatType.PvE, GameVersion = "7.05",
[Rotation("Default", CombatType.PvE, GameVersion = "7.10",
Description = "Please make sure that the three song times add up to 120 seconds, Wanderers default first song for now.")]
[SourceCode(Path = "main/BasicRotations/Ranged/BRD_Default.cs")]
[Api(4)]
Expand Down
2 changes: 1 addition & 1 deletion BasicRotations/RebornRotations.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<Compile Include="Duty\EmanationDefault" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="RotationSolverReborn.Basic" Version="7.0.5.153" />
<PackageReference Include="RotationSolverReborn.Basic" Version="7.1.0.3" />
</ItemGroup>
<ItemGroup>
<Reference Include="Dalamud">
Expand Down

0 comments on commit 847fd6e

Please sign in to comment.