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

# Class TrickRoomTag

Arena Tag class for Trick Room. Reverses the Speed stats for all Pokémon on the field as long as this arena tag is up, also reversing the turn order for all Pokémon on the field as well.

#### Hierarchy (View Summary)

- ArenaTag
  - TrickRoomTag

- Defined in src/data/arena-tag.ts:1066

##### Index

### Constructors

constructor

### Properties

side
sourceId?
sourceMove?
tagType
turnCount

### Methods

apply
getAffectedPokemon
getMoveName
getSourcePokemon
lapse
loadTag
onAdd
onOverlap
onRemove

## Constructors

### constructor

- new TrickRoomTag(turnCount: number, sourceId: number): TrickRoomTag

  #### Parameters

  - turnCount: number
  - sourceId: number

  #### Returns TrickRoomTag

  Overrides ArenaTag.constructor

  - Defined in src/data/arena-tag.ts:1067

## Properties

### side

side: ArenaTagSide = ArenaTagSide.BOTH

Inherited from ArenaTag.side

- Defined in src/data/arena-tag.ts:46

### `Optional` sourceId

sourceId?: number

Inherited from ArenaTag.sourceId

- Defined in src/data/arena-tag.ts:45

### `Optional` sourceMove

sourceMove?: Moves

Inherited from ArenaTag.sourceMove

- Defined in src/data/arena-tag.ts:44

### tagType

tagType: ArenaTagType

Inherited from ArenaTag.tagType

- Defined in src/data/arena-tag.ts:42

### turnCount

turnCount: number

Inherited from ArenaTag.turnCount

- Defined in src/data/arena-tag.ts:43

## Methods

### apply

- apply(_arena: Arena , _simulated: boolean, speedReversed: BooleanHolder ): boolean

  Reverses Speed-based turn order for all Pokemon on the field

  #### Parameters

  - _arena: Arena

    n/a

  - _simulated: boolean

    n/a

  - speedReversed: BooleanHolder

    a `BooleanHolder` used to flag if Speed-based turn order should be reversed.

  #### Returns boolean

  `true` if turn order is successfully reversed; `false` otherwise

  Overrides ArenaTag.apply

  - Defined in src/data/arena-tag.ts:1079

### getAffectedPokemon

- getAffectedPokemon(): default []

  Helper function that retrieves the Pokemon affected

  #### Returns default []

  list of PlayerPokemon or EnemyPokemon on the field

  Inherited from ArenaTag.getAffectedPokemon

  - Defined in src/data/arena-tag.ts:100

### getMoveName

- getMoveName(): null | string

  #### Returns null | string

  Inherited from ArenaTag.getMoveName

  - Defined in src/data/arena-tag.ts:72

### getSourcePokemon

- getSourcePokemon(): null | default

  Helper function that retrieves the source Pokemon

  #### Returns null | default

  The source `Pokemon` or `null` if none is found

  Inherited from ArenaTag.getSourcePokemon

  - Defined in src/data/arena-tag.ts:92

### lapse

- lapse(_arena: Arena ): boolean

  #### Parameters

  - _arena: Arena

  #### Returns boolean

  Inherited from ArenaTag.lapse

  - Defined in src/data/arena-tag.ts:68

### loadTag

- loadTag(source: any): void

  When given a arena tag or json representing one, load the data for it. This is meant to be inherited from by any arena tag with custom attributes

  #### Parameters

  - source: any

    An arena tag

  #### Returns void

  Inherited from ArenaTag.loadTag

  - Defined in src/data/arena-tag.ts:81

### onAdd

- onAdd(_arena: Arena ): void

  #### Parameters

  - _arena: Arena

  #### Returns void

  Overrides ArenaTag.onAdd

  - Defined in src/data/arena-tag.ts:1084

### onOverlap

- onOverlap(_arena: Arena , _source: null | default ): void

  #### Parameters

  - _arena: Arena
  - _source: null | default

  #### Returns void

  Inherited from ArenaTag.onOverlap

  - Defined in src/data/arena-tag.ts:66

### onRemove

- onRemove(_arena: Arena ): void

  #### Parameters

  - _arena: Arena

  #### Returns void

  Overrides ArenaTag.onRemove

  - Defined in src/data/arena-tag.ts:1095