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

Commit

Permalink
Merge pull request #80 from FFXIV-CombatReborn/Restabilizing-Barrels
Browse files Browse the repository at this point in the history
Barrel Restabilized
  • Loading branch information
Toshi authored May 11, 2024
2 parents 77658e5 + 5543fd0 commit 4d6e926
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions BasicRotations/Ranged/MCH_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ namespace DefaultRotations.Ranged;
public sealed class MCH_Default : MachinistRotation
{
#region Config Options
[RotationConfig(CombatType.PvE, Name = "Uses Rook Autoturret/Automaton Queen immediately whenever you get 50 battery")]
public bool UseQueenWhenever { get; set; } = true;
[RotationConfig(CombatType.PvE, Name = "Skip Queen Logic and uses Rook Autoturret/Automaton Queen immediately whenever you get 50 battery")]
public bool SkipQueenLogic { get; set; } = false;
#endregion

#region Countdown logic
Expand Down Expand Up @@ -76,6 +76,7 @@ protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{
// Define conditions under which the Rook Autoturret/Queen can be used.
bool NoQueenLogic = SkipQueenLogic;
bool OpenerQueen = !CombatElapsedLess(20f) && CombatElapsedLess(25f);
bool CombatTimeQueen = CombatElapsedLess(60f) && !CombatElapsedLess(45f);
bool WildfireCooldownQueen = WildfirePvE.Cooldown.IsCoolingDown && WildfirePvE.Cooldown.ElapsedAfter(105f) && Battery == 100 &&
Expand All @@ -88,7 +89,7 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
// If Wildfire is active, use Hypercharge.....Period
if (Player.HasStatus(true, StatusID.Wildfire_1946))
{
return HyperchargePvE.CanUse(out act, skipClippingCheck: true, skipComboCheck: true);
return HyperchargePvE.CanUse(out act, skipClippingCheck: true);
}
// Burst
if (IsBurst)
Expand All @@ -97,23 +98,18 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)

{
if ((IsLastAbility(false, HyperchargePvE) || Heat >= 50) && !CombatElapsedLess(10) && CanUseHyperchargePvE(out _)
&& !LowLevelHyperCheck && WildfirePvE.CanUse(out act, onLastAbility: true, skipComboCheck: true)) return true;
&& !LowLevelHyperCheck && WildfirePvE.CanUse(out act, onLastAbility: true)) return true;
}
}
// Use Hypercharge if at least 12 seconds of combat and (if wildfire will not be up in 30 seconds or if you hit 100 heat)
if (!LowLevelHyperCheck && !CombatElapsedLess(12) && !Player.HasStatus(true, StatusID.Reassembled) && (!WildfirePvE.Cooldown.WillHaveOneCharge(30) || (Heat == 100)))
{
if (CanUseHyperchargePvE(out act)) return true;
}
// Rook Autoturret/Queen Logic toggle on
if (UseQueenWhenever && (OpenerQueen || CombatTimeQueen || WildfireCooldownQueen || BatteryCheckQueen || LastGCDCheckQueen))
// Rook Autoturret/Queen Logic
if (NoQueenLogic || OpenerQueen || CombatTimeQueen || WildfireCooldownQueen || BatteryCheckQueen || LastGCDCheckQueen)
{
return RookAutoturretPvE.CanUse(out act, skipComboCheck: true);
}
// Rook Autoturret/Queen Logic toggle off
if (!UseQueenWhenever)
{
return RookAutoturretPvE.CanUse(out act, skipComboCheck: true);
if (RookAutoturretPvE.CanUse(out act)) return true;
}
// Use Barrel Stabilizer on CD if won't cap
if (BarrelStabilizerPvE.CanUse(out act)) return true;
Expand Down

0 comments on commit 4d6e926

Please sign in to comment.