Holds whether the standard "no effect" message (due to a type-based immunity) should be suppressed
The move used by (or against, for defend attributes) the pokemon with the ability
The pokemon on the other side of the interaction
Optionalpassive(For callers of applyAbAttrs): If provided, only apply ability attributes of the passive (true) or active (false).
This should almost always be left undefined, as otherwise it will only apply attributes of either the pokemon's passive (true) or non-passive (false) ability. In almost all cases, you want to apply attributes that are from either.
(For implementations of AbAttr): This will never be undefined, and will be true if the ability being applied
is the pokemon's passive, and false otherwise.
ReadonlypokemonThe pokemon that has the ability being applied
Optional ReadonlysimulatedWhether the ability's effects are being simulated (for instance, during AI damage calculations).
Shared interface for AbAttrs that interact with a move that is being used by or against the user.
Often extended by other interfaces to add more parameters. Used, e.g. by
PreDefendAbAttrandPostAttackAbAttr