PokéRogue
    Preparing search index...

    Class ArenaTagAbstract

    An ArenaTag represents a semi-persistent effect affecting a given side of the field. Unlike BattlerTags (which are tied to individual Pokemon), ArenaTags function independently of the Pokemon currently on-field, only cleared on arena reset or through their respective lapse methods.

    Hierarchy (View Summary)

    Implements

    • BaseArenaTag
    Index

    Constructors

    Properties

    maxDuration: number

    The tag's max duration.

    The side of the field that this arena tag affects.

    ArenaTagSide.BOTH

    sourceId: undefined | number

    The PID of the Pokemon having created the tag, or undefined if not set by a Pokemon.

    sourceMove?: MoveId

    The MoveId that created this tag, or undefined if not set by a move.

    tagType: ArenaTagType

    The type of the arena tag

    turnCount: number

    The tag's remaining duration. Setting to any number <=0 will make the tag's duration effectively infinite.

    Accessors

    • get i18nSideKey(): string
      Sealed

      Returns string

      A suffix corresponding to this tag's current side.

    • get onAddMessageKey(): string

      Return the i18n locales key that will be shown when this tag is added.
      Within the text, {{pokemonNameWithAffix}} and {{moveName}} will be populated with the name of the Pokemon that added the tag and the name of the move that created the tag, respectively.

      Returns string

      If this evaluates to an empty string, no message will be displayed.

    • get onRemoveMessageKey(): string

      Return the i18n locales key that will be shown when this tag is removed.
      Within the text, {{pokemonNameWithAffix}} and {{moveName}} will be populated with the name of the Pokemon that added the tag and the name of the move that created the tag, respectively.

      Returns string

      If this evaluates to an empty string, no message will be displayed.

    Methods

    • Apply this tag's effects during a turn.

      Parameters

      • ..._args: unknown[]

        Arguments used by subclasses.

      Returns void

    • Return whether this Tag can affect the given Pokemon, based on this tag's side.

      Parameters

      Returns boolean

      Whether this tag can affect pokemon.

    • Helper function that retrieves the source Pokemon.

      Returns undefined | Pokemon

      • The source Pokemon for this tag. Returns undefined if this.sourceId is undefined
    • Reduce this ArenaTag's duration and apply any end-of-turn effects Will ignore durations of all tags with durations <=0.

      Returns boolean

      true if this tag should be kept; false if it should be removed.

    • 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

      Type Parameters

      Parameters

      • source: BaseArenaTag & Pick<T, "tagType">

        The arena tag being loaded

      Returns void

    • Trigger effects when this tag is added to the Arena. By default, will queue a message with the contents of getOnAddMessage.

      Parameters

      • quiet: boolean = false

        Whether to suppress any messages created during tag addition; default false

      Returns void

    • Apply effects when this Tag overlaps by creating a new instance while one is already present.

      Parameters

      • Optional_source: Pokemon

        The Pokemon having added the tag

      Returns void

    • Trigger effects when this tag is removed from the Arena. By default, will queue a message with the contents of getOnRemoveMessage.

      Parameters

      • quiet: boolean = false

        Whether to suppress any messages created during tag addition; default false

      Returns void