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
Whether the source of the stat stages were from the user's own move
Optional ReadonlysimulatedWhether the ability's effects are being simulated (for instance, during AI damage calculations).
The amount of stages that the stats changed by
The stats that were changed
Base set of parameters passed to every ability attribute's
applymethod.Extended by sub-classes to contain additional parameters pertaining to the ability type(s) being triggered.