From 7b30868183d06d7380981e3d94336ddec938c178 Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Fri, 10 Jan 2025 16:00:07 -0600
Subject: [PATCH] Deleted the wrong GNB rotaiton woops resolved
---
BasicRotations/RebornRotations.csproj | 4 +-
BasicRotations/Tank/GNB_Default.cs | 127 +++++++++--------
.../{GNB_Default_Old => GNB_Default_Old2} | 129 +++++++++---------
3 files changed, 131 insertions(+), 129 deletions(-)
rename BasicRotations/Tank/{GNB_Default_Old => GNB_Default_Old2} (69%)
diff --git a/BasicRotations/RebornRotations.csproj b/BasicRotations/RebornRotations.csproj
index a4ddcdbec..e1c2d2739 100644
--- a/BasicRotations/RebornRotations.csproj
+++ b/BasicRotations/RebornRotations.csproj
@@ -26,9 +26,11 @@
-
+
+
+
$(DalamudLibPath)Dalamud.dll
diff --git a/BasicRotations/Tank/GNB_Default.cs b/BasicRotations/Tank/GNB_Default.cs
index 7d9f20050..a9657707c 100644
--- a/BasicRotations/Tank/GNB_Default.cs
+++ b/BasicRotations/Tank/GNB_Default.cs
@@ -1,12 +1,18 @@
-namespace DefaultRotations.Tank;
+namespace DefaultRotations.Tank;
-[Rotation("Beta", CombatType.PvE, GameVersion = "7.15")]
+[Rotation("Default", CombatType.PvE, GameVersion = "7.15")]
[SourceCode(Path = "main/BasicRotations/Tank/GNB_Default.cs")]
[Api(4)]
-public sealed class GNB_Default : GunbreakerRotation
+public sealed class GNB_Default_Old : GunbreakerRotation
{
- #region Countdown Logic
+ #region Config Options
+ [RotationConfig(CombatType.PvE, Name = "Use experimental No Mercy logic for burst")]
+ public bool NoMercyLogic { get; set; } = false;
+ #endregion
+
+ private static bool InBurstStatus => !Player.WillStatusEnd(0, true, StatusID.NoMercy);
+ #region Countdown Logic
protected override IAction? CountDownAction(float remainTime)
{
if (remainTime <= 0.7 && LightningShotPvE.CanUse(out var act)) return act;
@@ -15,33 +21,30 @@ public sealed class GNB_Default : GunbreakerRotation
}
#endregion
- #region Additional oGCD Logic
-
- [RotationDesc]
+ #region oGCD Logic
protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
{
- // Attempt to align Bloodfest with No Mercy during opener
+ if (base.EmergencyAbility(nextGCD, out act)) return true;
+
if (InCombat && CombatElapsedLess(30))
{
if (!CombatElapsedLessGCD(2) && NoMercyPvE.CanUse(out act, skipAoeCheck: true)) return true;
- if (Player.HasStatus(true, StatusID.NoMercy) && BloodfestPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ if (InBurstStatus && BloodfestPvE.CanUse(out act, skipAoeCheck: true)) return true;
}
- return base.EmergencyAbility(nextGCD, out act);
- }
+ if (AbdomenTearPvE.CanUse(out act)) return true;
+ if (EyeGougePvE.CanUse(out act)) return true;
+ if (FatedBrandPvE.CanUse(out act)) return true;
+ if (HypervelocityPvE.CanUse(out act)) return true;
- [RotationDesc(ActionID.TrajectoryPvE)]
- protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
- {
- if (TrajectoryPvE.CanUse(out act)) return true;
- return base.MoveForwardAbility(nextGCD, out act);
+ return base.EmergencyAbility(nextGCD, out act);
}
[RotationDesc(ActionID.HeartOfLightPvE, ActionID.ReprisalPvE)]
- protected sealed override bool DefenseAreaAbility(IAction nextGCD, out IAction? act)
+ protected override bool DefenseAreaAbility(IAction nextGCD, out IAction? act)
{
- if (!Player.HasStatus(true, StatusID.NoMercy) && HeartOfLightPvE.CanUse(out act, skipAoeCheck: true)) return true;
- if (!Player.HasStatus(true, StatusID.NoMercy) && ReprisalPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ if (!InBurstStatus && HeartOfLightPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ if (!InBurstStatus && ReprisalPvE.CanUse(out act, skipAoeCheck: true)) return true;
return base.DefenseAreaAbility(nextGCD, out act);
}
@@ -69,21 +72,11 @@ protected override bool HealSingleAbility(IAction nextGCD, out IAction? act)
if (AuroraPvE.CanUse(out act, usedUp: true)) return true;
return base.HealSingleAbility(nextGCD, out act);
}
- #endregion
-
- #region oGCD Logic
-
- protected override bool GeneralAbility(IAction nextGCD, out IAction? act)
- {
- if (!CombatElapsedLessGCD(5) && NoMercyPvE.CanUse(out act, skipAoeCheck: true)) return true;
- return base.GeneralAbility(nextGCD, out act);
- }
-
protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{
- //if (IsBurst && CanUseNoMercy(out act)) return true;
+ if (NoMercyLogic && IsBurst && CanUseNoMercy(out act)) return true;
- if (!CombatElapsedLessGCD(5) && NoMercyPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ if (!NoMercyLogic && !CombatElapsedLessGCD(5) && NoMercyPvE.CanUse(out act, skipAoeCheck: true)) return true;
if (JugularRipPvE.CanUse(out act)) return true;
@@ -92,48 +85,47 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
if (!IsFullParty && !(DangerZonePvE.Target.Target?.IsBossFromTTK() ?? false)) return true;
- if (!GnashingFangPvE.EnoughLevel && (Player.HasStatus(true, StatusID.NoMercy) || !NoMercyPvE.Cooldown.WillHaveOneCharge(15))) return true;
+ if (!GnashingFangPvE.EnoughLevel && (InBurstStatus || !NoMercyPvE.Cooldown.WillHaveOneCharge(15))) return true;
- if (Player.HasStatus(true, StatusID.NoMercy) && GnashingFangPvE.Cooldown.IsCoolingDown) return true;
+ if (InBurstStatus && GnashingFangPvE.Cooldown.IsCoolingDown) return true;
- if (!Player.HasStatus(true, StatusID.NoMercy) && !GnashingFangPvE.Cooldown.WillHaveOneCharge(20)) return true;
+ if (!InBurstStatus && !GnashingFangPvE.Cooldown.WillHaveOneCharge(20)) return true;
}
- if (Player.HasStatus(true, StatusID.NoMercy) && CanUseBowShock(out act)) return true;
+ if (InBurstStatus && CanUseBowShock(out act)) return true;
//if (TrajectoryPvE.CanUse(out act) && !IsMoving) return true;
if (GnashingFangPvE.Cooldown.IsCoolingDown && DoubleDownPvE.Cooldown.IsCoolingDown && Ammo == 0 && BloodfestPvE.CanUse(out act)) return true;
- if (AbdomenTearPvE.CanUse(out act)) return true;
- if (EyeGougePvE.CanUse(out act)) return true;
- if (FatedBrandPvE.CanUse(out act)) return true;
- if (HypervelocityPvE.CanUse(out act)) return true;
+ bool areDDTargetsInRange = AllHostileTargets.Any(hostile => hostile.DistanceToPlayer() < 4.5f);
+
+ if (areDDTargetsInRange)
+ {
+ if (InBurstStatus && IsLastGCD(ActionID.DoubleDownPvE) && BlastingZonePvE.CanUse(out act)) return true;
+ }
+ if (NoMercyPvE.Cooldown.IsCoolingDown && BloodfestPvE.Cooldown.IsCoolingDown && BlastingZonePvE.CanUse(out act)) return true;
return base.AttackAbility(nextGCD, out act);
}
#endregion
#region GCD Logic
-
protected override bool GeneralGCD(out IAction? act)
{
bool areDDTargetsInRange = AllHostileTargets.Any(hostile => hostile.DistanceToPlayer() < 4.5f);
- if (Player.HasStatus(true, StatusID.NoMercy) && BloodfestPvE.CanUse(out act)) return true;
+ if (InBurstStatus && BloodfestPvE.CanUse(out act)) return true;
if (IsLastGCD(false, NobleBloodPvE) && LionHeartPvE.CanUse(out act, skipComboCheck: true)) return true;
if (IsLastGCD(false, ReignOfBeastsPvE) && NobleBloodPvE.CanUse(out act, skipComboCheck: true)) return true;
- if (ReignOfBeastsPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ if (!InGnashingFang && ReignOfBeastsPvE.CanUse(out act, skipAoeCheck: true)) return true;
- if (Player.HasStatus(true, StatusID.NoMercy) && SonicBreakPvE.CanUse(out act)) return true;
+ if (InBurstStatus && SonicBreakPvE.CanUse(out act)) return true;
if (areDDTargetsInRange)
{
- if (Player.HasStatus(true, StatusID.NoMercy) && CanUseDoubleDown(out act)) return true;
- if (Player.HasStatus(true, StatusID.NoMercy) && IsLastGCD(ActionID.DoubleDownPvE) && BlastingZonePvE.CanUse(out act)) return true;
+ if (InBurstStatus && CanUseDoubleDown(out act)) return true;
}
- if (NoMercyPvE.Cooldown.IsCoolingDown && BloodfestPvE.Cooldown.IsCoolingDown && BlastingZonePvE.CanUse(out act)) return true;
-
if (CanUseGnashingFang(out act)) return true;
if (SavageClawPvE.CanUse(out act, skipComboCheck: true)) return true;
@@ -147,15 +139,17 @@ protected override bool GeneralGCD(out IAction? act)
if (Ammo == MaxAmmo && IsLastGCD(ActionID.BrutalShellPvE) && BurstStrikePvE.CanUse(out act)) return true;
- if (SolidBarrelPvE.CanUse(out act)) return true;
- if (BrutalShellPvE.CanUse(out act)) return true;
- if (KeenEdgePvE.CanUse(out act)) return true;
+ if (!InGnashingFang)
+ {
+ if (SolidBarrelPvE.CanUse(out act)) return true;
+ if (BrutalShellPvE.CanUse(out act)) return true;
+ if (KeenEdgePvE.CanUse(out act)) return true;
+ }
if (LightningShotPvE.CanUse(out act)) return true;
return base.GeneralGCD(out act);
}
-
#endregion
#region Extra Methods
@@ -163,24 +157,25 @@ protected override bool GeneralGCD(out IAction? act)
public override bool CanHealAreaSpell => false;
- //private bool CanUseNoMercy(out IAction act)
- //{
- // if (!NoMercy.CanUse(out act, CanUseOption.OnLastAbility)) return false;
+ private bool CanUseNoMercy(out IAction act)
+ {
+ var IsTargetBoss = HostileTarget?.IsBossFromIcon() ?? false;
- // if (!IsFullParty && !IsTargetBoss && !IsMoving && DemonSlice.CanUse(out _)) return true;
+ if (!NoMercyPvE.CanUse(out act)) return false;
- // if (!BurstStrike.EnoughLevel) return true;
+ if (!IsFullParty && !IsTargetBoss && !IsMoving && DemonSlicePvE.CanUse(out _)) return true;
- // if (BurstStrike.EnoughLevel)
- // {
- // if (IsLastGCD((ActionID)KeenEdge.ID) && Ammo == 1 && !GnashingFang.IsCoolingDown && !BloodFest.IsCoolingDown) return true;
- // else if (Ammo == (Level >= 88 ? 3 : 2)) return true;
- // else if (Ammo == 2 && GnashingFang.IsCoolingDown) return true;
- // }
+ if (!BurstStrikePvE.EnoughLevel) return true;
- // act = null;
- // return false;
- //}
+ if (BurstStrikePvE.EnoughLevel)
+ {
+ if (IsLastGCD(ActionID.KeenEdgePvE) && Ammo == 1 && !GnashingFangPvE.Cooldown.IsCoolingDown && !BloodfestPvE.Cooldown.IsCoolingDown) return true;
+ else if (Ammo == MaxAmmo) return true;
+ else if (Ammo == 2 && GnashingFangPvE.Cooldown.IsCoolingDown) return true;
+ }
+
+ return false;
+ }
private bool CanUseGnashingFang(out IAction? act)
{
@@ -263,4 +258,4 @@ private bool CanUseBowShock(out IAction act)
return false;
}
#endregion
-}
+}
\ No newline at end of file
diff --git a/BasicRotations/Tank/GNB_Default_Old b/BasicRotations/Tank/GNB_Default_Old2
similarity index 69%
rename from BasicRotations/Tank/GNB_Default_Old
rename to BasicRotations/Tank/GNB_Default_Old2
index a9657707c..b179d1640 100644
--- a/BasicRotations/Tank/GNB_Default_Old
+++ b/BasicRotations/Tank/GNB_Default_Old2
@@ -1,18 +1,12 @@
-namespace DefaultRotations.Tank;
+namespace DefaultRotations.Tank;
-[Rotation("Default", CombatType.PvE, GameVersion = "7.15")]
-[SourceCode(Path = "main/BasicRotations/Tank/GNB_Default.cs")]
+[Rotation("Old", CombatType.PvE, GameVersion = "7.15")]
+[SourceCode(Path = "main/BasicRotations/Tank/GNB_Default_old2.cs")]
[Api(4)]
-public sealed class GNB_Default_Old : GunbreakerRotation
+public sealed class GNB_Default_old2 : GunbreakerRotation
{
- #region Config Options
- [RotationConfig(CombatType.PvE, Name = "Use experimental No Mercy logic for burst")]
- public bool NoMercyLogic { get; set; } = false;
- #endregion
-
- private static bool InBurstStatus => !Player.WillStatusEnd(0, true, StatusID.NoMercy);
-
#region Countdown Logic
+
protected override IAction? CountDownAction(float remainTime)
{
if (remainTime <= 0.7 && LightningShotPvE.CanUse(out var act)) return act;
@@ -21,30 +15,33 @@ public sealed class GNB_Default_Old : GunbreakerRotation
}
#endregion
- #region oGCD Logic
+ #region Additional oGCD Logic
+
+ [RotationDesc]
protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
{
- if (base.EmergencyAbility(nextGCD, out act)) return true;
-
+ // Attempt to align Bloodfest with No Mercy during opener
if (InCombat && CombatElapsedLess(30))
{
if (!CombatElapsedLessGCD(2) && NoMercyPvE.CanUse(out act, skipAoeCheck: true)) return true;
- if (InBurstStatus && BloodfestPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ if (Player.HasStatus(true, StatusID.NoMercy) && BloodfestPvE.CanUse(out act, skipAoeCheck: true)) return true;
}
- if (AbdomenTearPvE.CanUse(out act)) return true;
- if (EyeGougePvE.CanUse(out act)) return true;
- if (FatedBrandPvE.CanUse(out act)) return true;
- if (HypervelocityPvE.CanUse(out act)) return true;
-
return base.EmergencyAbility(nextGCD, out act);
}
+ [RotationDesc(ActionID.TrajectoryPvE)]
+ protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
+ {
+ if (TrajectoryPvE.CanUse(out act)) return true;
+ return base.MoveForwardAbility(nextGCD, out act);
+ }
+
[RotationDesc(ActionID.HeartOfLightPvE, ActionID.ReprisalPvE)]
- protected override bool DefenseAreaAbility(IAction nextGCD, out IAction? act)
+ protected sealed override bool DefenseAreaAbility(IAction nextGCD, out IAction? act)
{
- if (!InBurstStatus && HeartOfLightPvE.CanUse(out act, skipAoeCheck: true)) return true;
- if (!InBurstStatus && ReprisalPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ if (!Player.HasStatus(true, StatusID.NoMercy) && HeartOfLightPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ if (!Player.HasStatus(true, StatusID.NoMercy) && ReprisalPvE.CanUse(out act, skipAoeCheck: true)) return true;
return base.DefenseAreaAbility(nextGCD, out act);
}
@@ -72,11 +69,21 @@ public sealed class GNB_Default_Old : GunbreakerRotation
if (AuroraPvE.CanUse(out act, usedUp: true)) return true;
return base.HealSingleAbility(nextGCD, out act);
}
+ #endregion
+
+ #region oGCD Logic
+
+ protected override bool GeneralAbility(IAction nextGCD, out IAction? act)
+ {
+ if (!CombatElapsedLessGCD(5) && NoMercyPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ return base.GeneralAbility(nextGCD, out act);
+ }
+
protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{
- if (NoMercyLogic && IsBurst && CanUseNoMercy(out act)) return true;
+ //if (IsBurst && CanUseNoMercy(out act)) return true;
- if (!NoMercyLogic && !CombatElapsedLessGCD(5) && NoMercyPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ if (!CombatElapsedLessGCD(5) && NoMercyPvE.CanUse(out act, skipAoeCheck: true)) return true;
if (JugularRipPvE.CanUse(out act)) return true;
@@ -85,47 +92,48 @@ public sealed class GNB_Default_Old : GunbreakerRotation
if (!IsFullParty && !(DangerZonePvE.Target.Target?.IsBossFromTTK() ?? false)) return true;
- if (!GnashingFangPvE.EnoughLevel && (InBurstStatus || !NoMercyPvE.Cooldown.WillHaveOneCharge(15))) return true;
+ if (!GnashingFangPvE.EnoughLevel && (Player.HasStatus(true, StatusID.NoMercy) || !NoMercyPvE.Cooldown.WillHaveOneCharge(15))) return true;
- if (InBurstStatus && GnashingFangPvE.Cooldown.IsCoolingDown) return true;
+ if (Player.HasStatus(true, StatusID.NoMercy) && GnashingFangPvE.Cooldown.IsCoolingDown) return true;
- if (!InBurstStatus && !GnashingFangPvE.Cooldown.WillHaveOneCharge(20)) return true;
+ if (!Player.HasStatus(true, StatusID.NoMercy) && !GnashingFangPvE.Cooldown.WillHaveOneCharge(20)) return true;
}
- if (InBurstStatus && CanUseBowShock(out act)) return true;
+ if (Player.HasStatus(true, StatusID.NoMercy) && CanUseBowShock(out act)) return true;
//if (TrajectoryPvE.CanUse(out act) && !IsMoving) return true;
if (GnashingFangPvE.Cooldown.IsCoolingDown && DoubleDownPvE.Cooldown.IsCoolingDown && Ammo == 0 && BloodfestPvE.CanUse(out act)) return true;
- bool areDDTargetsInRange = AllHostileTargets.Any(hostile => hostile.DistanceToPlayer() < 4.5f);
-
- if (areDDTargetsInRange)
- {
- if (InBurstStatus && IsLastGCD(ActionID.DoubleDownPvE) && BlastingZonePvE.CanUse(out act)) return true;
- }
- if (NoMercyPvE.Cooldown.IsCoolingDown && BloodfestPvE.Cooldown.IsCoolingDown && BlastingZonePvE.CanUse(out act)) return true;
+ if (AbdomenTearPvE.CanUse(out act)) return true;
+ if (EyeGougePvE.CanUse(out act)) return true;
+ if (FatedBrandPvE.CanUse(out act)) return true;
+ if (HypervelocityPvE.CanUse(out act)) return true;
return base.AttackAbility(nextGCD, out act);
}
#endregion
#region GCD Logic
+
protected override bool GeneralGCD(out IAction? act)
{
bool areDDTargetsInRange = AllHostileTargets.Any(hostile => hostile.DistanceToPlayer() < 4.5f);
- if (InBurstStatus && BloodfestPvE.CanUse(out act)) return true;
+ if (Player.HasStatus(true, StatusID.NoMercy) && BloodfestPvE.CanUse(out act)) return true;
if (IsLastGCD(false, NobleBloodPvE) && LionHeartPvE.CanUse(out act, skipComboCheck: true)) return true;
if (IsLastGCD(false, ReignOfBeastsPvE) && NobleBloodPvE.CanUse(out act, skipComboCheck: true)) return true;
- if (!InGnashingFang && ReignOfBeastsPvE.CanUse(out act, skipAoeCheck: true)) return true;
+ if (ReignOfBeastsPvE.CanUse(out act, skipAoeCheck: true)) return true;
- if (InBurstStatus && SonicBreakPvE.CanUse(out act)) return true;
+ if (Player.HasStatus(true, StatusID.NoMercy) && SonicBreakPvE.CanUse(out act)) return true;
if (areDDTargetsInRange)
{
- if (InBurstStatus && CanUseDoubleDown(out act)) return true;
+ if (Player.HasStatus(true, StatusID.NoMercy) && CanUseDoubleDown(out act)) return true;
+ if (Player.HasStatus(true, StatusID.NoMercy) && IsLastGCD(ActionID.DoubleDownPvE) && BlastingZonePvE.CanUse(out act)) return true;
}
+ if (NoMercyPvE.Cooldown.IsCoolingDown && BloodfestPvE.Cooldown.IsCoolingDown && BlastingZonePvE.CanUse(out act)) return true;
+
if (CanUseGnashingFang(out act)) return true;
if (SavageClawPvE.CanUse(out act, skipComboCheck: true)) return true;
@@ -139,17 +147,15 @@ public sealed class GNB_Default_Old : GunbreakerRotation
if (Ammo == MaxAmmo && IsLastGCD(ActionID.BrutalShellPvE) && BurstStrikePvE.CanUse(out act)) return true;
- if (!InGnashingFang)
- {
- if (SolidBarrelPvE.CanUse(out act)) return true;
- if (BrutalShellPvE.CanUse(out act)) return true;
- if (KeenEdgePvE.CanUse(out act)) return true;
- }
+ if (SolidBarrelPvE.CanUse(out act)) return true;
+ if (BrutalShellPvE.CanUse(out act)) return true;
+ if (KeenEdgePvE.CanUse(out act)) return true;
if (LightningShotPvE.CanUse(out act)) return true;
return base.GeneralGCD(out act);
}
+
#endregion
#region Extra Methods
@@ -157,25 +163,24 @@ public sealed class GNB_Default_Old : GunbreakerRotation
public override bool CanHealAreaSpell => false;
- private bool CanUseNoMercy(out IAction act)
- {
- var IsTargetBoss = HostileTarget?.IsBossFromIcon() ?? false;
+ //private bool CanUseNoMercy(out IAction act)
+ //{
+ // if (!NoMercy.CanUse(out act, CanUseOption.OnLastAbility)) return false;
- if (!NoMercyPvE.CanUse(out act)) return false;
+ // if (!IsFullParty && !IsTargetBoss && !IsMoving && DemonSlice.CanUse(out _)) return true;
- if (!IsFullParty && !IsTargetBoss && !IsMoving && DemonSlicePvE.CanUse(out _)) return true;
+ // if (!BurstStrike.EnoughLevel) return true;
- if (!BurstStrikePvE.EnoughLevel) return true;
+ // if (BurstStrike.EnoughLevel)
+ // {
+ // if (IsLastGCD((ActionID)KeenEdge.ID) && Ammo == 1 && !GnashingFang.IsCoolingDown && !BloodFest.IsCoolingDown) return true;
+ // else if (Ammo == (Level >= 88 ? 3 : 2)) return true;
+ // else if (Ammo == 2 && GnashingFang.IsCoolingDown) return true;
+ // }
- if (BurstStrikePvE.EnoughLevel)
- {
- if (IsLastGCD(ActionID.KeenEdgePvE) && Ammo == 1 && !GnashingFangPvE.Cooldown.IsCoolingDown && !BloodfestPvE.Cooldown.IsCoolingDown) return true;
- else if (Ammo == MaxAmmo) return true;
- else if (Ammo == 2 && GnashingFangPvE.Cooldown.IsCoolingDown) return true;
- }
-
- return false;
- }
+ // act = null;
+ // return false;
+ //}
private bool CanUseGnashingFang(out IAction? act)
{
@@ -258,4 +263,4 @@ public sealed class GNB_Default_Old : GunbreakerRotation
return false;
}
#endregion
-}
\ No newline at end of file
+}