OptionalmaxPpOverride: numberOptionalmaxIf defined and nonzero, overrides the maximum PP of the move (e.g., due to move being copied by Transform).
This also nullifies all effects of ppUp.
Determine whether the move can be selected by the pokemon based on its own requirements
The Pokemon under consideration
An tuple containing a boolean indicating whether the move can be selected, and a string with the reason if it cannot
Does not check for PP, moves blocked by challenges, or unimplemented moves, all of which are handled by isUsable
Checks whether this move can be performed by a Pokemon, without consideration for the move's targets. The move is unusable if it is out of PP, restricted by an effect, or unimplemented.
Should not be confused with isSelectable, which only checks if the move can be selected by a Pokemon.
A tuple containing a boolean indicating whether the move can be selected, and a string with the reason if it cannot
StaticloadCopies an existing move or creates a valid PokemonMove object from json representing one
The data for the move to copy; can be a PokemonMove or JSON object representing one
A valid PokemonMove object
Wrapper class for the
Moveclass for Pokemon to interact with. These are the moves assigned to aPokemonobject. It links toMoveclass via the move ID. Compared toMove, this class also tracks things like PP Ups received, PP used, etc.See
isUsable- checks if move is restricted, out of PP, or not implemented.getMove- returnsMoveobject by looking it up via ID.usePp- removes a point of PP from the move.getMovePp- returns amount of PP a move currently has.getPpRatio- returns the current PP amount / max PP amount.getName- returns name ofMove.