Skip to content

Commit

Permalink
Adjust cooldowns and streamline Monk action checks
Browse files Browse the repository at this point in the history
Modified `AST_Default` to adjust `DivinationPvE` cooldown check from 45s to 66s for `TheBalancePvE` and `TheSpearPvE`. Simplified `MNK_Default` logic for `TheForbiddenChakraPvE` usage. Updated `MonkRotation` to refine action checks for various abilities based on `Chakra` levels and `Brotherhood` status.
  • Loading branch information
LTS-FFXIV committed Jan 5, 2025
1 parent 1ec3005 commit 5c56b43
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 19 deletions.
4 changes: 2 additions & 2 deletions BasicRotations/Healer/AST_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,8 @@ protected override bool GeneralAbility(IAction nextGCD, out IAction? act)

if (AstralDrawPvE.CanUse(out act)) return true;
if (UmbralDrawPvE.CanUse(out act)) return true;
if ((Player.HasStatus(true, StatusID.Divination) || !DivinationPvE.Cooldown.WillHaveOneCharge(45) || !DivinationPvE.EnoughLevel || UmbralDrawPvE.Cooldown.WillHaveOneCharge(3)) && InCombat && TheBalancePvE.CanUse(out act)) return true;
if ((Player.HasStatus(true, StatusID.Divination) || !DivinationPvE.Cooldown.WillHaveOneCharge(45) || !DivinationPvE.EnoughLevel || AstralDrawPvE.Cooldown.WillHaveOneCharge(3)) && InCombat && TheSpearPvE.CanUse(out act)) return true;
if ((Player.HasStatus(true, StatusID.Divination) || !DivinationPvE.Cooldown.WillHaveOneCharge(66) || !DivinationPvE.EnoughLevel) && InCombat && TheBalancePvE.CanUse(out act)) return true;
if ((Player.HasStatus(true, StatusID.Divination) || !DivinationPvE.Cooldown.WillHaveOneCharge(66) || !DivinationPvE.EnoughLevel) && InCombat && TheSpearPvE.CanUse(out act)) return true;
return base.GeneralAbility(nextGCD, out act);
}

Expand Down
16 changes: 7 additions & 9 deletions BasicRotations/Melee/MNK_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,22 +88,20 @@ protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)

if (InBrotherhood)
{
// 'If you are in brotherhood, and you have 10 chakra, and forbidden chakra is available, use it.'
if (Chakra == 10 && TheForbiddenChakraPvE.CanUse(out act)) return true;
// 'If you are in brotherhood, and forbidden chakra is available, use it regardless of stacks.'
if (Player.WillStatusEndGCD(1, 0, true, StatusID.Brotherhood) && TheForbiddenChakraPvE.CanUse(out act)) return true;
// 'If you are in brotherhood and forbidden chakra is available, use it.'
if (TheForbiddenChakraPvE.CanUse(out act)) return true;
}
if (!InBrotherhood)
{
// 'If you are not in brotherhood, have 5 chakra, and brotherhood is about to be available, hold.'
if (Chakra == 5 && BrotherhoodPvE.Cooldown.WillHaveOneChargeGCD(1) && TheForbiddenChakraPvE.CanUse(out act)) return false;
// 'If you are not in brotherhood, have 5 chakra, and brotherhood is in cooldown, use it.'
if (Chakra == 5 && BrotherhoodPvE.Cooldown.IsCoolingDown && TheForbiddenChakraPvE.CanUse(out act)) return true;
// 'If you are not in brotherhood and brotherhood is about to be available, hold for burst.'
if (BrotherhoodPvE.Cooldown.WillHaveOneChargeGCD(1) && TheForbiddenChakraPvE.CanUse(out act)) return false;
// 'If you are not in brotherhood use it.'
if (TheForbiddenChakraPvE.CanUse(out act)) return true;
}
if (!TheForbiddenChakraPvE.EnoughLevel)
{
// 'If you are not high enough level for TheForbiddenChakra, use immediately at 5 chakra.'
if (Chakra == 5 && SteelPeakPvE.CanUse(out act)) return true;
if (SteelPeakPvE.CanUse(out act)) return true;
}

return base.EmergencyAbility(nextGCD, out act);
Expand Down
16 changes: 8 additions & 8 deletions RotationSolver.Basic/Rotations/Basic/MonkRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,12 @@ static partial void ModifySnapPunchPvE(ref ActionSetting setting)

static partial void ModifySteeledMeditationPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => Chakra < 5;
setting.ActionCheck = () => (!InBrotherhood && Chakra < 5 || InBrotherhood && Chakra < 10);
}

static partial void ModifySteelPeakPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => InCombat && Chakra == 5;
setting.ActionCheck = () => InCombat && (!InBrotherhood && Chakra == 5 || InBrotherhood && Chakra >= 5);
setting.UnlockedByQuestID = 66094;
}

Expand Down Expand Up @@ -134,12 +134,12 @@ static partial void ModifyThunderclapPvE(ref ActionSetting setting)

static partial void ModifyInspiritedMeditationPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => Chakra < 5;
setting.ActionCheck = () => (!InBrotherhood && Chakra < 5 || InBrotherhood && Chakra < 10);
}

static partial void ModifyHowlingFistPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => InCombat && Chakra == 5;
setting.ActionCheck = () => InCombat && (!InBrotherhood && Chakra == 5 || InBrotherhood && Chakra >= 5);
setting.UnlockedByQuestID = 66599;
setting.CreateConfig = () => new ActionConfig()
{
Expand Down Expand Up @@ -189,12 +189,12 @@ static partial void ModifyFormShiftPvE(ref ActionSetting setting)

static partial void ModifyForbiddenMeditationPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => Chakra < 5;
setting.ActionCheck = () => (!InBrotherhood && Chakra < 5 || InBrotherhood && Chakra < 10);
}

static partial void ModifyTheForbiddenChakraPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => InCombat;
setting.ActionCheck = () => InCombat && (!InBrotherhood && Chakra == 5 || InBrotherhood && Chakra >= 5);
setting.UnlockedByQuestID = 67564;
}

Expand Down Expand Up @@ -294,12 +294,12 @@ static partial void ModifyRiddleOfWindPvE(ref ActionSetting setting)

static partial void ModifyEnlightenedMeditationPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => Chakra < 5;
setting.ActionCheck = () => (!InBrotherhood && Chakra < 5 || InBrotherhood && Chakra < 10);
}

static partial void ModifyEnlightenmentPvE(ref ActionSetting setting)
{
setting.ActionCheck = () => InCombat && Chakra == 5;
setting.ActionCheck = () => InCombat && (!InBrotherhood && Chakra == 5 || InBrotherhood && Chakra >= 5);
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 3,
Expand Down

0 comments on commit 5c56b43

Please sign in to comment.