AbstractProtectedignoresWhether this protection effect should apply to all moves, including ones that ignore other forms of protection.
ProtectedprotectThe condition function to determine which moves are negated
The side of the field that this arena tag affects.
OptionalsourceThe MoveId that created this tag, or undefined if not set by a move.
Abstract ReadonlytagThe type of the arena tag
The tag's remaining duration. Setting to any number <=0 will make the tag's duration effectively infinite.
Checks incoming moves against the condition function and protects the target if conditions are met
the Arena containing this tag
true if the tag is applied quietly; false otherwise.
a BooleanHolder used to flag if the move is protected against
the attacking Pokemon
the defending Pokemon
the identifier for the move being used
a BooleanHolder used to flag if a protection effect supercedes effects that ignore protection
true if this tag protected against the attack; false otherwise
Helper function that retrieves the Pokemon affected
list of PlayerPokemon or EnemyPokemon on the field
Trigger this ArenaTag's effect, reducing its duration as applicable.
Will ignore durations of all tags with durations <=0.
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
The arena tag being loaded
Class to implement conditional team protection applies protection based on the attributes of incoming moves