diff --git a/RotationSolver.Basic/Actions/BaseAction/BaseAction_ActionInfo.cs b/RotationSolver.Basic/Actions/BaseAction/BaseAction_ActionInfo.cs index 7d27f457d..669057e97 100644 --- a/RotationSolver.Basic/Actions/BaseAction/BaseAction_ActionInfo.cs +++ b/RotationSolver.Basic/Actions/BaseAction/BaseAction_ActionInfo.cs @@ -22,6 +22,8 @@ public partial class BaseAction public Func ActionCheck { get; set; } = null; + protected virtual bool CheckBadStatus => true; + private bool WillCooldown { get @@ -56,7 +58,7 @@ public unsafe virtual bool CanUse(out IAction act, CanUseOption option = CanUseO if (!option.HasFlag(CanUseOption.SkipDisable) && !IsEnabled) return false; - if (ConfigurationHelper.BadStatus.Contains(ActionManager.Instance()->GetActionStatus(ActionType.Spell, AdjustedID))) + if (CheckBadStatus && ConfigurationHelper.BadStatus.Contains(ActionManager.Instance()->GetActionStatus(ActionType.Spell, AdjustedID))) return false; if (!EnoughLevel) return false; diff --git a/RotationSolver.Basic/Configuration/PluginConfiguration.cs b/RotationSolver.Basic/Configuration/PluginConfiguration.cs index 5394f1b73..e885fa303 100644 --- a/RotationSolver.Basic/Configuration/PluginConfiguration.cs +++ b/RotationSolver.Basic/Configuration/PluginConfiguration.cs @@ -74,7 +74,7 @@ public class PluginConfiguration : IPluginConfiguration public Vector3 MovingTargetColor = new(0f, 1f, 0.8f); public Vector3 TargetColor = new(1f, 0.2f, 0f); public Vector3 SubTargetColor = new(1f, 0.9f, 0f); - public bool KeyBoardNoise = true; + public bool KeyBoardNoise = false; public bool UseGroundBeneficialAbility = true; public bool MoveAreaActionFarthest = true; public bool StartOnCountdown = true; diff --git a/RotationSolver.Basic/Data/ActionID.cs b/RotationSolver.Basic/Data/ActionID.cs index 13470af0e..53ff5e2ba 100644 --- a/RotationSolver.Basic/Data/ActionID.cs +++ b/RotationSolver.Basic/Data/ActionID.cs @@ -1848,6 +1848,8 @@ public enum ActionID : uint /// Ten = 2259, + Ninjutsu = 2260, + /// /// 地之印 /// diff --git a/RotationSolver.Basic/Rotations/Basic/NIN_Base.cs b/RotationSolver.Basic/Rotations/Basic/NIN_Base.cs index be2e6334a..a438fdeb2 100644 --- a/RotationSolver.Basic/Rotations/Basic/NIN_Base.cs +++ b/RotationSolver.Basic/Rotations/Basic/NIN_Base.cs @@ -5,13 +5,12 @@ using RotationSolver.Basic.Data; using RotationSolver.Basic.Helpers; using RotationSolver.Rotations.CustomRotation; -using static FFXIVClientStructs.FFXIV.Client.UI.Misc.ConfigModule; namespace RotationSolver.Basic.Rotations.Basic; public interface INinAction : IBaseAction { - IBaseAction[] Ninjutsus { get; } + IBaseAction[] Ninjutsu { get; } } @@ -36,11 +35,12 @@ public abstract class NIN_Base : CustomRotation public class NinAction : BaseAction, INinAction { - public IBaseAction[] Ninjutsus { get; } - internal NinAction(ActionID actionID, params IBaseAction[] ninjutsus) + protected override bool CheckBadStatus => false; + public IBaseAction[] Ninjutsu { get; } + internal NinAction(ActionID actionID, params IBaseAction[] ninjutsu) : base(actionID, false, false) { - Ninjutsus = ninjutsus; + Ninjutsu = ninjutsu; } } @@ -302,7 +302,6 @@ internal NinAction(ActionID actionID, params IBaseAction[] ninjutsus) public static INinAction Suiton { get; } = new NinAction(ActionID.Suiton, Ten, Chi, Jin) { StatusProvide = new[] { StatusID.Suiton }, - ActionCheck = b => TrickAttack.WillHaveOneChargeGCD(1, 1), }; ///