Please donate money and help me raise over $3100 for my education.

Pokémon Red, Blue, and Yellow - Catch Rate Formula

Here is the method for determining whether a ball will successfully capture a Pokémon.

  • If the Master Ball is used, the Pokemon is caught.
  • A random number, R1, is generated.
    • If the Poké Ball is used, R1 is a random number from 0 through 255.
    • If the Great Ball is used, R1 is a random number from 0 through 200.
    • If the Ultra or Safari Ball is used, R1 is a random number from 0 through 150.
  • A variable, C, is set to 0.
    • If the Pokemon is asleep or frozen, C is set to 12.
    • If the Pokemon is burned, poisoned, or paralyzed, C is set to 25.
    • If R1 is less than C, the Pokemon is caught.
  • A variable F4 is set to max(255,int(int((B*255)/A)/min(1,int(C/4))) where:
    • A = 8 if the Great Ball is used, else 12
    • B = Pokemon's total HP
    • C = Pokemon's current HP
  • If the Pokemon's rareness* is less than R1, the Pokemon breaks free.
  • R2 is a random number from 0 through 255.
    • If F4 is less than R2, the Pokemon breaks free. Otherwise, the Pokemon is caught.

A wild Pokemon can be caught with a Ball even if it's currently using Dig or Fly. If the capture fails, that doesn't affect the wild Pokemon's two-turn attack.

* A Pokemon's rareness can be found at this page.

Please donate money and help me raise over $3100 for my education.


Discussion