PokéRogue
    Preparing search index...

    Class Charging<TBase>Abstract

    Type Parameters

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _chargeText: string

    The message to show during the move's charging phase

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

    The chance of a move's secondary effects activating

    chargeAnim: ChargeAnim = ...

    The animation to play during the move's charging phase

    chargeAttrs: MoveAttr[] = []

    Move attributes that apply during the move's charging phase

    effect: string
    generation: number
    id: MoveId
    moveTarget: MoveTarget
    name: string
    power: number
    pp: number
    priority: number

    Accessors

    • get allyTargetDefault(): boolean

      Whether this move should default to targeting an ally in Double Battles.

      Returns boolean

      false

    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

    • Apply this move's conditions prior to move effect application.

      Parameters

      • user: Pokemon

        The Pokemon using this move

      • target: Pokemon

        The Pokemon targeted by this move

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

        (Default 4) The sequence number where the condition check occurs, or -1 to check all

      Returns boolean

      Whether all conditions passed

      Only applies conditions intrinsic to the particular move being used.

    • 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.

      Parameters

      • Optionalpokemon: Pokemon

        (optional) The Pokémon using the move, used to consider ability effects; unnecessary unless considerAbility is true

      • considerAbilities: boolean = !!pokemon

      Returns number

      Considers the following ability effects when considerAbility is true:

      • Abilities with AiMovegenMoveStatsAbAttr or
      • Abilities with VariableMovePowerAbAttr
    • Check whether this Move can be given additional strikes from enhancing effects. Currently used for Parental Bond and Multi Lens.

      Parameters

      • user: Pokemon

        The Pokemon using the move

      • restrictSpread: boolean = false

        (Default false) Whether the enhancing effect should ignore multi-target moves

      • Optionaltarget: Pokemon | null

        (Optional) The targeted pokemon, used for Pollen Puff

      Returns boolean

      Whether this Move can be given additional strikes.

    • Sets the text to be displayed during this move's charging phase.
      References to the user Pokemon should be written as "{USER}", and references to the target Pokemon should be written as "{TARGET}".

      Parameters

      • chargeText: string

        the text to set

      Returns this

      this Move (for chaining API purposes)

    • 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

      • flag: { flag: MoveFlags; isFollowUp?: boolean; target?: Pokemon; user: Pokemon }

        MoveFlag to check on user and/or target

      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
            | "DelayedAttackAttr"
            | "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"
            | "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"
            | "NeutralDamageAgainstFlyingTypeAttr"
            | "IceNoEffectTypeAttr"
            | "FlyingTypeMultiplierAttr"
            | "MoveTypeChartOverrideAttr"
            | "FreezeDryAttr"
            | "OneHitKOAccuracyAttr"
            | "HitsSameTypeAttr"
            | "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"
            | "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.

    • Gets all charge attributes of the given attribute type.

      Type Parameters

      • T extends
            | "DelayedAttackAttr"
            | "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"
            | "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"
            | "NeutralDamageAgainstFlyingTypeAttr"
            | "IceNoEffectTypeAttr"
            | "FlyingTypeMultiplierAttr"
            | "MoveTypeChartOverrideAttr"
            | "FreezeDryAttr"
            | "OneHitKOAccuracyAttr"
            | "HitsSameTypeAttr"
            | "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"
            | "ResistLastMoveTypeAttr"
            | "ExposedMoveAttr"

      Parameters

      • attrType: T

        any attribute that extends MoveAttr

      Returns MoveAttrMap[T][]

      Array of attributes that match attrType, or an empty array if no matches are found.

    • Sees if a move has a custom failure text (by looking at each MoveAttr of this move)

      Parameters

      Returns string | undefined

      string of the custom failure text, or null if it uses the default text ("But it failed!")

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

      Parameters

      • attrType:
            | "DelayedAttackAttr"
            | "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"
            | "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"
            | "NeutralDamageAgainstFlyingTypeAttr"
            | "IceNoEffectTypeAttr"
            | "FlyingTypeMultiplierAttr"
            | "MoveTypeChartOverrideAttr"
            | "FreezeDryAttr"
            | "OneHitKOAccuracyAttr"
            | "HitsSameTypeAttr"
            | "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"
            | "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 this move has an attribute of the given type.

      Type Parameters

      • T extends
            | "DelayedAttackAttr"
            | "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"
            | "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"
            | "NeutralDamageAgainstFlyingTypeAttr"
            | "IceNoEffectTypeAttr"
            | "FlyingTypeMultiplierAttr"
            | "MoveTypeChartOverrideAttr"
            | "FreezeDryAttr"
            | "OneHitKOAccuracyAttr"
            | "HitsSameTypeAttr"
            | "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"
            | "ResistLastMoveTypeAttr"
            | "ExposedMoveAttr"

      Parameters

      • attrType: T

        any attribute that extends MoveAttr

      Returns boolean

      true if a matching attribute is found; false otherwise

    • Check whether the move has the specified condition in any of its condition arrays.

      Parameters

      Returns boolean

      Whether the move has the specified condition

    • Getter function that returns if this Move has a given MoveFlag.

      Parameters

      Returns boolean

      Whether this Move has the specified flag.

    • 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.

    • Sets the MoveFlags.MAKES_CONTACT flag for the calling Move

      Parameters

      • setFlag: boolean = true

        Whether the move should make contact; default true

      Returns this

      this

    • 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

    • Set the allyTargetDefault property for the calling Move, causing it to default to targeting the user's ally in Double Battles.

      Returns this

      this

      This should not be called for moves that can only target allies (in which case it becomes moot.) Manual switching to enemy targets is still allowed.

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

      Returns this

      this