diff --git a/RotationSolver.Basic/Actions/BaseAction_ActionInfo.cs b/RotationSolver.Basic/Actions/BaseAction_ActionInfo.cs index 802517d02..6185ec071 100644 --- a/RotationSolver.Basic/Actions/BaseAction_ActionInfo.cs +++ b/RotationSolver.Basic/Actions/BaseAction_ActionInfo.cs @@ -82,7 +82,7 @@ public unsafe virtual bool CanUse(out IAction act, CanUseOption option = CanUseO } } - if (CastTime > 0 && DataCenter.IsMoving && + if (!option.HasFlag(CanUseOption.IgnoreCastCheck) && CastTime > 0 && DataCenter.IsMoving && !player.HasStatus(true, CustomRotation.Swiftcast.StatusProvide)) return false; if (IsGeneralGCD && IsEot && IsFriendly && IActionHelper.IsLastGCD(true, this) diff --git a/RotationSolver.Basic/Data/CanUseOption.cs b/RotationSolver.Basic/Data/CanUseOption.cs index 21a7f4e6a..d67b2a679 100644 --- a/RotationSolver.Basic/Data/CanUseOption.cs +++ b/RotationSolver.Basic/Data/CanUseOption.cs @@ -30,4 +30,9 @@ public enum CanUseOption : byte /// Ignore the target data. /// IgnoreTarget = 1 << 3, + + /// + /// Ignore the check of casting an action while moving. + /// + IgnoreCastCheck = 1 << 4, }