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

# Class GrowthStatStageChangeAttr

Attribute used for moves that change stat stages

#### Param: stats

`BattleStat` Array of stat(s) to change

#### Param: stages

How many stages to change the stat(s) by, [-6, 6]

#### Param: selfTarget

`true` if the move is self-targetting

#### Param: options

StatStageChangeAttrOptions Container for any optional parameters for this attribute.

#### See

`apply`

#### Hierarchy (View Summary)

- StatStageChangeAttr
  - GrowthStatStageChangeAttr

- Defined in src/data/moves/move.ts:3411

##### Index

### Constructors

constructor

### Properties

options?
selfTarget
stages
stats

### Accessors

effectChanceOverride
firstHitOnly
firstTargetOnly
lastHitOnly
trigger

### Methods

apply
canApply
getCondition
getFailedText
getLevels
getMoveChance
getTargetBenefitScore
getUserBenefitScore

## Constructors

### constructor

- new GrowthStatStageChangeAttr(): GrowthStatStageChangeAttr

  #### Returns GrowthStatStageChangeAttr

  Overrides StatStageChangeAttr.constructor

  - Defined in src/data/moves/move.ts:3412

## Properties

### `Protected` `Optional` options

options?: StatStageChangeAttrOptions

Container for optional parameters to this attribute.

#### See

StatStageChangeAttrOptions for available optional params

Inherited from StatStageChangeAttr.options

- Defined in src/data/moves/move.ts:3126

### selfTarget

selfTarget: boolean

Should this `Move` target the user?

Inherited from StatStageChangeAttr.selfTarget

- Defined in src/data/moves/move.ts:1071

### stages

stages: number

Inherited from StatStageChangeAttr.stages

- Defined in src/data/moves/move.ts:3121

### stats

stats: (ATK | DEF | SPATK | SPDEF | SPD | ACC | EVA)[]

Inherited from StatStageChangeAttr.stats

- Defined in src/data/moves/move.ts:3120

## Accessors

### effectChanceOverride

- get effectChanceOverride(): undefined | number

  If defined, overrides the move's base chance for this secondary effect to trigger.

  #### Returns undefined | number

  Inherited from StatStageChangeAttr.effectChanceOverride

  - Defined in src/data/moves/move.ts:1201

### firstHitOnly

- get firstHitOnly(): boolean

  `true` if this effect should only trigger on the first hit of multi-hit moves.

  #### Returns boolean

  #### Default

      false

  Inherited from StatStageChangeAttr.firstHitOnly

  - Defined in src/data/moves/move.ts:1175

### firstTargetOnly

- get firstTargetOnly(): boolean

  `true` if this effect should apply only upon hitting a target for the first time when targeting multiple `Pokemon`.

  #### Returns boolean

  #### Default

      false

  Inherited from StatStageChangeAttr.firstTargetOnly

  - Defined in src/data/moves/move.ts:1193

### lastHitOnly

- get lastHitOnly(): boolean

  `true` if this effect should only trigger on the last hit of multi-hit moves.

  #### Returns boolean

  #### Default

      false

  Inherited from StatStageChangeAttr.lastHitOnly

  - Defined in src/data/moves/move.ts:1184

### trigger

- get trigger(): MoveEffectTrigger

  Indicates when the stat change should trigger

  #### Returns MoveEffectTrigger

  #### Default

      MoveEffectTrigger.HIT

  Inherited from StatStageChangeAttr.trigger

  - Defined in src/data/moves/move.ts:3155

## Methods

### apply

- apply(user: default , target: default , move: default , args?: any[]): boolean

  Attempts to change stats of the user or target (depending on value of selfTarget) if conditions are met

  #### Parameters

  - user: default

    `Pokemon` the user of the move

  - target: default

    `Pokemon` the target of the move

  - move: default

    `Move` the move

  - `Optional` args: any[]

    unused

  #### Returns boolean

  whether stat stages were changed

  Inherited from StatStageChangeAttr.apply

  - Defined in src/data/moves/move.ts:3167

### canApply

- canApply(user: default , target: default , move: default , args?: any[]): boolean

  Determines whether the `Move`'s effects are valid to `apply`

  #### Parameters

  - user: default

    `Pokemon` using the move

  - target: default

    `Pokemon` target of the move

  - move: default

    `Move` with this attribute

  - `Optional` args: any[]

    Set of unique arguments needed by this attribute

  #### Returns boolean

  true if basic application of the ability attribute should be possible

  Inherited from StatStageChangeAttr.canApply

  - Defined in src/data/moves/move.ts:1214

### getCondition

- getCondition(): null | MoveCondition | MoveConditionFunc

  #### Returns null | MoveCondition | MoveConditionFunc

  the `MoveCondition` or MoveConditionFunc for this `Move`

  Inherited from StatStageChangeAttr.getCondition

  - Defined in src/data/moves/move.ts:1095

### getFailedText

- getFailedText(user: default , target: default , move: default ): undefined | string

  #### Parameters

  - user: default

    `Pokemon` using the move

  - target: default

    `Pokemon` target of the move

  - move: default

    `Move` with this attribute

  #### Returns undefined | string

  the string representing failure of this `Move`

  Inherited from StatStageChangeAttr.getFailedText

  - Defined in src/data/moves/move.ts:1106

### getLevels

- getLevels(user: default ): number

  #### Parameters

  - user: default

  #### Returns number

  Overrides StatStageChangeAttr.getLevels

  - Defined in src/data/moves/move.ts:3416

### getMoveChance

- getMoveChance(
  user: default ,
  target: default ,
  move: default ,
  selfEffect?: Boolean,
  showAbility?: Boolean,
  ): number

  Gets the used move's additional effect chance. Chance is modified by `MoveEffectChanceMultiplierAbAttr` and `IgnoreMoveEffectsAbAttr`.

  #### Parameters

  - user: default

    `Pokemon` using this move

  - target: default

    `Target` of this move

  - move: default

    `Move` being used

  - `Optional` selfEffect: Boolean

    `true` if move targets user.

  - `Optional` showAbility: Boolean

  #### Returns number

  Move effect chance value.

  Inherited from StatStageChangeAttr.getMoveChance

  - Defined in src/data/moves/move.ts:1234

### getTargetBenefitScore

- getTargetBenefitScore(user: default , target: default , move: default ): number

  Used by the Enemy AI to rank an attack based on a given target

  #### Parameters

  - user: default
  - target: default
  - move: default

  #### Returns number

  #### See

  `EnemyPokemon.getNextMove`

  Inherited from StatStageChangeAttr.getTargetBenefitScore

  - Defined in src/data/moves/move.ts:3190

### getUserBenefitScore

- getUserBenefitScore(user: default , target: default , move: default ): number

  Used by the Enemy AI to rank an attack based on a given user

  #### Parameters

  - user: default
  - target: default
  - move: default

  #### Returns number

  #### See

  `EnemyPokemon.getNextMove`

  Inherited from StatStageChangeAttr.getUserBenefitScore

  - Defined in src/data/moves/move.ts:1115