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 #61 from FFXIV-CombatReborn/sub-50-gauss-fix
Browse files Browse the repository at this point in the history
Sub 50 gauss fix
  • Loading branch information
LTS-FFXIV authored Apr 25, 2024
2 parents 7b31c8d + 06d0606 commit e6a1dd7
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions BasicRotations/Ranged/MCH_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,27 +45,29 @@ protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
(!DrillPvE.EnoughLevel && CleanShotPvE.EnoughLevel && nextGCD.IsTheSameTo(true, CleanShotPvE)) ||
//HotShot Logic
(!CleanShotPvE.EnoughLevel && nextGCD.IsTheSameTo(true, HotShotPvE)));

// Keeps Ricochet and Gauss cannon Even
bool isRicochetMore = (GaussRoundPvE.Cooldown.CurrentCharges <= RicochetPvE.Cooldown.CurrentCharges);
bool isGaussMore = (!RicochetPvE.EnoughLevel /*Check to use Gauss below lvl50 */ ||
(GaussRoundPvE.Cooldown.CurrentCharges > RicochetPvE.Cooldown.CurrentCharges));

bool isRicochetMore = RicochetPvE.EnoughLevel && GaussRoundPvE.Cooldown.CurrentCharges <= RicochetPvE.Cooldown.CurrentCharges;
bool isGaussMore = !RicochetPvE.EnoughLevel || GaussRoundPvE.Cooldown.CurrentCharges > RicochetPvE.Cooldown.CurrentCharges;

// Attempt to use Reassemble if it's ready
if (isReassembleUsable)
{
if (ReassemblePvE.CanUse(out act, onLastAbility: true, skipClippingCheck: true, skipComboCheck: true, usedUp: true)) return true;
}

// Use Ricochet
if (isRicochetMore && ((!IsLastAction(true, [GaussRoundPvE, RicochetPvE]) && IsLastGCD(true, HeatBlastPvE)) || !IsLastGCD(true, HeatBlastPvE)))

if (isRicochetMore && ((!IsLastAction(true, new[] { GaussRoundPvE, RicochetPvE }) && IsLastGCD(true, HeatBlastPvE)) || !IsLastGCD(true, HeatBlastPvE)))
{
return RicochetPvE.CanUse(out act, skipAoeCheck: true, usedUp: true);
if (RicochetPvE.CanUse(out act, skipAoeCheck: true, usedUp: true))
return true;
}
// Use Gause
if (isGaussMore && ((!IsLastAction(true, [GaussRoundPvE, RicochetPvE]) && IsLastGCD(true, HeatBlastPvE)) || !IsLastGCD(true, HeatBlastPvE)))

// Use Gauss
if (isGaussMore && ((!IsLastAction(true, new[] { GaussRoundPvE, RicochetPvE }) && IsLastGCD(true, HeatBlastPvE)) || !IsLastGCD(true, HeatBlastPvE)))
{
return GaussRoundPvE.CanUse(out act, usedUp: true);
if (GaussRoundPvE.CanUse(out act, usedUp: true))
return true;
}
return base.EmergencyAbility(nextGCD, out act);
}
Expand Down Expand Up @@ -193,4 +195,4 @@ private bool CanUseHyperchargePvE(out IAction? act)
}
}
#endregion
}
}

0 comments on commit e6a1dd7

Please sign in to comment.