From 149e6314004235de5f071e462afc418e9c7c603c Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Sun, 28 Jul 2024 22:23:15 -0500
Subject: [PATCH] API 3 Bump and VPR update, lower level compatibility
---
BasicRotations/Healer/AST_Default.cs | 2 +-
BasicRotations/Healer/SCH_Default.cs | 2 +-
BasicRotations/Healer/SGE_Default.cs | 2 +-
BasicRotations/Healer/WHM_Default.cs | 2 +-
BasicRotations/Magical/BLM_Default.cs | 2 +-
BasicRotations/Magical/PCT_Default.cs | 2 +-
BasicRotations/Magical/RDM_Default.cs | 2 +-
BasicRotations/Magical/SMN_Archive | 2 +-
BasicRotations/Magical/SMN_Default.cs | 2 +-
BasicRotations/Melee/DRG_Default.cs | 2 +-
BasicRotations/Melee/MNK_Default.cs | 2 +-
BasicRotations/Melee/NIN_Default.cs | 2 +-
BasicRotations/Melee/SAM_Default.cs | 2 +-
BasicRotations/Melee/VPR_Default.cs | 294 +++++-------------
.../PVPRotations/Healer/AST_Default.PVP.cs | 2 +-
.../PVPRotations/Healer/SCH_Default.PVP.cs | 2 +-
.../PVPRotations/Healer/SGE_Default.PVP.cs | 2 +-
.../PVPRotations/Healer/WHM_Default.PVP.cs | 2 +-
.../PVPRotations/Magical/BLM_Default.PVP.cs | 2 +-
.../PVPRotations/Magical/RDM_Default.PvP.cs | 2 +-
.../PVPRotations/Magical/SMN_Default.PVP.cs | 2 +-
.../PVPRotations/Melee/DRG_Default.PVP.cs | 2 +-
.../PVPRotations/Melee/MNK_Default.PVP.cs | 2 +-
.../PVPRotations/Melee/NIN_Default.PVP.cs | 2 +-
.../PVPRotations/Melee/RPR_Default.PVP.cs | 2 +-
.../PVPRotations/Melee/SAM_Default.PVP.cs | 2 +-
.../PVPRotations/Ranged/BRD_Default.PVP.cs | 2 +-
.../PVPRotations/Ranged/DNC_Default.PVP.cs | 2 +-
.../PVPRotations/Ranged/MCH_Default.PvP.cs | 2 +-
.../PVPRotations/Tank/DRK_Default.PVP.cs | 2 +-
.../PVPRotations/Tank/GNB_Default.PVP.cs | 2 +-
.../PVPRotations/Tank/PLD_Default.PVP.cs | 2 +-
.../PVPRotations/Tank/WAR_Default.PVP.cs | 2 +-
BasicRotations/Ranged/BRD_Default.cs | 2 +-
BasicRotations/Ranged/DNC_Default.cs | 2 +-
BasicRotations/Ranged/MCH_Default.cs | 2 +-
BasicRotations/RebornRotations.csproj | 2 +-
BasicRotations/Tank/DRK_Default.cs | 2 +-
BasicRotations/Tank/GNB_Default.cs | 2 +-
BasicRotations/Tank/PLD_Default.cs | 2 +-
BasicRotations/Tank/WAR_Default.cs | 2 +-
41 files changed, 117 insertions(+), 257 deletions(-)
diff --git a/BasicRotations/Healer/AST_Default.cs b/BasicRotations/Healer/AST_Default.cs
index 5474f58..d7355f3 100644
--- a/BasicRotations/Healer/AST_Default.cs
+++ b/BasicRotations/Healer/AST_Default.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Healer;
[Rotation("Default", CombatType.PvE, GameVersion = "7.0")]
[SourceCode(Path = "main/DefaultRotations/Healer/AST_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class AST_Default : AstrologianRotation
{
#region Config Options
diff --git a/BasicRotations/Healer/SCH_Default.cs b/BasicRotations/Healer/SCH_Default.cs
index d6b3443..4a58541 100644
--- a/BasicRotations/Healer/SCH_Default.cs
+++ b/BasicRotations/Healer/SCH_Default.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Healer;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[SourceCode(Path = "main/DefaultRotations/Healer/SCH_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class SCH_Default : ScholarRotation
{
#region Config Options
diff --git a/BasicRotations/Healer/SGE_Default.cs b/BasicRotations/Healer/SGE_Default.cs
index 259db36..9968884 100644
--- a/BasicRotations/Healer/SGE_Default.cs
+++ b/BasicRotations/Healer/SGE_Default.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Healer;
[Rotation("Default", CombatType.PvE, GameVersion = "7.01")]
[SourceCode(Path = "main/DefaultRotations/Healer/SGE_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class SGE_Default : SageRotation
{
#region Config Options
diff --git a/BasicRotations/Healer/WHM_Default.cs b/BasicRotations/Healer/WHM_Default.cs
index 8095930..bd9ef8c 100644
--- a/BasicRotations/Healer/WHM_Default.cs
+++ b/BasicRotations/Healer/WHM_Default.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Healer;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[SourceCode(Path = "main/DefaultRotations/Healer/WHM_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class WHM_Default :WhiteMageRotation
{
#region Config Options
diff --git a/BasicRotations/Magical/BLM_Default.cs b/BasicRotations/Magical/BLM_Default.cs
index 934f783..f756c81 100644
--- a/BasicRotations/Magical/BLM_Default.cs
+++ b/BasicRotations/Magical/BLM_Default.cs
@@ -2,7 +2,7 @@
[Rotation("Default", CombatType.PvE, GameVersion = "7.01")]
[SourceCode(Path = "main/DefaultRotations/Magical/BLM_Default.cs")]
-[Api(2)]
+[Api(3)]
public class BLM_Default : BlackMageRotation
{
#region Config Options
diff --git a/BasicRotations/Magical/PCT_Default.cs b/BasicRotations/Magical/PCT_Default.cs
index 0869296..2e32425 100644
--- a/BasicRotations/Magical/PCT_Default.cs
+++ b/BasicRotations/Magical/PCT_Default.cs
@@ -4,7 +4,7 @@ namespace DefaultRotations.Magical;
[Rotation("Default", CombatType.PvE, GameVersion = "7.0", Description = "Kindly created and donated by Rabbs")]
[SourceCode(Path = "main/DefaultRotations/Magical/PCT_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class PCT_Default : PictomancerRotation
{
public override MedicineType MedicineType => MedicineType.Intelligence;
diff --git a/BasicRotations/Magical/RDM_Default.cs b/BasicRotations/Magical/RDM_Default.cs
index 41d2b94..9862f46 100644
--- a/BasicRotations/Magical/RDM_Default.cs
+++ b/BasicRotations/Magical/RDM_Default.cs
@@ -4,7 +4,7 @@ namespace DefaultRotations.Magical;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[SourceCode(Path = "main/DefaultRotations/Magical/RDM_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class RDM_Default : RedMageRotation
{
#region Config Options
diff --git a/BasicRotations/Magical/SMN_Archive b/BasicRotations/Magical/SMN_Archive
index fbf8066..cfacf17 100644
--- a/BasicRotations/Magical/SMN_Archive
+++ b/BasicRotations/Magical/SMN_Archive
@@ -4,7 +4,7 @@ namespace DefaultRotations.Magical;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[SourceCode(Path = "main/DefaultRotations/Magical/SMN_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class SMN_Default : SummonerRotation
{
#region Config Options
diff --git a/BasicRotations/Magical/SMN_Default.cs b/BasicRotations/Magical/SMN_Default.cs
index 7f0849b..466c1bc 100644
--- a/BasicRotations/Magical/SMN_Default.cs
+++ b/BasicRotations/Magical/SMN_Default.cs
@@ -4,7 +4,7 @@ namespace DefaultRotations.Magical;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[SourceCode(Path = "main/DefaultRotations/Magical/SMN_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class SMN_Default : SummonerRotation
{
diff --git a/BasicRotations/Melee/DRG_Default.cs b/BasicRotations/Melee/DRG_Default.cs
index 72da0b9..a60bbe5 100644
--- a/BasicRotations/Melee/DRG_Default.cs
+++ b/BasicRotations/Melee/DRG_Default.cs
@@ -4,7 +4,7 @@ namespace DefaultRotations.Melee;
[Rotation("Default", CombatType.PvE, GameVersion = "7.01")]
[SourceCode(Path = "main/DefaultRotations/Melee/DRG_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class DRG_Default : DragoonRotation
{
diff --git a/BasicRotations/Melee/MNK_Default.cs b/BasicRotations/Melee/MNK_Default.cs
index a172f2a..d5823d7 100644
--- a/BasicRotations/Melee/MNK_Default.cs
+++ b/BasicRotations/Melee/MNK_Default.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Melee;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00", Description = "Uses Lunar Solar Opener from The Balance")]
[SourceCode(Path = "main/DefaultRotations/Melee/MNK_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class MNK_Default : MonkRotation
{
diff --git a/BasicRotations/Melee/NIN_Default.cs b/BasicRotations/Melee/NIN_Default.cs
index 9d47349..65b0d53 100644
--- a/BasicRotations/Melee/NIN_Default.cs
+++ b/BasicRotations/Melee/NIN_Default.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Melee;
[Rotation("Default", CombatType.PvE, GameVersion = "7.01")]
[SourceCode(Path = "main/DefaultRotations/Melee/NIN_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class NIN_Default : NinjaRotation
{
#region Config Options
diff --git a/BasicRotations/Melee/SAM_Default.cs b/BasicRotations/Melee/SAM_Default.cs
index 137fd0a..913d080 100644
--- a/BasicRotations/Melee/SAM_Default.cs
+++ b/BasicRotations/Melee/SAM_Default.cs
@@ -2,7 +2,7 @@
[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[SourceCode(Path = "main/DefaultRotations/Melee/SAM_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class SAM_Default : SamuraiRotation
{
#region Config Options
diff --git a/BasicRotations/Melee/VPR_Default.cs b/BasicRotations/Melee/VPR_Default.cs
index 6d603c8..c8351ed 100644
--- a/BasicRotations/Melee/VPR_Default.cs
+++ b/BasicRotations/Melee/VPR_Default.cs
@@ -1,270 +1,130 @@
namespace DefaultRotations.Melee;
-[Rotation("Default", CombatType.PvE, GameVersion = "7.0",
-Description = "Kindly created and donated by Rabbs")]
+[Rotation("Default", CombatType.PvE, GameVersion = "7.01")]
[SourceCode(Path = "main/DefaultRotations/Melee/VPR_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class VPR_Default : ViperRotation
{
- private static bool HaveReawakend => Player.HasStatus(true, StatusID.Reawakened, StatusID.Reawakened_4094);
- private static bool HaveSwiftScaled => Player.HasStatus(true, StatusID.Swiftscaled, StatusID.Swiftscaled_4121);
- private static float? SwiftScaledTime => Player.StatusTime(true, StatusID.Swiftscaled);
- private static float? HuntersTime => Player.StatusTime(true, StatusID.HuntersInstinct);
- private static bool HaveHuntersInstinct => Player.HasStatus(true, StatusID.HuntersInstinct, StatusID.HuntersInstinct_4120);
- private static bool HaveHuntersVenom => Player.HasStatus(true, StatusID.HuntersVenom);
- private static bool HaveSwiftVenom => Player.HasStatus(true, StatusID.SwiftskinsVenom);
- private static bool HaveFellHuntersVenom => Player.HasStatus(true, StatusID.FellhuntersVenom);
- private static bool HaveFellskintVenom => Player.HasStatus(true, StatusID.FellskinsVenom);
- private static bool HavePoisedFang => Player.HasStatus(true, StatusID.PoisedForTwinfang);
- private static bool HavePoisedBlood => Player.HasStatus(true, StatusID.PoisedForTwinblood);
- private static bool HaveFlankingVenom => Player.HasStatus(true, StatusID.FlankstungVenom, StatusID.FlanksbaneVenom);
- private static bool HaveHindVenom => Player.HasStatus(true, StatusID.HindsbaneVenom, StatusID.HindstungVenom);
- private static bool HaveBaneVenom => Player.HasStatus(true, StatusID.HindsbaneVenom, StatusID.FlanksbaneVenom);
- private static bool HaveGrimHuntersVenom => Player.HasStatus(true, StatusID.GrimhuntersVenom);
- private static bool HaveGrimSkinVenom => Player.HasStatus(true, StatusID.GrimskinsVenom);
- private static float? BloodTime => HostileTarget?.StatusTime(true, StatusID.NoxiousGnash);
- private static bool BloodTimeAoe => AllHostileTargets.Any(p => p.StatusTime(true, StatusID.NoxiousGnash) < 20 && p.DistanceToPlayer() <= 5);
- public static bool IsHuntersTimeLessThanSwiftscaled => CustomRotation.Player.StatusTime(true, StatusID.HuntersInstinct) < CustomRotation.Player.StatusTime(true, StatusID.Swiftscaled);
- public static bool IsHindstongueTimeLessThanHindsbane => CustomRotation.Player.StatusTime(true, StatusID.HindstungVenom) < CustomRotation.Player.StatusTime(true, StatusID.HindsbaneVenom);
- private static int MyGeneration => EnhancedSerpentsLineageTrait.EnoughLevel ? 6-AnguineTribute:5-AnguineTribute;
- public static IBaseAction ThisCoil { get; } = new BaseAction((ActionID)34645);
- public static IBaseAction UnCoilCoil { get; } = new BaseAction((ActionID)34633);
- #region Countdown logic
- // Defines logic for actions to take during the countdown before combat starts.
- protected override IAction? CountDownAction(float remainTime)
- {
+ #region Additional oGCD Logic
- return base.CountDownAction(remainTime);
- }
- #endregion
-
- #region Emergency Logic
- // Determines emergency actions to take based on the next planned GCD action.
+ [RotationDesc]
protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
{
- uint SerpentsTailId = AdjustId(SerpentsTailPvE.ID);
- act = null;
- if (FirstLegacyPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && SerpentsTailId == FirstLegacyPvE.ID) return true;
- if (SecondLegacyPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && SerpentsTailId == SecondLegacyPvE.ID) return true;
- if (ThirdLegacyPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && SerpentsTailId == ThirdLegacyPvE.ID) return true;
- if (FourthLegacyPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && SerpentsTailId == FourthLegacyPvE.ID) return true;
- if (TwinfangBitePvE.CanUse(out act) && HaveHuntersVenom) return true;
- if (TwinbloodBitePvE.CanUse(out act) && HaveSwiftVenom) return true;
- if (UncoiledTwinfangPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && HavePoisedFang) return true;
- if (ThisCoil.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && HavePoisedBlood) return true;
+ // Uncoiled Fury Combo
+ if (UncoiledTwinfangPvE.CanUse(out act)) return true;
+ if (UncoiledTwinbloodPvE.CanUse(out act)) return true;
+
+ //AOE Dread Combo
+ if (TwinfangThreshPvE.CanUse(out act)) return true;
+ if (TwinbloodThreshPvE.CanUse(out act)) return true;
+ //Single Target Dread Combo
+ if (TwinfangBitePvE.CanUse(out act)) return true;
+ if (TwinbloodBitePvE.CanUse(out act)) return true;
return base.EmergencyAbility(nextGCD, out act);
}
- #endregion
- #region oGCD Logic
- protected override bool AttackAbility(IAction nextGCD, out IAction? act)
+ [RotationDesc]
+ protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
{
- uint SerpentsTailId = AdjustId(SerpentsTailPvE.ID);
- uint ComboMark = AdjustId(SteelFangsPvE.ID);
- int ComboMark2 = ComboMark == SteelFangsPvE.ID ? 1 : ComboMark == HuntersStingPvE.ID ? 2 : 3;
- act = null;
- if (SerpentsIrePvE.CanUse(out act) && InCombat && RattlingCoilStacks <= 2 && !HaveReawakend) return true;
- if (TwinfangThreshPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && HaveFellHuntersVenom) return true;
- if (TwinbloodThreshPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && HaveFellskintVenom) return true;
-
-
-
-
- if (LastLashPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && SerpentsTailId == LastLashPvE.ID) return true;
- if (DeathRattlePvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && SerpentsTailId == DeathRattlePvE.ID) return true;
-
- if (MergedStatus.HasFlag(AutoStatus.MoveForward) && MoveForwardAbility(nextGCD, out act)) return true;
+ if (SlitherPvE.CanUse(out act)) return true;
return base.AttackAbility(nextGCD, out act);
}
- protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
+ [RotationDesc]
+ protected sealed override bool DefenseAreaAbility(IAction nextGCD, out IAction? act)
{
- act = null;
- if (!IsMoving && SlitherPvE.Target.Target.DistanceToPlayer() > 5)
- {
- if (SlitherPvE.CanUse(out act)) return true;
- }
-
- return base.MoveForwardAbility(nextGCD, out act);
+ if (FeintPvE.CanUse(out act)) return true;
+ return base.DefenseAreaAbility(nextGCD, out act);
}
#endregion
- #region GCD Logic
- protected override bool MoveForwardGCD(out IAction? act)
+ #region oGCD Logic
+ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{
- act = null;
+ //Reawaken Combo
+ if (FirstLegacyPvE.CanUse(out act)) return true;
+ if (SecondLegacyPvE.CanUse(out act)) return true;
+ if (ThirdLegacyPvE.CanUse(out act)) return true;
+ if (FourthLegacyPvE.CanUse(out act)) return true;
+ if (SerpentsIrePvE.CanUse(out act)) return true;
+
+ //Serpent Combo oGCDs
+ if (LastLashPvE.CanUse(out act)) return true;
+ if (DeathRattlePvE.CanUse(out act)) return true;
- return base.MoveForwardGCD(out act);
+ return base.AttackAbility(nextGCD, out act);
}
+ #endregion
+ #region GCD Logic
protected override bool GeneralGCD(out IAction? act)
{
- uint ComboMark = AdjustId(SteelFangsPvE.ID);
- int ComboMark2 = ComboMark == SteelFangsPvE.ID ? 1 : ComboMark == HuntersStingPvE.ID ? 2 : 3;
- uint ComboMark3 = AdjustId(SteelMawPvE.ID);
- int ComboMark4 = ComboMark3== SteelMawPvE.ID ? 1 : ComboMark3 == HuntersBitePvE.ID ? 2 : 3;
- act = null;
-
- if (MyGeneration is 1)
- {
- if (SteelFangsPvE.CanUse(out act)) return true;
- }
- if (MyGeneration is 2)
- {
- if (DreadFangsPvE.CanUse(out act)) return true;
- }
- if (MyGeneration is 3)
- {
- if (HuntersCoilPvE.CanUse(out act, skipComboCheck:true) && DreadCombo is (DreadCombo)9) return true;
- }
- if (MyGeneration is 4)
- {
- if (SwiftskinsCoilPvE.CanUse(out act, skipComboCheck: true) && DreadCombo is (DreadCombo)10) return true;
- }
- if (MyGeneration is 5)
- {
- if (OuroborosPvE.CanUse(out act, skipComboCheck:true, skipCastingCheck:true, skipAoeCheck:true, skipStatusProvideCheck:true)) return true;
- }
-
- //Overcap protection
- if ((DreadwinderPvE.Cooldown.CurrentCharges > 0 || !SerpentsIrePvE.Cooldown.IsCoolingDown) &&
- ((RattlingCoilStacks is 3 && EnhancedVipersRattleTrait.EnoughLevel) ||
- (RattlingCoilStacks is 2 && !EnhancedVipersRattleTrait.EnoughLevel)))
+ if (DreadwinderPvE.Cooldown.CurrentCharges > 0 || !SerpentsIrePvE.Cooldown.IsCoolingDown)
{
- if (UnCoilCoil.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true)) return true;
+ if (UncoiledFuryPvE.CanUse(out act)) return true;
}
-
-
-
-
-
- if (HuntersDenPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && DreadCombo == DreadCombo.PitOfDread) return true;
- if (SwiftskinsDenPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true) && DreadCombo == DreadCombo.HuntersDen) return true;
- if (HuntersCoilPvE.CanUse(out act, skipComboCheck: true) && DreadCombo == DreadCombo.Dreadwinder) return true;
- if (SwiftskinsCoilPvE.CanUse(out act, skipComboCheck: true) && DreadCombo == DreadCombo.HuntersCoil) return true;
-
-
-
-
- //Reawakend Usage
- if ((SerpentOffering >= 50|| Player.HasStatus(true, StatusID.ReadyToReawaken)) && SerpentsIrePvE.Cooldown.RecastTimeRemainOneCharge > (100-SerpentOffering) && (DreadwinderPvE.Cooldown.CurrentCharges == 0 || (DreadwinderPvE.Cooldown.CurrentCharges == 1 && DreadwinderPvE.Cooldown.RecastTimeRemainOneCharge > 10)) &&
- SwiftScaledTime > 10 &&
- HuntersTime > 10 &&
- BloodTime > 10 &&
- !HaveHuntersVenom && !HaveSwiftVenom &&
- !HavePoisedBlood && !HavePoisedFang)
-
+ //Reawaken Combo
+ if (OuroborosPvE.CanUse(out act)) return true;
+ if (FourthGenerationPvE.CanUse(out act)) return true;
+ if (ThirdGenerationPvE.CanUse(out act)) return true;
+ if (SecondGenerationPvE.CanUse(out act)) return true;
+ if (FirstGenerationPvE.CanUse(out act)) return true;
+ if (DreadwinderPvE.Cooldown.CurrentCharges == 0 || (DreadwinderPvE.Cooldown.CurrentCharges == 1 && DreadwinderPvE.Cooldown.RecastTimeRemainOneCharge > 10))
{
- if (ReawakenPvE.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true)) return true;
+ if (ReawakenPvE.CanUse(out act)) return true;
}
-
-
- if (BloodTime <= 20 && BloodTime > 0 && HaveSwiftScaled)
+ if (HostileTarget?.StatusTime(true, StatusID.NoxiousGnash) <= 20 && HostileTarget?.StatusTime(true, StatusID.NoxiousGnash) > 0 && Player.HasStatus(true, StatusID.Swiftscaled, StatusID.Swiftscaled_4121))
{
//Dreadwinder Usage
if (PitOfDreadPvE.CanUse(out act, usedUp: true) && DreadCombo is 0) return true;
if (DreadwinderPvE.CanUse(out act, usedUp: true) && DreadCombo is 0) return true;
+ }
+ //AOE Dread Combo
+ if (HuntersDenPvE.CanUse(out act, skipComboCheck: true)) return true;
+ if (SwiftskinsDenPvE.CanUse(out act, skipComboCheck: true)) return true;
- }
+ if (PitOfDreadPvE.CanUse(out act, usedUp: true)) return true;
+ //Single Target Dread Combo
+ if (HuntersCoilPvE.CanUse(out act, skipComboCheck: true)) return true;
+ if (SwiftskinsCoilPvE.CanUse(out act, skipComboCheck: true)) return true;
- if (ComboMark4 == 3)
- {
- if (HaveGrimSkinVenom)
- {
- if (DreadMawPvE.CanUse(out act)) return true;
- }
-
- if (SteelMawPvE.CanUse(out act)) return true;
-
- }
- if (ComboMark4 == 2)
- {
- if (IsHuntersTimeLessThanSwiftscaled)
- {
- if (SteelMawPvE.CanUse(out act)) return true;
- }
-
- if (DreadMawPvE.CanUse(out act)) return true;
-
- }
- if (ComboMark4 == 1)
- {
- if (BloodTimeAoe)
- {
- if (DreadMawPvE.CanUse(out act)) return true;
-
- }
- if (SteelMawPvE.CanUse(out act)) return true;
-
- }
+ if (DreadwinderPvE.CanUse(out act, usedUp: true)) return true;
- if (ComboMark2 == 3)
- {
-
- if (HaveBaneVenom)
- {
- if (DreadFangsPvE.CanUse(out act)) return true;
- }
-
- if (SteelFangsPvE.CanUse(out act)) return true;
- }
- if (ComboMark2 == 2)
- {
-
- if (HaveFlankingVenom)
- {
- if (SteelFangsPvE.CanUse(out act)) return true;
- }
-
- if (DreadFangsPvE.CanUse(out act)) return true;
- }
- if (ComboMark2 == 1)
- {
- if (BloodTime < 20)
- {
+ //AOE Serpent Combo
+ if (JaggedMawPvE.CanUse(out act, skipStatusProvideCheck: true) && !Player.HasStatus(true, StatusID.GrimhuntersVenom) && !Player.HasStatus(true, StatusID.GrimskinsVenom)) return true;
+ if (JaggedMawPvE.CanUse(out act)) return true;
+ if (BloodiedMawPvE.CanUse(out act)) return true;
- if (DreadFangsPvE.CanUse(out act)) return true;
- }
+ if (HuntersBitePvE.CanUse(out act)) return true;
+ if (SwiftskinsBitePvE.CanUse(out act)) return true;
- if (SteelFangsPvE.CanUse(out act)) return true;
- }
+ if (DreadMawPvE.CanUse(out act)) return true;
+ if (SteelMawPvE.CanUse(out act)) return true;
+ //Single Target Serpent Combo
+ if (FlankstingStrikePvE.CanUse(out act)) return true;
+ if (FlanksbaneFangPvE.CanUse(out act)) return true;
+ if (HindstingStrikePvE.CanUse(out act)) return true;
+ if (HindsbaneFangPvE.CanUse(out act)) return true;
+ if (HuntersStingPvE.CanUse(out act)) return true;
+ if (SwiftskinsStingPvE.CanUse(out act)) return true;
-
-
- if (RattlingCoilStacks > 0 && DreadCombo is (DreadCombo)0 && !Player.HasStatus(true, StatusID.ReadyToReawaken) &&
- !HaveSwiftVenom && !HaveHuntersVenom &&
- HaveSwiftScaled && HaveHuntersInstinct)
- {
- if (UnCoilCoil.CanUse(out act, skipComboCheck: true, skipCastingCheck: true, skipAoeCheck: true, skipStatusProvideCheck: true)) return true;
- }
+ if (DreadFangsPvE.CanUse(out act)) return true;
+ if (SteelFangsPvE.CanUse(out act)) return true;
+ // Uncoiled Fury Combo
+ if (UncoiledFuryPvE.CanUse(out act)) return true;
+
+ //Ranged
if (WrithingSnapPvE.CanUse(out act)) return true;
return base.GeneralGCD(out act);
}
-
- private bool AttackGCD(out IAction? act, bool burst)
- {
- act = null;
-
- return false;
- }
- #endregion
-
- #region Extra Methods
#endregion
- public override void DisplayStatus()
- {
- //motif
- ImGui.Text("debug " + DreadCombo.ToString());
-
- base.DisplayStatus();
- }
}
diff --git a/BasicRotations/PVPRotations/Healer/AST_Default.PVP.cs b/BasicRotations/PVPRotations/Healer/AST_Default.PVP.cs
index c9718c1..c4dccca 100644
--- a/BasicRotations/PVPRotations/Healer/AST_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Healer/AST_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Healer/AST_Default.PVP.cs")]
-[Api(2)]
+[Api(3)]
public class AST_DefaultPVP : AstrologianRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Healer/SCH_Default.PVP.cs b/BasicRotations/PVPRotations/Healer/SCH_Default.PVP.cs
index 5d6835e..72474de 100644
--- a/BasicRotations/PVPRotations/Healer/SCH_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Healer/SCH_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Healer/SCH_Default.PVP.cs")]
-[Api(2)]
+[Api(3)]
public class SCH_DefaultPVP : ScholarRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Healer/SGE_Default.PVP.cs b/BasicRotations/PVPRotations/Healer/SGE_Default.PVP.cs
index 771fd9c..a14afc7 100644
--- a/BasicRotations/PVPRotations/Healer/SGE_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Healer/SGE_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Healer/SGE_Default.PVP.cs")]
-[Api(2)]
+[Api(3)]
public class SGE_DefaultPVP : SageRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Healer/WHM_Default.PVP.cs b/BasicRotations/PVPRotations/Healer/WHM_Default.PVP.cs
index c5fee5b..33b4ac1 100644
--- a/BasicRotations/PVPRotations/Healer/WHM_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Healer/WHM_Default.PVP.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Healer;
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Healer/WHM_Default.PVP.cs")]
-[Api(2)]
+[Api(3)]
public class WHM_DefaultPVP : WhiteMageRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Magical/BLM_Default.PVP.cs b/BasicRotations/PVPRotations/Magical/BLM_Default.PVP.cs
index d90e81e..96c9db3 100644
--- a/BasicRotations/PVPRotations/Magical/BLM_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Magical/BLM_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Magical/BLM_Default.PVP.cs")]
-[Api(2)]
+[Api(3)]
public class BLM_DefaultPVP : BlackMageRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Magical/RDM_Default.PvP.cs b/BasicRotations/PVPRotations/Magical/RDM_Default.PvP.cs
index b49d799..341caf5 100644
--- a/BasicRotations/PVPRotations/Magical/RDM_Default.PvP.cs
+++ b/BasicRotations/PVPRotations/Magical/RDM_Default.PvP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Magical/RDM_Default.PVP.cs")]
-[Api(2)]
+[Api(3)]
public class RDM_DefaultPvP : RedMageRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Magical/SMN_Default.PVP.cs b/BasicRotations/PVPRotations/Magical/SMN_Default.PVP.cs
index b6719fc..ad03565 100644
--- a/BasicRotations/PVPRotations/Magical/SMN_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Magical/SMN_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Magical/SMN_Default.PVP.cs")]
-[Api(2)]
+[Api(3)]
public class SMN_DefaultPvP : SummonerRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Melee/DRG_Default.PVP.cs b/BasicRotations/PVPRotations/Melee/DRG_Default.PVP.cs
index 7bc7bb7..335ecd9 100644
--- a/BasicRotations/PVPRotations/Melee/DRG_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Melee/DRG_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Tank/DRG_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class DRG_DefaultPvP : DragoonRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Melee/MNK_Default.PVP.cs b/BasicRotations/PVPRotations/Melee/MNK_Default.PVP.cs
index 78cb31f..972299d 100644
--- a/BasicRotations/PVPRotations/Melee/MNK_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Melee/MNK_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Melee/MNK_Default.PVP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class MNK_DefaultPvP : MonkRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Melee/NIN_Default.PVP.cs b/BasicRotations/PVPRotations/Melee/NIN_Default.PVP.cs
index c47f6d9..2ebf43b 100644
--- a/BasicRotations/PVPRotations/Melee/NIN_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Melee/NIN_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Tank/NIN_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class NIN_DefaultPvP : NinjaRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Melee/RPR_Default.PVP.cs b/BasicRotations/PVPRotations/Melee/RPR_Default.PVP.cs
index 193fda7..7a0118b 100644
--- a/BasicRotations/PVPRotations/Melee/RPR_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Melee/RPR_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Tank/RPR_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class RPR_DefaultPvP : ReaperRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Melee/SAM_Default.PVP.cs b/BasicRotations/PVPRotations/Melee/SAM_Default.PVP.cs
index 24991be..4624e0d 100644
--- a/BasicRotations/PVPRotations/Melee/SAM_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Melee/SAM_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Tank/SAM_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class SAM_DefaultPvP : SamuraiRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Ranged/BRD_Default.PVP.cs b/BasicRotations/PVPRotations/Ranged/BRD_Default.PVP.cs
index 65204de..58dc2a5 100644
--- a/BasicRotations/PVPRotations/Ranged/BRD_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Ranged/BRD_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Ranged/BRD_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class BRD_DefaultPvP : BardRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Ranged/DNC_Default.PVP.cs b/BasicRotations/PVPRotations/Ranged/DNC_Default.PVP.cs
index 9485e6e..dde8458 100644
--- a/BasicRotations/PVPRotations/Ranged/DNC_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Ranged/DNC_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Ranged/DNC_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class DNC_DefaultPvP : DancerRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Ranged/MCH_Default.PvP.cs b/BasicRotations/PVPRotations/Ranged/MCH_Default.PvP.cs
index 01db33e..4872bb6 100644
--- a/BasicRotations/PVPRotations/Ranged/MCH_Default.PvP.cs
+++ b/BasicRotations/PVPRotations/Ranged/MCH_Default.PvP.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Ranged;
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Ranged/MCH_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class MCH_DefaultPvP : MachinistRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Tank/DRK_Default.PVP.cs b/BasicRotations/PVPRotations/Tank/DRK_Default.PVP.cs
index 61b30dc..8c15017 100644
--- a/BasicRotations/PVPRotations/Tank/DRK_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Tank/DRK_Default.PVP.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Tank;
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Tank/DRK_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class DRK_DefaultPvP : DarkKnightRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Tank/GNB_Default.PVP.cs b/BasicRotations/PVPRotations/Tank/GNB_Default.PVP.cs
index 23db81a..e4c003b 100644
--- a/BasicRotations/PVPRotations/Tank/GNB_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Tank/GNB_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Tank/GNB_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class GNB_DefaultPvP : GunbreakerRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Tank/PLD_Default.PVP.cs b/BasicRotations/PVPRotations/Tank/PLD_Default.PVP.cs
index 8c7cb70..08ae5d5 100644
--- a/BasicRotations/PVPRotations/Tank/PLD_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Tank/PLD_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Tank/PLD_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class PLD_DefaultPvP : PaladinRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/PVPRotations/Tank/WAR_Default.PVP.cs b/BasicRotations/PVPRotations/Tank/WAR_Default.PVP.cs
index 66eceaa..b9a76f6 100644
--- a/BasicRotations/PVPRotations/Tank/WAR_Default.PVP.cs
+++ b/BasicRotations/PVPRotations/Tank/WAR_Default.PVP.cs
@@ -2,7 +2,7 @@
[Rotation("Default PVP", CombatType.PvP, GameVersion = "7.00", Description = "Beta Rotation")]
[SourceCode(Path = "main/DefaultRotations/PVPRotations/Tank/WAR_Default.PvP.cs")]
-[Api(2)]
+[Api(3)]
public sealed class WAR_DefaultPvP : WarriorRotation
{
[RotationConfig(CombatType.PvP, Name = "Sprint")]
diff --git a/BasicRotations/Ranged/BRD_Default.cs b/BasicRotations/Ranged/BRD_Default.cs
index 49da5ef..94b1b3a 100644
--- a/BasicRotations/Ranged/BRD_Default.cs
+++ b/BasicRotations/Ranged/BRD_Default.cs
@@ -3,7 +3,7 @@ namespace DefaultRotations.Ranged;
[Rotation("Default", CombatType.PvE, GameVersion = "7.01",
Description = "Please make sure that the three song times add up to 120 seconds, Wanderers default first song for now.")]
[SourceCode(Path = "main/DefaultRotations/Ranged/BRD_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class BRD_Default : BardRotation
{
#region Config Options
diff --git a/BasicRotations/Ranged/DNC_Default.cs b/BasicRotations/Ranged/DNC_Default.cs
index c6c1a9d..d8fb530 100644
--- a/BasicRotations/Ranged/DNC_Default.cs
+++ b/BasicRotations/Ranged/DNC_Default.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Ranged;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00", Description = "")]
[SourceCode(Path = "main/DefaultRotations/Ranged/DNC_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class DNC_Default : DancerRotation
{
#region Config Options
diff --git a/BasicRotations/Ranged/MCH_Default.cs b/BasicRotations/Ranged/MCH_Default.cs
index cbcdfcd..00b419f 100644
--- a/BasicRotations/Ranged/MCH_Default.cs
+++ b/BasicRotations/Ranged/MCH_Default.cs
@@ -4,7 +4,7 @@ namespace DefaultRotations.Ranged;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00", Description = "")]
[SourceCode(Path = "main/DefaultRotations/Ranged/MCH_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class MCH_Default : MachinistRotation
{
#region Config Options
diff --git a/BasicRotations/RebornRotations.csproj b/BasicRotations/RebornRotations.csproj
index 21b2317..23433d5 100644
--- a/BasicRotations/RebornRotations.csproj
+++ b/BasicRotations/RebornRotations.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/BasicRotations/Tank/DRK_Default.cs b/BasicRotations/Tank/DRK_Default.cs
index a919d1a..760b146 100644
--- a/BasicRotations/Tank/DRK_Default.cs
+++ b/BasicRotations/Tank/DRK_Default.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Tank;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[SourceCode(Path = "main/DefaultRotations/Tank/DRK_Balance.cs")]
-[Api(2)]
+[Api(3)]
public sealed class DRK_Default : DarkKnightRotation
{
#region Config Options
diff --git a/BasicRotations/Tank/GNB_Default.cs b/BasicRotations/Tank/GNB_Default.cs
index f7d1597..1b7b4a9 100644
--- a/BasicRotations/Tank/GNB_Default.cs
+++ b/BasicRotations/Tank/GNB_Default.cs
@@ -2,7 +2,7 @@ namespace DefaultRotations.Tank;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[SourceCode(Path = "main/DefaultRotations/Tank/GNB_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class GNB_Default : GunbreakerRotation
{
#region Countdown Logic
diff --git a/BasicRotations/Tank/PLD_Default.cs b/BasicRotations/Tank/PLD_Default.cs
index 5f10a25..0783106 100644
--- a/BasicRotations/Tank/PLD_Default.cs
+++ b/BasicRotations/Tank/PLD_Default.cs
@@ -2,7 +2,7 @@
[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[SourceCode(Path = "main/DefaultRotations/Tank/PLD_Default.cs")]
-[Api(2)]
+[Api(3)]
public class PLD_Default : PaladinRotation
{
#region Config Options
diff --git a/BasicRotations/Tank/WAR_Default.cs b/BasicRotations/Tank/WAR_Default.cs
index 0699e39..efede2d 100644
--- a/BasicRotations/Tank/WAR_Default.cs
+++ b/BasicRotations/Tank/WAR_Default.cs
@@ -4,7 +4,7 @@ namespace DefaultRotations.Tank;
[Rotation("Default", CombatType.PvE, GameVersion = "7.00", Description = "Additional Contributions from Sascha")]
[SourceCode(Path = "main/DefaultRotations/Tank/WAR_Default.cs")]
-[Api(2)]
+[Api(3)]
public sealed class WAR_Default : WarriorRotation
{
#region Config Options