pokemon-rogue-battle
    Preparing search index...

    Class PreAttackAbAttrAbstract

    Abstract class for all ability attributes.

    Each Ability may have any number of individual attributes, each functioning independently from one another.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    showAbility: boolean = true

    Whether to show this ability as a flyout when applying its effects. Should be kept in parity with mainline where possible.

    true

    Methods

    • Check whether this attribute can have its effects successfully applied. Applies to all instances of the given attribute.

      Parameters

      • _params: Exact<Parameters<this["apply"]>[0]>

        The parameters passed to this attribute's apply function; must match type exactly

      Returns boolean

    • Return the trigger message to show when this attribute is executed.

      Parameters

      • _params: Exact<Parameters<this["apply"]>[0]>

        The parameters passed to this attribute's apply function; must match type exactly

      • _abilityName: string

        The name of the current ability.

      Returns null | string

      Remove null from signature in lieu of using an empty string

    • Return whether this attribute is of the given type.

      Type Parameters

      • K extends
            | "BlockRecoilDamageAttr"
            | "DoubleBattleChanceAbAttr"
            | "PostBattleInitAbAttr"
            | "PostBattleInitFormChangeAbAttr"
            | "PostTeraFormChangeStatChangeAbAttr"
            | "ClearWeatherAbAttr"
            | "ClearTerrainAbAttr"
            | "PreDefendAbAttr"
            | "PreDefendFullHpEndureAbAttr"
            | "BlockItemTheftAbAttr"
            | "StabBoostAbAttr"
            | "ReceivedMoveDamageMultiplierAbAttr"
            | "AlliedFieldDamageReductionAbAttr"
            | "ReceivedTypeDamageMultiplierAbAttr"
            | "TypeImmunityAbAttr"
            | "AttackTypeImmunityAbAttr"
            | "TypeImmunityHealAbAttr"
            | "NonSuperEffectiveImmunityAbAttr"
            | "FullHpResistTypeAbAttr"
            | "PostDefendAbAttr"
            | "FieldPriorityMoveImmunityAbAttr"
            | "PostStatStageChangeAbAttr"
            | "MoveImmunityAbAttr"
            | "WonderSkinAbAttr"
            | "MoveImmunityStatStageChangeAbAttr"
            | "ReverseDrainAbAttr"
            | "PostDefendStatStageChangeAbAttr"
            | "PostDefendHpGatedStatStageChangeAbAttr"
            | "PostDefendApplyArenaTrapTagAbAttr"
            | "PostDefendApplyBattlerTagAbAttr"
            | "PostDefendTypeChangeAbAttr"
            | "PostDefendTerrainChangeAbAttr"
            | "PostDefendContactApplyStatusEffectAbAttr"
            | "EffectSporeAbAttr"
            | "PostDefendContactApplyTagChanceAbAttr"
            | "PostReceiveCritStatStageChangeAbAttr"
            | "PostDefendContactDamageAbAttr"
            | "PostDefendPerishSongAbAttr"
            | "PostDefendWeatherChangeAbAttr"
            | "PostDefendAbilitySwapAbAttr"
            | "PostDefendAbilityGiveAbAttr"
            | "PostDefendMoveDisableAbAttr"
            | "PostStatStageChangeStatStageChangeAbAttr"
            | "PreAttackAbAttr"
            | "MoveEffectChanceMultiplierAbAttr"
            | "IgnoreMoveEffectsAbAttr"
            | "VariableMovePowerAbAttr"
            | "FieldPreventExplosiveMovesAbAttr"
            | "FieldMultiplyStatAbAttr"
            | "MoveTypeChangeAbAttr"
            | "PokemonTypeChangeAbAttr"
            | "AddSecondStrikeAbAttr"
            | "DamageBoostAbAttr"
            | "MovePowerBoostAbAttr"
            | "MoveTypePowerBoostAbAttr"
            | "LowHpMoveTypePowerBoostAbAttr"
            | "VariableMovePowerBoostAbAttr"
            | "FieldMovePowerBoostAbAttr"
            | "PreAttackFieldMoveTypePowerBoostAbAttr"
            | "FieldMoveTypePowerBoostAbAttr"
            | "UserFieldMoveTypePowerBoostAbAttr"
            | "AllyMoveCategoryPowerBoostAbAttr"
            | "StatMultiplierAbAttr"
            | "PostAttackAbAttr"
            | "AllyStatMultiplierAbAttr"
            | "ExecutedMoveAbAttr"
            | "GorillaTacticsAbAttr"
            | "PostAttackStealHeldItemAbAttr"
            | "PostAttackApplyStatusEffectAbAttr"
            | "PostAttackContactApplyStatusEffectAbAttr"
            | "PostAttackApplyBattlerTagAbAttr"
            | "PostDefendStealHeldItemAbAttr"
            | "PostSetStatusAbAttr"
            | "SynchronizeStatusAbAttr"
            | "PostVictoryAbAttr"
            | "PostVictoryFormChangeAbAttr"
            | "PostKnockOutAbAttr"
            | "PostKnockOutStatStageChangeAbAttr"
            | "CopyFaintedAllyAbilityAbAttr"
            | "IgnoreOpponentStatStagesAbAttr"
            | "IntimidateImmunityAbAttr"
            | "PostIntimidateStatStageChangeAbAttr"
            | "PostSummonAbAttr"
            | "PostSummonRemoveEffectAbAttr"
            | "PostSummonRemoveArenaTagAbAttr"
            | "PostSummonAddArenaTagAbAttr"
            | "PostSummonMessageAbAttr"
            | "PostSummonUnnamedMessageAbAttr"
            | "PostSummonAddBattlerTagAbAttr"
            | "PostSummonRemoveBattlerTagAbAttr"
            | "PostSummonStatStageChangeAbAttr"
            | "PostSummonAllyHealAbAttr"
            | "PostSummonClearAllyStatStagesAbAttr"
            | "DownloadAbAttr"
            | "PostSummonWeatherChangeAbAttr"
            | "PostSummonTerrainChangeAbAttr"
            | "PostSummonHealStatusAbAttr"
            | "PostSummonFormChangeAbAttr"
            | "PostSummonCopyAbilityAbAttr"
            | "PostSummonUserFieldRemoveStatusEffectAbAttr"
            | "PostSummonCopyAllyStatsAbAttr"
            | "PostSummonTransformAbAttr"
            | "PostSummonWeatherSuppressedFormChangeAbAttr"
            | "PostSummonFormChangeByWeatherAbAttr"
            | "CommanderAbAttr"
            | "PreSwitchOutAbAttr"
            | "PreSwitchOutResetStatusAbAttr"
            | "PreSwitchOutClearWeatherAbAttr"
            | "PreSwitchOutHealAbAttr"
            | "PreSwitchOutFormChangeAbAttr"
            | "PreLeaveFieldAbAttr"
            | "PreLeaveFieldClearWeatherAbAttr"
            | "PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr"
            | "PreStatStageChangeAbAttr"
            | "ReflectStatStageChangeAbAttr"
            | "ProtectStatAbAttr"
            | "ConfusionOnStatusEffectAbAttr"
            | "PreSetStatusAbAttr"
            | "PreSetStatusEffectImmunityAbAttr"
            | "StatusEffectImmunityAbAttr"
            | "UserFieldStatusEffectImmunityAbAttr"
            | "ConditionalUserFieldStatusEffectImmunityAbAttr"
            | "ConditionalUserFieldProtectStatAbAttr"
            | "PreApplyBattlerTagAbAttr"
            | "PreApplyBattlerTagImmunityAbAttr"
            | "BattlerTagImmunityAbAttr"
            | "UserFieldBattlerTagImmunityAbAttr"
            | "ConditionalUserFieldBattlerTagImmunityAbAttr"
            | "BlockCritAbAttr"
            | "BonusCritAbAttr"
            | "MultCritAbAttr"
            | "ConditionalCritAbAttr"
            | "BlockNonDirectDamageAbAttr"
            | "BlockStatusDamageAbAttr"
            | "BlockOneHitKOAbAttr"
            | "ChangeMovePriorityAbAttr"
            | "IgnoreContactAbAttr"
            | "PreWeatherEffectAbAttr"
            | "PreWeatherDamageAbAttr"
            | "SuppressWeatherEffectAbAttr"
            | "ForewarnAbAttr"
            | "FriskAbAttr"
            | "PostWeatherChangeAbAttr"
            | "PostWeatherChangeFormChangeAbAttr"
            | "PostWeatherLapseAbAttr"
            | "PostWeatherLapseHealAbAttr"
            | "PostWeatherLapseDamageAbAttr"
            | "PostTerrainChangeAbAttr"
            | "PostTurnAbAttr"
            | "PostTurnStatusHealAbAttr"
            | "PostTurnResetStatusAbAttr"
            | "PostTurnRestoreBerryAbAttr"
            | "CudChewConsumeBerryAbAttr"
            | "CudChewRecordBerryAbAttr"
            | "MoodyAbAttr"
            | "SpeedBoostAbAttr"
            | "PostTurnHealAbAttr"
            | "PostTurnFormChangeAbAttr"
            | "PostTurnHurtIfSleepingAbAttr"
            | "FetchBallAbAttr"
            | "PostBiomeChangeAbAttr"
            | "PostBiomeChangeWeatherChangeAbAttr"
            | "PostBiomeChangeTerrainChangeAbAttr"
            | "PostMoveUsedAbAttr"
            | "PostDancingMoveAbAttr"
            | "PostItemLostAbAttr"
            | "PostItemLostApplyBattlerTagAbAttr"
            | "StatStageChangeMultiplierAbAttr"
            | "StatStageChangeCopyAbAttr"
            | "BypassBurnDamageReductionAbAttr"
            | "ReduceBurnDamageAbAttr"
            | "DoubleBerryEffectAbAttr"
            | "PreventBerryUseAbAttr"
            | "HealFromBerryUseAbAttr"
            | "RunSuccessAbAttr"
            | "CheckTrappedAbAttr"
            | "ArenaTrapAbAttr"
            | "MaxMultiHitAbAttr"
            | "PostBattleAbAttr"
            | "PostBattleLootAbAttr"
            | "PostFaintAbAttr"
            | "PostFaintUnsuppressedWeatherFormChangeAbAttr"
            | "PostFaintContactDamageAbAttr"
            | "PostFaintHPDamageAbAttr"
            | "RedirectMoveAbAttr"
            | "RedirectTypeMoveAbAttr"
            | "BlockRedirectAbAttr"
            | "ReduceStatusEffectDurationAbAttr"
            | "FlinchEffectAbAttr"
            | "FlinchStatStageChangeAbAttr"
            | "IncreasePpAbAttr"
            | "ForceSwitchOutImmunityAbAttr"
            | "ReduceBerryUseThresholdAbAttr"
            | "WeightMultiplierAbAttr"
            | "SyncEncounterNatureAbAttr"
            | "MoveAbilityBypassAbAttr"
            | "AlwaysHitAbAttr"
            | "IgnoreProtectOnContactAbAttr"
            | "InfiltratorAbAttr"
            | "ReflectStatusMoveAbAttr"
            | "NoTransformAbilityAbAttr"
            | "NoFusionAbilityAbAttr"
            | "IgnoreTypeImmunityAbAttr"
            | "IgnoreTypeStatusEffectImmunityAbAttr"
            | "MoneyAbAttr"
            | "PostSummonStatStageChangeOnArenaAbAttr"
            | "FormBlockDamageAbAttr"
            | "PreSummonAbAttr"
            | "IllusionPreSummonAbAttr"
            | "IllusionBreakAbAttr"
            | "PostDefendIllusionBreakAbAttr"
            | "IllusionPostBattleAbAttr"
            | "BypassSpeedChanceAbAttr"
            | "PreventBypassSpeedChanceAbAttr"
            | "TerrainEventTypeChangeAbAttr"
            | "PostDamageAbAttr"
            | "PostDamageForceSwitchAbAttr"

      Parameters

      • attr: K

        The attribute to check against

      Returns this is AbAttrMap[K]

      Whether the attribute is an instance of the given type

      Used to avoid requiring the caller to have imported the specific attribute type, avoiding circular dependencies.