From Glitch City Laboratories
The PP Reset Glitch is a glitch in the Generation I Pokémon games. It abuses an oversight regarding moves which are selected automatically by the game engine and potentially allows a Pokémon to have one of their moves' PP underflow to large values after reaching zero.
Moves that cause an auto-select
This glitch functions by abusing an automatically selected move. In normal gameplay, moves are automatically selected after the player uses a certain move such as Bind or Metronome. Below are a list of moves which in term, allow the player to perform a move automatically.
- Fire Spin
- Hyper Beam
While these moves are not absolutely necessary for the glitch, it will make performing it considerably easier.
- A Pokémon to use for the glitch, preferably knowing any of the moves listed above. If the Pokémon used does not know any of these moves, it will have to choose a move just before becoming frozen on the same turn, and defrost on the second turn. This requires the opponent to either use a Fire-type move or Haze as Pokémon cannot thaw out on their own in Generation I.
- Make sure the move that will be used for the glitch is at 1 PP, or a slightly higher number for the trapping moves.
- If the Pokémon used does not know any of the moves listed above, have it become frozen.
- Perform the move. If a frozen Pokémon is used, it will have to thaw out when the move is used for the glitch to occur.
The move's PP will now become 63, regardless of whether PP Ups had been used on the move.
How it works
The reason this glitch occurs is that in Generation I, there was no check to prevent a move's use after an auto-select with 0 PP. This was first added in Generation II.
The amount of PP given to the move after it underflows is determined by the amount of PP Ups that were used on the move. In Generation I, the PP of moves was stored in one byte, in which the first two bits stored the amount of PP Ups used on any move, and the last six stored the amount of remaining PP. So, when a move with 0 PP is used, its value resets to 255, giving the move 63 PP. This value is higher than any attainable without this glitch, as moves in Generations I and II with 40 base PP maxed out at 61, likely due to a lack of data space. If no PP Ups were previously used on the move, the maximum amount will be applied. If PP Ups were previously used on the move, the move will lose one PP Up.
- Move AI Glitch
- Fire Spin glitch