PokéRogue
    Preparing search index...

    Class MoveAbstract

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    _category: MoveCategory
    accuracy: number
    attrs: MoveAttr[] = []
    chance: number

    The chance of a move's secondary effects activating

    conditions: MoveCondition[] = []

    Conditions that must be met for the move to succeed when it is used.

    These are the default conditions checked during the move effect phase (aka sequence 4). When adding a new condition, if unsure of where it occurs in the failure checks, it should go here.

    Different from restrictions, which are checked when the move is selected

    conditionsSeq2: MoveCondition[] = []

    Move failure conditions that occur during the second sequence (after move message but before the move is recorded as the last move used)

    conditionsSeq3: MoveCondition[] = []

    Move failure conditions that occur during the third sequence (after accuracy and before move effects).

    List of move-based conditions that occur in this sequence:

    • Battle mechanics research conducted by Smogon and manual checks from SirzBenjie
    • Steel Roller with no terrain
    • Follow Me / Rage Powder failing due to being used in single battle
    • Stockpile with >= 3 stacks already
    • Spit up / swallow with 0 stockpiles
    • Counter / Mirror Coat / Metal Burst with no damage taken from enemies this turn
    • Last resort's bespoke failure conditions
    • Snore while not asleep
    • Sucker punch failling due to the target having already used their selected move or not having selected a damaging move
    • Magic Coat failing due to being used as the last move in the turn
    • Protect-like moves failing due to consecutive use or being the last move in the turn
    • First turn moves (e.g. mat block, fake out) failing due to not being used on first turn
    • Rest failing due, in this order, to already being asleep (including from comatose), under the effect of heal block, being full hp, having insomnia / vital spirit
    • Teleport failing when used by a wild pokemon that can't use it to flee (because it is trapped, in a double battle, etc) or used by a trainer pokemon with no pokemon to switch to
    • Fling with no usable item (not done as Pokerogue does not yet implement fling)
    • Magnet rise failing while under the effect of ingrain, smack down, or gravity (gravity check not done as redundant with sequence 1)
    • Splash failing when gravity is in effect (Not done in Pokerogue as this is redundant with the check that occurs during sequence 1)
    • Stuff cheeks with no berry
    • Destiny bond failing on consecutive use
    • Quick Guard / Wide Guard failing due to being used as the last move in the turn
    • Ally switch's chance to fail on consecutive use
    • Species specific moves (like hyperspace fury, aura wheel, dark void) being used by a pokemon that is not hoopa (Not applicable to Pokerogue, which permits this)
    • Poltergeist against a target with no item
    • Shell Trap failing due to not being hit by a physical move
    • Aurora veil failing due to no hail
    • Clangorous soul and Fillet Awayfailing due to insufficient HP
    • Upper hand failing due to the target not selecting a priority move
    • (Various moves that fail when used against titans / raid bosses, not listed as pokerogue does not yet implement each)
    effect: string
    flags: number = 0

    The move's MoveFlags

    generation: number
    id: MoveId
    moveTarget: MoveTarget
    name: string
    nameAppend: string = ""
    power: number
    pp: number
    priority: number
    restrictions: MoveRestriction[] = []

    Conditions that must be false for a move to be able to be selected.

    Different from conditions, which is checked when the move is invoked

    Accessors

    Methods

    • Adds a new MoveAttr to this move (appends to the attr array). If the MoveAttr also comes with a condition, it is added to its MoveCondition array.

      Similar to attr, except this takes an already instantiated MoveAttr object as opposed to a constructor and its arguments.

      Parameters

      Returns this

      this

    • Applies each MoveCondition function of this move to the params, determines if the move can be used prior to calling each attribute's apply()

      Parameters

      • user: Pokemon

        Pokemon to apply conditions to

      • target: Pokemon

        Pokemon to apply conditions to

      • sequence: -1 | 2 | 3 | 4 = 4

        The sequence number where the condition check occurs, or -1 to check all; defaults to 4. Pass -1 to check all

      Returns boolean

      boolean: false if any of the apply()'s return false, else true

    • Calculates the accuracy of a move in battle based on various conditions and attributes.

      Parameters

      • user: Pokemon

        Pokemon The Pokémon using the move.

      • target: Pokemon

        Pokemon The Pokémon being targeted by the move.

      • simulated: boolean = false

      Returns number

      The calculated accuracy of the move.

    • Calculates the power of a move in battle based on various conditions and attributes.

      Parameters

      • source: Pokemon

        Pokemon The Pokémon using the move.

      • target: Pokemon

        Pokemon The Pokémon being targeted by the move.

      • simulated: boolean = false

      Returns number

      The calculated power of the move.

    • Calculate the Expected Power per turn of this move, taking into account multi hit moves, accuracy, and the number of turns it takes to execute.

      Does not (yet) consider the current field effects or the user's abilities.

      Returns number

    • Returns true if this move can be given additional strikes by enhancing effects. Currently used for Parental Bond and Multi-Lens.

      Parameters

      • user: Pokemon

        The Pokemon using the move

      • restrictSpread: boolean = false

        true if the enhancing effect should not affect multi-target moves (default false)

      Returns boolean

    • Determine whether the move is restricted from being selected due to its own requirements.

      Parameters

      • user: Pokemon

        The Pokemon using the move

      Returns [isUsable: boolean, restrictionMessage: string]

      • An array whose first element is false if the move is restricted, and the second element is a string with the reason for the restriction, otherwise, true and the empty string.

      Does not check for external factors that prohibit move selection, such as disable

    • Checks if the move flag applies to the pokemon(s) using/receiving the move

      This method will take the user's ability into account when reporting flags, e.g. calling this method for MAKES_CONTACT will return false if the user has a AbilityId.LONG_REACH that is not being suppressed.

      Note: This method only checks if the move should have effectively have the flag applied to its use. It does not check whether the flag will trigger related effects. For example using this method to check MoveFlags.WIND_MOVE will not consider Wind Rider .

      To simply check whether the move has a flag, use hasFlag.

      Parameters

      Returns boolean

      boolean

    • Mark a move as having one or more edge cases. The move may lack certain niche interactions with other moves/abilities, but still functions as intended in most cases.

      When using this, make sure to document the edge case (or else this becomes pointless).

      Returns this

      this

    • Find the first attribute that matches a given predicate function.

      Parameters

      • attrPredicate: (attr: MoveAttr) => boolean

        The predicate function to search MoveAttrs by

      Returns MoveAttr

      The first MoveAttr for which attrPredicate returns true

    • Get all move attributes that match attrType.

      Type Parameters

      • T extends
            | "MoveEffectAttr"
            | "MoveHeaderAttr"
            | "MessageHeaderAttr"
            | "AddBattlerTagAttr"
            | "AddBattlerTagHeaderAttr"
            | "BeakBlastHeaderAttr"
            | "PreMoveMessageAttr"
            | "PreUseInterruptAttr"
            | "RespectAttackTypeImmunityAttr"
            | "IgnoreOpponentStatStagesAttr"
            | "HighCritAttr"
            | "CritOnlyAttr"
            | "FixedDamageAttr"
            | "UserHpDamageAttr"
            | "TargetHalfHpDamageAttr"
            | "MatchHpAttr"
            | "CounterDamageAttr"
            | "CounterRedirectAttr"
            | "LevelDamageAttr"
            | "RandomLevelDamageAttr"
            | "ModifiedDamageAttr"
            | "SurviveDamageAttr"
            | "RecoilAttr"
            | "SacrificialAttr"
            | "SacrificialAttrOnHit"
            | "HalfSacrificialAttr"
            | "AddSubstituteAttr"
            | "HealAttr"
            | "PartyStatusCureAttr"
            | "FlameBurstAttr"
            | "SacrificialFullRestoreAttr"
            | "IgnoreWeatherTypeDebuffAttr"
            | "WeatherHealAttr"
            | "PlantHealAttr"
            | "SandHealAttr"
            | "BoostHealAttr"
            | "HealOnAllyAttr"
            | "HitHealAttr"
            | "IncrementMovePriorityAttr"
            | "MultiHitAttr"
            | "ChangeMultiHitTypeAttr"
            | "WaterShurikenMultiHitTypeAttr"
            | "StatusEffectAttr"
            | "MultiStatusEffectAttr"
            | "PsychoShiftEffectAttr"
            | "StealHeldItemChanceAttr"
            | "RemoveHeldItemAttr"
            | "EatBerryAttr"
            | "StealEatBerryAttr"
            | "HealStatusEffectAttr"
            | "BypassSleepAttr"
            | "BypassBurnDamageReductionAttr"
            | "WeatherChangeAttr"
            | "ClearWeatherAttr"
            | "TerrainChangeAttr"
            | "ClearTerrainAttr"
            | "OneHitKOAttr"
            | "InstantChargeAttr"
            | "WeatherInstantChargeAttr"
            | "OverrideMoveEffectAttr"
            | "DelayedAttackAttr"
            | "AwaitCombinedPledgeAttr"
            | "StatStageChangeAttr"
            | "SecretPowerAttr"
            | "PostVictoryStatStageChangeAttr"
            | "AcupressureStatStageChangeAttr"
            | "GrowthStatStageChangeAttr"
            | "CutHpStatStageBoostAttr"
            | "OrderUpStatBoostAttr"
            | "CopyStatsAttr"
            | "InvertStatsAttr"
            | "ResetStatsAttr"
            | "SwapStatStagesAttr"
            | "HpSplitAttr"
            | "VariablePowerAttr"
            | "LessPPMorePowerAttr"
            | "MovePowerMultiplierAttr"
            | "BeatUpAttr"
            | "DoublePowerChanceAttr"
            | "ConsecutiveUsePowerMultiplierAttr"
            | "ConsecutiveUseDoublePowerAttr"
            | "ConsecutiveUseMultiBasePowerAttr"
            | "WeightPowerAttr"
            | "ElectroBallPowerAttr"
            | "GyroBallPowerAttr"
            | "LowHpPowerAttr"
            | "CompareWeightPowerAttr"
            | "HpPowerAttr"
            | "OpponentHighHpPowerAttr"
            | "TurnDamagedDoublePowerAttr"
            | "MagnitudePowerAttr"
            | "AntiSunlightPowerDecreaseAttr"
            | "FriendshipPowerAttr"
            | "RageFistPowerAttr"
            | "PositiveStatStagePowerAttr"
            | "PunishmentPowerAttr"
            | "PresentPowerAttr"
            | "WaterShurikenPowerAttr"
            | "SpitUpPowerAttr"
            | "SwallowHealAttr"
            | "MultiHitPowerIncrementAttr"
            | "LastMoveDoublePowerAttr"
            | "CombinedPledgePowerAttr"
            | "CombinedPledgeStabBoostAttr"
            | "RoundPowerAttr"
            | "CueNextRoundAttr"
            | "StatChangeBeforeDmgCalcAttr"
            | "SpectralThiefAttr"
            | "VariableAtkAttr"
            | "TargetAtkUserAtkAttr"
            | "DefAtkAttr"
            | "VariableDefAttr"
            | "DefDefAttr"
            | "VariableAccuracyAttr"
            | "ThunderAccuracyAttr"
            | "StormAccuracyAttr"
            | "AlwaysHitMinimizeAttr"
            | "ToxicAccuracyAttr"
            | "BlizzardAccuracyAttr"
            | "VariableMoveCategoryAttr"
            | "PhotonGeyserCategoryAttr"
            | "TeraMoveCategoryAttr"
            | "TeraBlastPowerAttr"
            | "StatusCategoryOnAllyAttr"
            | "ShellSideArmCategoryAttr"
            | "VariableMoveTypeAttr"
            | "FormChangeItemTypeAttr"
            | "TechnoBlastTypeAttr"
            | "AuraWheelTypeAttr"
            | "RagingBullTypeAttr"
            | "IvyCudgelTypeAttr"
            | "WeatherBallTypeAttr"
            | "TerrainPulseTypeAttr"
            | "HiddenPowerTypeAttr"
            | "TeraBlastTypeAttr"
            | "TeraStarstormTypeAttr"
            | "MatchUserTypeAttr"
            | "CombinedPledgeTypeAttr"
            | "VariableMoveTypeMultiplierAttr"
            | "NeutralDamageAgainstFlyingTypeMultiplierAttr"
            | "IceNoEffectTypeAttr"
            | "FlyingTypeMultiplierAttr"
            | "VariableMoveTypeChartAttr"
            | "FreezeDryAttr"
            | "OneHitKOAccuracyAttr"
            | "SheerColdAccuracyAttr"
            | "MissEffectAttr"
            | "NoEffectAttr"
            | "TypelessAttr"
            | "BypassRedirectAttr"
            | "FrenzyAttr"
            | "SemiInvulnerableAttr"
            | "LeechSeedAttr"
            | "FallDownAttr"
            | "GulpMissileTagAttr"
            | "JawLockAttr"
            | "CurseAttr"
            | "RemoveBattlerTagAttr"
            | "FlinchAttr"
            | "ConfuseAttr"
            | "RechargeAttr"
            | "TrapAttr"
            | "ProtectAttr"
            | "MessageAttr"
            | "RemoveAllSubstitutesAttr"
            | "HitsTagAttr"
            | "HitsTagForDoubleDamageAttr"
            | "AddArenaTagAttr"
            | "RemoveArenaTagsAttr"
            | "AddArenaTrapTagAttr"
            | "AddArenaTrapTagHitAttr"
            | "RemoveArenaTrapAttr"
            | "RemoveScreensAttr"
            | "SwapArenaTagsAttr"
            | "AddPledgeEffectAttr"
            | "RevivalBlessingAttr"
            | "ForceSwitchOutAttr"
            | "ChillyReceptionAttr"
            | "RemoveTypeAttr"
            | "CopyTypeAttr"
            | "CopyBiomeTypeAttr"
            | "ChangeTypeAttr"
            | "AddTypeAttr"
            | "FirstMoveTypeAttr"
            | "CallMoveAttr"
            | "RandomMoveAttr"
            | "RandomMovesetMoveAttr"
            | "NaturePowerAttr"
            | "CopyMoveAttr"
            | "RepeatMoveAttr"
            | "ReducePpMoveAttr"
            | "AttackReducePpMoveAttr"
            | "MovesetCopyMoveAttr"
            | "SketchAttr"
            | "AbilityChangeAttr"
            | "AbilityCopyAttr"
            | "AbilityGiveAttr"
            | "SwitchAbilitiesAttr"
            | "SuppressAbilitiesAttr"
            | "TransformAttr"
            | "SwapStatAttr"
            | "ShiftStatAttr"
            | "AverageStatsAttr"
            | "MoneyAttr"
            | "DestinyBondAttr"
            | "AddBattlerTagIfBoostedAttr"
            | "StatusIfBoostedAttr"
            | "VariableTargetAttr"
            | "AfterYouAttr"
            | "ForceLastAttr"
            | "HitsSameTypeAttr"
            | "ResistLastMoveTypeAttr"
            | "ExposedMoveAttr"

      Parameters

      • attrType: T

        The name of a MoveAttr to search for

      Returns MoveAttrMap[T][]

      An array containing all attributes matching attrType, or an empty array if none match.

    • Check if a move has an attribute that matches attrType.

      Parameters

      • attrType:
            | "MoveEffectAttr"
            | "MoveHeaderAttr"
            | "MessageHeaderAttr"
            | "AddBattlerTagAttr"
            | "AddBattlerTagHeaderAttr"
            | "BeakBlastHeaderAttr"
            | "PreMoveMessageAttr"
            | "PreUseInterruptAttr"
            | "RespectAttackTypeImmunityAttr"
            | "IgnoreOpponentStatStagesAttr"
            | "HighCritAttr"
            | "CritOnlyAttr"
            | "FixedDamageAttr"
            | "UserHpDamageAttr"
            | "TargetHalfHpDamageAttr"
            | "MatchHpAttr"
            | "CounterDamageAttr"
            | "CounterRedirectAttr"
            | "LevelDamageAttr"
            | "RandomLevelDamageAttr"
            | "ModifiedDamageAttr"
            | "SurviveDamageAttr"
            | "RecoilAttr"
            | "SacrificialAttr"
            | "SacrificialAttrOnHit"
            | "HalfSacrificialAttr"
            | "AddSubstituteAttr"
            | "HealAttr"
            | "PartyStatusCureAttr"
            | "FlameBurstAttr"
            | "SacrificialFullRestoreAttr"
            | "IgnoreWeatherTypeDebuffAttr"
            | "WeatherHealAttr"
            | "PlantHealAttr"
            | "SandHealAttr"
            | "BoostHealAttr"
            | "HealOnAllyAttr"
            | "HitHealAttr"
            | "IncrementMovePriorityAttr"
            | "MultiHitAttr"
            | "ChangeMultiHitTypeAttr"
            | "WaterShurikenMultiHitTypeAttr"
            | "StatusEffectAttr"
            | "MultiStatusEffectAttr"
            | "PsychoShiftEffectAttr"
            | "StealHeldItemChanceAttr"
            | "RemoveHeldItemAttr"
            | "EatBerryAttr"
            | "StealEatBerryAttr"
            | "HealStatusEffectAttr"
            | "BypassSleepAttr"
            | "BypassBurnDamageReductionAttr"
            | "WeatherChangeAttr"
            | "ClearWeatherAttr"
            | "TerrainChangeAttr"
            | "ClearTerrainAttr"
            | "OneHitKOAttr"
            | "InstantChargeAttr"
            | "WeatherInstantChargeAttr"
            | "OverrideMoveEffectAttr"
            | "DelayedAttackAttr"
            | "AwaitCombinedPledgeAttr"
            | "StatStageChangeAttr"
            | "SecretPowerAttr"
            | "PostVictoryStatStageChangeAttr"
            | "AcupressureStatStageChangeAttr"
            | "GrowthStatStageChangeAttr"
            | "CutHpStatStageBoostAttr"
            | "OrderUpStatBoostAttr"
            | "CopyStatsAttr"
            | "InvertStatsAttr"
            | "ResetStatsAttr"
            | "SwapStatStagesAttr"
            | "HpSplitAttr"
            | "VariablePowerAttr"
            | "LessPPMorePowerAttr"
            | "MovePowerMultiplierAttr"
            | "BeatUpAttr"
            | "DoublePowerChanceAttr"
            | "ConsecutiveUsePowerMultiplierAttr"
            | "ConsecutiveUseDoublePowerAttr"
            | "ConsecutiveUseMultiBasePowerAttr"
            | "WeightPowerAttr"
            | "ElectroBallPowerAttr"
            | "GyroBallPowerAttr"
            | "LowHpPowerAttr"
            | "CompareWeightPowerAttr"
            | "HpPowerAttr"
            | "OpponentHighHpPowerAttr"
            | "TurnDamagedDoublePowerAttr"
            | "MagnitudePowerAttr"
            | "AntiSunlightPowerDecreaseAttr"
            | "FriendshipPowerAttr"
            | "RageFistPowerAttr"
            | "PositiveStatStagePowerAttr"
            | "PunishmentPowerAttr"
            | "PresentPowerAttr"
            | "WaterShurikenPowerAttr"
            | "SpitUpPowerAttr"
            | "SwallowHealAttr"
            | "MultiHitPowerIncrementAttr"
            | "LastMoveDoublePowerAttr"
            | "CombinedPledgePowerAttr"
            | "CombinedPledgeStabBoostAttr"
            | "RoundPowerAttr"
            | "CueNextRoundAttr"
            | "StatChangeBeforeDmgCalcAttr"
            | "SpectralThiefAttr"
            | "VariableAtkAttr"
            | "TargetAtkUserAtkAttr"
            | "DefAtkAttr"
            | "VariableDefAttr"
            | "DefDefAttr"
            | "VariableAccuracyAttr"
            | "ThunderAccuracyAttr"
            | "StormAccuracyAttr"
            | "AlwaysHitMinimizeAttr"
            | "ToxicAccuracyAttr"
            | "BlizzardAccuracyAttr"
            | "VariableMoveCategoryAttr"
            | "PhotonGeyserCategoryAttr"
            | "TeraMoveCategoryAttr"
            | "TeraBlastPowerAttr"
            | "StatusCategoryOnAllyAttr"
            | "ShellSideArmCategoryAttr"
            | "VariableMoveTypeAttr"
            | "FormChangeItemTypeAttr"
            | "TechnoBlastTypeAttr"
            | "AuraWheelTypeAttr"
            | "RagingBullTypeAttr"
            | "IvyCudgelTypeAttr"
            | "WeatherBallTypeAttr"
            | "TerrainPulseTypeAttr"
            | "HiddenPowerTypeAttr"
            | "TeraBlastTypeAttr"
            | "TeraStarstormTypeAttr"
            | "MatchUserTypeAttr"
            | "CombinedPledgeTypeAttr"
            | "VariableMoveTypeMultiplierAttr"
            | "NeutralDamageAgainstFlyingTypeMultiplierAttr"
            | "IceNoEffectTypeAttr"
            | "FlyingTypeMultiplierAttr"
            | "VariableMoveTypeChartAttr"
            | "FreezeDryAttr"
            | "OneHitKOAccuracyAttr"
            | "SheerColdAccuracyAttr"
            | "MissEffectAttr"
            | "NoEffectAttr"
            | "TypelessAttr"
            | "BypassRedirectAttr"
            | "FrenzyAttr"
            | "SemiInvulnerableAttr"
            | "LeechSeedAttr"
            | "FallDownAttr"
            | "GulpMissileTagAttr"
            | "JawLockAttr"
            | "CurseAttr"
            | "RemoveBattlerTagAttr"
            | "FlinchAttr"
            | "ConfuseAttr"
            | "RechargeAttr"
            | "TrapAttr"
            | "ProtectAttr"
            | "MessageAttr"
            | "RemoveAllSubstitutesAttr"
            | "HitsTagAttr"
            | "HitsTagForDoubleDamageAttr"
            | "AddArenaTagAttr"
            | "RemoveArenaTagsAttr"
            | "AddArenaTrapTagAttr"
            | "AddArenaTrapTagHitAttr"
            | "RemoveArenaTrapAttr"
            | "RemoveScreensAttr"
            | "SwapArenaTagsAttr"
            | "AddPledgeEffectAttr"
            | "RevivalBlessingAttr"
            | "ForceSwitchOutAttr"
            | "ChillyReceptionAttr"
            | "RemoveTypeAttr"
            | "CopyTypeAttr"
            | "CopyBiomeTypeAttr"
            | "ChangeTypeAttr"
            | "AddTypeAttr"
            | "FirstMoveTypeAttr"
            | "CallMoveAttr"
            | "RandomMoveAttr"
            | "RandomMovesetMoveAttr"
            | "NaturePowerAttr"
            | "CopyMoveAttr"
            | "RepeatMoveAttr"
            | "ReducePpMoveAttr"
            | "AttackReducePpMoveAttr"
            | "MovesetCopyMoveAttr"
            | "SketchAttr"
            | "AbilityChangeAttr"
            | "AbilityCopyAttr"
            | "AbilityGiveAttr"
            | "SwitchAbilitiesAttr"
            | "SuppressAbilitiesAttr"
            | "TransformAttr"
            | "SwapStatAttr"
            | "ShiftStatAttr"
            | "AverageStatsAttr"
            | "MoneyAttr"
            | "DestinyBondAttr"
            | "AddBattlerTagIfBoostedAttr"
            | "StatusIfBoostedAttr"
            | "VariableTargetAttr"
            | "AfterYouAttr"
            | "ForceLastAttr"
            | "HitsSameTypeAttr"
            | "ResistLastMoveTypeAttr"
            | "ExposedMoveAttr"

        The name of a MoveAttr to search for

      Returns boolean

      Whether this move has at least 1 attribute that matches attrType

    • Checks if the move would hit its target's Substitute instead of the target itself.

      Parameters

      Returns boolean

      Whether this Move will hit the target's Substitute (assuming one exists).

    • Getter function that returns if the move targets the user or its ally

      Returns boolean

      boolean

    • Getter function that returns if the move hits multiple targets

      Returns boolean

      boolean

    • Checks if the target is immune to this Move's type. Currently looks at cases of Grass types with powder moves and Dark types with moves affected by Prankster.

      Parameters

      Returns boolean

      Whether the move is blocked by the target's type. Self-targeted moves will return false regardless of circumstances.

    • Mark this move as partially implemented. Partial moves are expected to have some core functionality implemented, but may lack certain notable features or interactions with other moves or abilities.

      Returns this

      this

    • Adds a restriction condition to this move. The move will not be selectable if at least 1 of its restrictions is met.

      Parameters

      • restriction: MoveRestriction

        A function that evaluates to true if the move is restricted from being selected

      Returns this

      this for method chaining

    • Adds a restriction condition to this move. The move will not be selectable if at least 1 of its restrictions is met.

      Parameters

      • restriction: UserMoveConditionFunc

        The function or MoveRestriction that evaluates to true if the move is restricted from being selected

      • i18nkey: string

        The i18n key for the restriction text

      • OptionalalsoCondition: boolean

        If true, also adds an equivalent MoveCondition that checks the same condition when the move is used (while taking care to invert the return value); default false

      • OptionalconditionSeq: number

        The sequence number where the failure check occurs; default 4

      Returns this

      this for method chaining

    • Sets the flags of the move

      Parameters

      • flag: MoveFlags
      • on: boolean

        a boolean, if True, then "ORs" the flag onto existing ones, if False then "XORs" the flag onto existing ones

      Returns void

    • Mark this move as unimplemented. Unimplemented moves are ones which have none of their basic functionality enabled, and cannot be used.

      Returns this

      this