I ran out of attack PP in a battle with Magikarp, what can I do?

It's very nearly impossible to get caught in a never-ending loop, due to the move Struggle, which is the move your Pokemon uses when it can't use any other move.

You can still win this battle, but it will take some planning:

There are a few things that can happen here.

Firstly, if you have Ether or Elixir (or the Max Ether/Elixir), you can restore some of the PP of the attacking move mid-battle, allowing you to continue using your attack. If you don't have Ether or Elixir, you will continue to use up the PP of your non-damaging moves until one of two things happen:

  1. You completely run out of PP, resorting to Struggle, and losing 1/2 your damage dealt in recoil per turn
  2. The Magikarp runs out of PP, also resorting to Struggle, and also losing 1/2 damage dealt in recoil per turn.

Splash has a maximum 40 PP. Minus the moves you've both already used, if you can survive using your other non-damaging moves long enough, it will be the Magikarp that Struggle's itself into fainting, not you.

Of course, even if your other moves don't have enough PP, you have a trump card. That Silcoon you said was useless? Switch to it. Then switch back. And switch again and so on. Switching counts as a move, and that Magikarp will just keep Splashing away while you don't use any PP. Do this for long enough and the Magikarp will start Struggling, hurting itself more than you, and eventually fainting.

Is it cheesy? Yes. Will it take forever? Yes. But either way, someone's gonna have to Struggle themselves into fainting, and it may as well not be you.


From the Pokemon Wiki under Struggle:

Struggle (Japanese: わるあがき Vain Struggle) is a Physical Normal-type move that cannot be learned naturally by any Pokémon. It can only be used if a Pokémon cannot use any moves, most commonly due to a lack of PP.

Once you use up all your ability, any FIGHT action will automatically use Struggle. It's a weak attack, but it's more like a countdown before you're self-KO'd.