diff --git a/BasicRotations/Melee/MNK_Default.cs b/BasicRotations/Melee/MNK_Default.cs index 58bfc8113..5575800ed 100644 --- a/BasicRotations/Melee/MNK_Default.cs +++ b/BasicRotations/Melee/MNK_Default.cs @@ -1,3 +1,6 @@ +using System.ComponentModel; +using static DefaultRotations.Magical.SMN_Default; + namespace DefaultRotations.Melee; [Rotation("Default", CombatType.PvE, GameVersion = "7.15", Description = "Uses Lunar Solar Opener from The Balance")] @@ -7,6 +10,14 @@ namespace DefaultRotations.Melee; public sealed class MNK_Default : MonkRotation { #region Config Options + + public enum RiddleOfFireFirst : byte + { + [Description("Brotherhood")] Brotherhood, + + [Description("Perfect Balance")] PerfectBalance, + } + [RotationConfig(CombatType.PvE, Name = "Use Form Shift")] public bool AutoFormShift { get; set; } = true; @@ -21,6 +32,9 @@ public sealed class MNK_Default : MonkRotation [RotationConfig(CombatType.PvE, Name = "Enable TEA Checker.")] public bool EnableTEAChecker { get; set; } = false; + + [RotationConfig(CombatType.PvE, Name = "Use Riddle of Fire after this ability")] + public RiddleOfFireFirst ROFFirst { get; set; } = RiddleOfFireFirst.Brotherhood; #endregion #region Countdown Logic @@ -58,12 +72,30 @@ protected override bool EmergencyAbility(IAction nextGCD, out IAction? act) if (AutoPB_Boss && InCombat && CombatElapsedLess(3) && PerfectBalancePvE.CanUse(out act, usedUp: true)) return true; //if (CombatElapsedLessGCD(1) && TheForbiddenChakraPvE.CanUse(out act)) return true; // if it weaves one day in the future... - // need this to connect the first three buffs - if (IsLastAbility(true, BrotherhoodPvE) && RiddleOfFirePvE.CanUse(out act)) return true; // Riddle Of Fire + if (RiddleOfFirePvE.CanUse(out _)) + { + switch (ROFFirst) + { + case RiddleOfFireFirst.Brotherhood: + default: + if (IsLastAbility(true, BrotherhoodPvE) && RiddleOfFirePvE.CanUse(out act)) return true; + break; + + case RiddleOfFireFirst.PerfectBalance: + if (IsLastAbility(true, PerfectBalancePvE) && RiddleOfFirePvE.CanUse(out act)) return true; + break; + } + } return base.EmergencyAbility(nextGCD, out act); } + protected override bool GeneralAbility(IAction nextGCD, out IAction? act) + { + if (Player.WillStatusEnd(2.5f, true, StatusID.EarthsRumination) && EarthsReplyPvE.CanUse(out act)) return true; + return base.GeneralAbility(nextGCD, out act); + } + [RotationDesc(ActionID.ThunderclapPvE)] protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act) { @@ -81,6 +113,7 @@ protected override bool DefenseAreaAbility(IAction nextGCD, out IAction? act) [RotationDesc(ActionID.MantraPvE)] protected override bool HealAreaAbility(IAction nextGCD, out IAction? act) { + if (EarthsReplyPvE.CanUse(out act)) return true; if (MantraPvE.CanUse(out act)) return true; return base.HealAreaAbility(nextGCD, out act); } diff --git a/ECommons b/ECommons index bbe31e0dd..49aeffa3d 160000 --- a/ECommons +++ b/ECommons @@ -1 +1 @@ -Subproject commit bbe31e0dde50803181b7e3ff10560e6cf3dcee73 +Subproject commit 49aeffa3d7b1c68b1490d9cb5ae832b21d52d0f5