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

# Class WeakenMoveScreenTag

Reduces the damage of specific move categories in the arena.

#### Hierarchy (View Summary)

- ArenaTag
  - WeakenMoveScreenTag

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

##### Index

### Constructors

constructor

### Properties

side
sourceId?
sourceMove?
tagType
turnCount
weakenedCategories

### Methods

apply
getAffectedPokemon
getMoveName
getSourcePokemon
lapse
loadTag
onAdd
onOverlap
onRemove

## Constructors

### constructor

- new WeakenMoveScreenTag(
  tagType: ArenaTagType ,
  turnCount: number,
  sourceMove: Moves ,
  sourceId: number,
  side: ArenaTagSide ,
  weakenedCategories: MoveCategory [],
  ): WeakenMoveScreenTag

  Creates a new instance of the WeakenMoveScreenTag class.

  #### Parameters

  - tagType: ArenaTagType

    The type of the arena tag.

  - turnCount: number

    The number of turns the tag is active.

  - sourceMove: Moves

    The move that created the tag.

  - sourceId: number

    The ID of the source of the tag.

  - side: ArenaTagSide

    The side (player or enemy) the tag affects.

  - weakenedCategories: MoveCategory []

    The categories of moves that are weakened by this tag.

  #### Returns WeakenMoveScreenTag

  Overrides ArenaTag.constructor

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

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

### `Protected` weakenedCategories

weakenedCategories: MoveCategory []

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

## Methods

### apply

- apply(
  _arena: Arena ,
  _simulated: boolean,
  attacker: default ,
  moveCategory: MoveCategory ,
  damageMultiplier: NumberHolder ,
  ): boolean

  Applies the weakening effect to the move.

  #### Parameters

  - _arena: Arena

    the `Arena` where the move is applied.

  - _simulated: boolean

    n/a

  - attacker: default

    the attacking `Pokemon`

  - moveCategory: MoveCategory

    the attacking move's `MoveCategory`.

  - damageMultiplier: NumberHolder

    A `NumberHolder` containing the damage multiplier

  #### Returns boolean

  `true` if the attacking move was weakened; `false` otherwise.

  Overrides ArenaTag.apply

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

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

  #### Parameters

  - _arena: Arena
  - _quiet: boolean = false

  #### Returns void

  Inherited from ArenaTag.onAdd

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

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