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

Commit

Permalink
fix: MNK changed dot and buff usage.
Browse files Browse the repository at this point in the history
  • Loading branch information
ArchiDog1998 committed Mar 27, 2023
1 parent 04c4c2e commit b5e5e11
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions RotationSolver.Default/Melee/MNK_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,20 +37,24 @@ private static bool OpoOpoForm(out IAction act)
return false;
}

private static bool UseLunarPerfectBalance => (HasSolar || BeastChakras.Contains(BeastChakra.COEURL) || BeastChakras.Contains(BeastChakra.RAPTOR))
&& (!Player.WillStatusEndGCD(0, 0, false, StatusID.RiddleOfFire) || Player.HasStatus(false, StatusID.RiddleOfFire) || RiddleOfFire.WillHaveOneChargeGCD(2)) && PerfectBalance.WillHaveOneChargeGCD(3);

private static bool RaptorForm(out IAction act)
{
if (FourPointFury.CanUse(out act)) return true;
if ((Player.WillStatusEndGCD(3, 0, true, StatusID.DisciplinedFist)
|| Player.WillStatusEndGCD(6, 0, true, StatusID.DisciplinedFist)
&& (Player.HasStatus(false, StatusID.RiddleOfFire) || RiddleOfFire.WillHaveOneChargeGCD(3))
) && TwinSnakes.CanUse(out act)) return true;
|| Player.WillStatusEndGCD(7, 0, true, StatusID.DisciplinedFist)
&& UseLunarPerfectBalance) && TwinSnakes.CanUse(out act)) return true;
if (TrueStrike.CanUse(out act)) return true;
return false;
}

private static bool CoerlForm(out IAction act)
{
if (RockBreaker.CanUse(out act)) return true;
if (UseLunarPerfectBalance && Demolish.CanUse(out act, mustUse: true)
&& (Demolish.Target?.WillStatusEndGCD(7, 0, true, StatusID.Demolish) ?? false)) return true;
if (Demolish.CanUse(out act)) return true;
if (SnapPunch.CanUse(out act)) return true;
return false;
Expand Down Expand Up @@ -98,7 +102,7 @@ static bool PerfectBalanceActions(out IAction act)
}
else if (Player.HasStatus(true, StatusID.PerfectBalance) && ElixirField.EnoughLevel)
{
//Some time, no choice
//Sometimes, no choice
if (HasSolar)
{
if (LunarNadi(out act)) return true;
Expand Down Expand Up @@ -163,26 +167,26 @@ protected override bool AttackAbility(byte abilitiesRemaining, out IAction act)
if (abilitiesRemaining == 1 && InCombat)
{
if (UseBurstMedicine(out act)) return true;
if (InBurst && !CombatElapsedLessGCD(2) && RiddleOfFire.CanUse(out act)) return true;
if (InBurst && !CombatElapsedLessGCD(2) && !Player.HasStatus(true, StatusID.RaptorForm) && RiddleOfFire.CanUse(out act)) return true;
}

if (CombatElapsedLessGCD(3)) return false;

if (BeastChakras.Contains(BeastChakra.NONE) && Player.HasStatus(true, StatusID.RaptorForm)
&& (!RiddleOfFire.EnoughLevel || Player.HasStatus(false, StatusID.RiddleOfFire)
|| RiddleOfFire.WillHaveOneChargeGCD(3) && (PerfectBalance.ElapsedAfter(60) || !PerfectBalance.IsCoolingDown)))
&& (!RiddleOfFire.EnoughLevel || Player.HasStatus(false, StatusID.RiddleOfFire)
|| RiddleOfFire.WillHaveOneChargeGCD(2) && (PerfectBalance.ElapsedAfter(60) || !PerfectBalance.IsCoolingDown)))
{
if (PerfectBalance.CanUse(out act, emptyOrSkipCombo: true)) return true;
}

if (Brotherhood.CanUse(out act)) return true;

if (RiddleOfWind.CanUse(out act)) return true;

if (HowlingFist.CanUse(out act)) return true;
if (SteelPeak.CanUse(out act)) return true;
if (HowlingFist.CanUse(out act, mustUse: true)) return true;

if (RiddleOfWind.CanUse(out act)) return true;

return false;
}
}

0 comments on commit b5e5e11

Please sign in to comment.