# ReflectStatStageChangeAbAttr | pokemon-rogue-battle
Documentation for pokemon-rogue-battle

# Class ReflectStatStageChangeAbAttr

Reflect all `BattleStat` reductions caused by other Pokémon's moves and Abilities. Currently only applies to Mirror Armor.

#### Hierarchy (View Summary)

- PreStatStageChangeAbAttr
  - ReflectStatStageChangeAbAttr

- Defined in src/data/ability.ts:3122

##### Index

### Constructors

constructor

### Properties

showAbility

### Methods

addCondition
apply
applyPreStatStageChange
canApply
canApplyPreStatStageChange
getCondition
getTriggerMessage

## Constructors

### constructor

- new ReflectStatStageChangeAbAttr(
  showAbility?: boolean,
  ): ReflectStatStageChangeAbAttr

  #### Parameters

  - showAbility: boolean = true

  #### Returns ReflectStatStageChangeAbAttr

  Inherited from PreStatStageChangeAbAttr.constructor

  - Defined in src/data/ability.ts:187

## Properties

### showAbility

showAbility: boolean

Inherited from PreStatStageChangeAbAttr.showAbility

- Defined in src/data/ability.ts:184

## Methods

### addCondition

- addCondition(condition: AbAttrCondition): AbAttr

  #### Parameters

  - condition: AbAttrCondition

  #### Returns AbAttr

  Inherited from PreStatStageChangeAbAttr.addCondition

  - Defined in src/data/ability.ts:209

### apply

- apply(
  pokemon: default ,
  passive: boolean,
  simulated: boolean,
  cancelled: null | BooleanHolder ,
  args: any[],
  ): void

  Applies ability effects without checking conditions

  #### Parameters

  - pokemon: default

    The pokemon to apply this ability to

  - passive: boolean

    Whether or not the ability is a passive

  - simulated: boolean

    Whether the call is simulated

  - cancelled: null | BooleanHolder
  - args: any[]

    Extra args passed to the function. Handled by child classes.

  #### Returns void

  #### See

  `canApply`

  Inherited from PreStatStageChangeAbAttr.apply

  - Defined in src/data/ability.ts:199

### applyPreStatStageChange

- applyPreStatStageChange(
  _pokemon: default ,
  _passive: boolean,
  simulated: boolean,
  stat: ATK | DEF | SPATK | SPDEF | SPD | ACC | EVA ,
  cancelled: BooleanHolder ,
  args: any[],
  ): void

  Apply the ReflectStatStageChangeAbAttr to an interaction

  #### Parameters

  - _pokemon: default

    The user pokemon

  - _passive: boolean

    N/A

  - simulated: boolean

    `true` if the ability is being simulated by the AI

  - stat: ATK | DEF | SPATK | SPDEF | SPD | ACC | EVA

    the `BattleStat` being affected

  - cancelled: BooleanHolder

    The `Utils.BooleanHolder` that will be set to true due to reflection

  - args: any[]

  #### Returns void

  Overrides PreStatStageChangeAbAttr.applyPreStatStageChange

  - Defined in src/data/ability.ts:3135

### canApply

- canApply(
  pokemon: default ,
  passive: boolean,
  simulated: boolean,
  args: any[],
  ): boolean

  Returns a boolean describing whether the ability can be applied under current conditions

  #### Parameters

  - pokemon: default

    The pokemon to apply this ability to

  - passive: boolean

    Whether or not the ability is a passive

  - simulated: boolean

    Whether the call is simulated

  - args: any[]

    Extra args passed to the function. Handled by child classes.

  #### Returns boolean

  `true` if the ability can be applied, `false` otherwise

  #### See

  `apply`

  Inherited from PreStatStageChangeAbAttr.canApply

  - Defined in src/data/ability.ts:223

### canApplyPreStatStageChange

- canApplyPreStatStageChange(
  pokemon: null | default ,
  passive: boolean,
  simulated: boolean,
  stat: ATK | DEF | SPATK | SPDEF | SPD | ACC | EVA ,
  cancelled: BooleanHolder ,
  args: any[],
  ): boolean

  #### Parameters

  - pokemon: null | default
  - passive: boolean
  - simulated: boolean
  - stat: ATK | DEF | SPATK | SPDEF | SPD | ACC | EVA
  - cancelled: BooleanHolder
  - args: any[]

  #### Returns boolean

  Inherited from PreStatStageChangeAbAttr.canApplyPreStatStageChange

  - Defined in src/data/ability.ts:3098

### getCondition

- getCondition(): null | AbAttrCondition

  #### Returns null | AbAttrCondition

  Inherited from PreStatStageChangeAbAttr.getCondition

  - Defined in src/data/ability.ts:205

### getTriggerMessage

- getTriggerMessage(
  pokemon: default ,
  abilityName: string,
  ..._args: any[],
  ): string

  #### Parameters

  - pokemon: default
  - abilityName: string
  - ..._args: any[]

  #### Returns string

  Overrides PreStatStageChangeAbAttr.getTriggerMessage

  - Defined in src/data/ability.ts:3145