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

Commit

Permalink
Merge pull request #277 from FFXIV-CombatReborn/first-pass-pvp-7.1
Browse files Browse the repository at this point in the history
Update PvP classes and upgrade RotationSolverReborn
  • Loading branch information
LTS-FFXIV authored Nov 18, 2024
2 parents 544ee1f + 847fd6e commit 3613c86
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 3613c86

Please sign in to comment.