The YouTube video "Can You Beat Pokemon Red/Blue With Only a Ditto?" by Pikasprey Yellow used a strategy where, for some Pokémon battles, they intentionally walked into the battle with 0 PP on their Ditto's Transform in order to use Struggle (which, given that it was a Normal type move in Generation 1, was more effective in some cases).

However, he found that around the time he made it to Fuschia City, the game refused to do this. Whenever he walked into a battle with 0 PP on Transform, he would simply be told that there is not enough PP, but it wouldn't go ahead and trigger Struggle. All he could do was just pass turns by using the Poké Flute until the opponent KO'd him.

The only cheating that Pikasprey Yellow used was to start the game with Ditto, rather than one of the typical starters. Did that somehow cause this behavior? Why can Ditto permanently forget how to use Struggle in Generation 1 when Transform is out of PP?

  • 4
    I'm honestly not sure why this question is closed, because it's very clearly not developer intent. By definition a glitch isn't intentional, and even if it was, questions asking how mechanics work is perfectly on-topic on the site. Asking how glitches work and how to exploit them is also perfectly on-topic as well, and here are just three examples of open and well received questions in the same vein.
    – Wipqozn
    Aug 30, 2018 at 11:41

1 Answer 1


Credit to Crystal_ @ forums.glitchcity.info

Quoted from the source:

  • When FIGHT is selected, the game parses all four PP slots, and if they are all zero, uses Struggle. Normally, an empty move's PP slot is zero, but we will see that there can be an edge case...
  • The active Pokémon is copied to a region of memory (so the game can use this instead having to constantly modify party data). For things such as HP, status, and PP, the game needs to also update the party data.
  • There is one exception to this : when a Pokémon is under Transform, the party data must not be updated. For example, PP is not subtracted from the party data.
  • When Mirror Move (or Metronome) is used, the game will decrement the PP of Mirror Move twice (once when it's actually used, and once when the move it represents is used). Thus, the game increments the PP of Mirror Move once, to compensate.

All of these make sense -- it's how the game works. But here's the catch : the "PP increment" function doesn't check for the Transformed status !

Here's how to trigger the glitch :

  1. Have any Pokémon with Transform (typically Ditto, but also Mew, or a Pokémon with Metronome) face against a Pokémon knowing Mirror Move or Metronome
  2. Transform into the Pokémon with Mirror Move;
  3. Use the move;
  4. The game will decrement Mirror Move's PP (but it won't because Transform);
    • (If the move fails, nothing else happens);
  5. The game will increment Mirror Move's PP (thus, it will increment the PP in the corresponding slot);
  6. The game will decrement Mirror Move's PP (but it won't because Transform)

Thus, the game increments a move's PP in the Pokémon's data. If the move is present, then it will just have incremented it, no biggie.

If it's not, this creates a slot that is empty, but with non-zero PP ! Thus, the game fails to use Struggle.


Disable first checks if there is a slot with non-zero PP, and if this fails, misses. With a Struggle-less Pokémon, this will always succeed, because of the glitched slot. Then, Disable will attempt to pick a slot which must have a move AND non-zero PP. Assuming Transform has 0 PP, the game will never find such a slot (since the only slot with non-zero PP has no move). Bam, infinite loop, and softlock.

  • 22
    And the reason this glitch happened around Fuschia City is probably because of the prevalence of Spearow/Fearow around that area. The Spearow line learns mirror move at Level 20+ IIRC, which is about the level of wild Pokemon in the areas surrounding Fuschia.
    – Robotnik
    Aug 27, 2018 at 2:05
  • 1
    So if you don't use Mirror Move or Metronome then you're immune to the glitch? Aug 27, 2018 at 14:01
  • 12
    See also Crystal_'s video on the topic: youtu.be/_c7tQkSyz7E. Just use Mirror Move a total of 255 times in that slot to get Struggle back!
    – CAD97
    Aug 27, 2018 at 15:14
  • 3
    @Nelson it's a challenge where the person is trying to beat the game with only one pokemon. recatching a ditto wouldn't work. However, using a cheat code to flush out the glitched slot might work and might not be against the rules.
    – user64742
    Aug 28, 2018 at 3:32
  • 2
    So this means if you had a Mew use transform, and then cast Mirror Move, it would actually give Mew's ability in that slot +1 PP, right? The bug comes in when there is no move in that slot when the Pokemon is not transformed from what I can tell. So if a Mew had a move with 0 PP in the slot Mirror Move replaced, then it would have 1 PP after Mirror Move is used, and thus without any healing or items, the next battle Mew could use that move once, correct?
    – Ryan
    Aug 28, 2018 at 17:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .