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

# Class TeraMoveCategoryAttr

Attribute used for tera moves that change category based on the user's Atk and SpAtk stats Note: Currently, `getEffectiveStat` does not ignore all abilities that affect stats except those with the attribute of `StatMultiplierAbAttr` TODO: Remove the `.partial()` tag from Tera Blast and Tera Starstorm when the above issue is resolved

#### Hierarchy (View Summary)

- VariableMoveCategoryAttr
  - TeraMoveCategoryAttr

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

##### Index

### Constructors

constructor

### Properties

selfTarget

### Methods

apply
getCondition
getFailedText
getTargetBenefitScore
getUserBenefitScore

## Constructors

### constructor

- new TeraMoveCategoryAttr(selfTarget?: boolean): TeraMoveCategoryAttr

  #### Parameters

  - selfTarget: boolean = false

  #### Returns TeraMoveCategoryAttr

  Inherited from VariableMoveCategoryAttr.constructor

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

## Properties

### selfTarget

selfTarget: boolean

Should this `Move` target the user?

Inherited from VariableMoveCategoryAttr.selfTarget

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

## Methods

### apply

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

  Applies move attributes

  #### Parameters

  - user: default

    `Pokemon` using the move

  - target: default

    `Pokemon` target of the move

  - move: default

    `Move` with this attribute

  - args: any[]

    Set of unique arguments needed by this attribute

  #### Returns boolean

  true if application of the ability succeeds

  #### See

  applyMoveAttrsInternal

  Overrides VariableMoveCategoryAttr.apply

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

### getCondition

- getCondition(): null | MoveCondition | MoveConditionFunc

  #### Returns null | MoveCondition | MoveConditionFunc

  the `MoveCondition` or MoveConditionFunc for this `Move`

  Inherited from VariableMoveCategoryAttr.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 VariableMoveCategoryAttr.getFailedText

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

### 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 VariableMoveCategoryAttr.getTargetBenefitScore

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

### 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 VariableMoveCategoryAttr.getUserBenefitScore

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