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

# Class FairyLockTag

Arena Tag class for Fairy Lock. Fairy Lock prevents all Pokémon (except Ghost types) on the field from switching out or fleeing during their next turn. If a Pokémon that's on the field when Fairy Lock is used goes on to faint later in the same turn, the Pokémon that replaces it will still be unable to switch out in the following turn.

#### Hierarchy (View Summary)

- ArenaTag
  - FairyLockTag

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

##### Index

### Constructors

constructor

### Properties

side
sourceId?
sourceMove?
tagType
turnCount

### Methods

apply
getAffectedPokemon
getMoveName
getSourcePokemon
lapse
loadTag
onAdd
onOverlap
onRemove

## Constructors

### constructor

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

  #### Parameters

  - turnCount: number
  - sourceId: number

  #### Returns FairyLockTag

  Overrides ArenaTag.constructor

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

## 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, ..._args: unknown[]): boolean

  #### Parameters

  - _arena: Arena
  - _simulated: boolean
  - ..._args: unknown[]

  #### Returns boolean

  Inherited from ArenaTag.apply

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

### 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:1406

### 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 , quiet?: boolean): void

  #### Parameters

  - _arena: Arena
  - quiet: boolean = false

  #### Returns void

  Inherited from ArenaTag.onRemove

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