Optional
condition: PokemonAttackConditionThe pokemon to apply this ability to
Whether or not the ability is a passive
Whether the call is simulated
Extra args passed to the function. Handled by child classes.
The pokemon that has the move type changing ability and is using the attacking move
Unused
Unused
The pokemon being attacked (unused)
The move being used
args[0] holds the type that the move is changed to, args[1] holds the multiplier
Returns a boolean describing whether the ability can be applied under current conditions
The pokemon to apply this ability to
Whether or not the ability is a passive
Whether the call is simulated
Extra args passed to the function. Handled by child classes.
true
if the ability can be applied, false
otherwise
Determine if the move type change attribute can be applied
Can be applied if:
Moves.MULTI_ATTACK
The pokemon that has the move type changing ability and is using the attacking move
Unused
Unused
The pokemon being attacked (unused)
The move being used
args[0] holds the type that the move is changed to, args[1] holds the multiplier
whether the move type change attribute can be applied
Applies ability effects without checking conditions