In the Pokémon games, the player can capture a Pokémon he/she likes to have in his/her team, but mostly the catch doesn't succeed as they hope it to be. Each Pokémon has a **catch rate**. It depends on the Pokémon, the Pokémon's HP, and the type of Poké Ball the player uses.

The lowest catch rate is 3, which belongs to the Beldum family and almost every legendary Pokémon in the game. A low catch rate means that the Pokémon is very hard to catch, often meaning the player must use over 20 Poké Balls or more. The highest catch rate is 255, which belongs to small Pokémon such as Caterpie or Pidgey, which can be easily caught with a Poké Ball without the need to damage them.

Depending on the amount of HP, current status ailment, level of the Pokémon, and/or the Poké Ball being used, the chances may raise or lower. Because of this, the player may sometimes have to use stronger Poké Balls or more of them to catch the desired Pokémon. If an attempt to catch a Pokémon fails too many times, the Pokémon may flee.

# Formulae

The formulae for catch rate is more complex and different in each generation.

## Generation I

In Generation I, the capture mode differs from the later generations. To determine the catch rate, there are important steps performed below. If, at any point, the Pokémon breaks free, the steps will never be performed.

- 1. If Master Ball is used, the Pokémon is always caught, no matter what.

- 2. Generate a random number, N, depending on the type of ball used.

Important formulae (always denoted in **Θ** (Theta)):

$ \Theta_{PokeBall} = rand(255) $

$ \Theta_{GreatBall} = rand(200) $

- Ultra Ball and Safari Ball:

$ \Theta_{UltraAndSafariBall} = rand(150) $

- 3. The Pokémon is caught if...

- If it is asleep or frozen and
*Θ*is less than 25. - It is paralyzed, burned, or poisoned and
*Θ*is less than 12.

- 4. Otherwise, if
*Θ*minus the status threshold (above) is greater than the Pokémon's catch rate, the Pokémon breaks free. - 5. If not, generate a random value (Denoted by the letter M).

$ M = rand(255) $

- 6. Calculate
**Λ**.

Formula:

$ \Lambda = \frac{\left ( \beta_{max} \times 255 \times 4\right )}{(\beta_{current} \times B)} $

- beta_max - The maximum HP of a Pokémon
- beta_current - The current HP of a Pokémon
- B - The Poké Ball's integer

The minimum value of **Λ** is 1 and its maximum value is 255. The value of **B** is 8 if a Great Ball is used or 12 otherwise.

7. If **Θ** is greater than or equal to **Λ**, the Pokémon is caught. Otherwise, the Pokémon breaks free. In practical terms, lowering the target's HP to 1/3 of its maximum will guarantee capture with a Poké Ball, while lowering it to 1/2 will guarantee capture with a Great Ball.

If the Pokémon broke free, the steps below are performed to determine how many times the ball will shake.

- 1. Calculate
**δ**:

$ \delta = \frac {\Omega \times 100}{B} $

Where the value of Ball is 255 for the Poké Ball, 200 for the Great Ball, or 150 for other balls.

- 2. If
**δ**is greater than or equal to 256, the ball shakes three times before the Pokémon breaks free. - 3. If not, use this formula.

$ x = \frac{\delta \times \Lambda}{255 + \rho} $

Where **ρ** is the status modifier. It is 10 if the Pokémon is asleep or frozen or 5 if it is paralyzed, poisoned, or burned.

4. If...

- x < 10: the Ball misses the Pokémon completely.
- x < 30: the Ball shakes once before the Pokémon breaks free.
- x < 70: the Ball shakes twice before the Pokémon breaks free.
- Otherwise, the Ball shakes three times before the Pokémon breaks free.

### Approximated Probability

Using a simulation of the capture algorithm, a more straightforward and simple formula for the probability of catching a Pokémon was found.

$ Probability = \mu_{0} + \mu_{1} $

μ_0:

$ \mu_0 = \frac{\rho_{ailment}}{B_{mod} + 1} $

Where:

- rho_ailment = 12 if poisoned, burned, or paralyzed, 25 if frozen or asleep, 0 otherwise.
- B_mod = 255 if using a Poké Ball, 200 if using a Great Ball, and 150 otherwise.

μ_1:

$ \mu_1 = \left ( \frac {(\Omega + 1)}{(B_{mod} + 1)} \right ) \times \left ( \frac {(\Lambda + 1)}{256} \right ) $

- Lambda is defined in the above section for the capture method.
- Omega (catch rate) (given as an integer value) is stated on each individual Pokémon's article.

# General Capture Method (Generation II onwards)

The capture algorithms in Generation II and onwards have three crucial parameters: the modified catch rate, the "shake probability", and the "shake checks". Generation II's shake checks handle differently than further generations.

### Modified Catch Rate

The modified catch rate, Ω (Omega), is the catch rate after various factors such as weakening the Pokémon and using stronger Poké Balls are taken into consideration. A modified catch rate may never fall to 0 (that is, render a Pokémon impossible to capture), but it may cause the modified rate to fall below its original unmodified catch rate (such as from high health, Heavy Balls, Baiting in the Safari Zone, or the dark grass penalty in Generation V). In Generation III and Generation IV, the modified catch rate may never fall below 1.[1]

### Shake probability

The shake probability, **φ**, is a value that determines the probability that a single shake check passes..

### Shake checks

Shake checks are performed to determine whether the Pokémon will be caught or, if the Pokémon breaks free, the number of shakes that will occur before it does so. In Generation II, whether a Pokémon will be caught is determined before any shake checks are performed, and shake checks are only performed if the Pokémon is not caught.

## Capture Method (Generation II)

### Formula

The modified catch rate Ω (Omega) is calculated in Generation II as follows:

$ \Omega = \frac {max((3 \times \beta_{max} - 2 \times \beta_{current}) \times R}{\left ((3 \times \beta_{max}), 1 \right ) + \rho_{status}} $

with the final value rounded down to the nearest integer, where

- beta_max - The maximum HP of the targeted Pokémon
- beta_current - The current HP of the targeted Pokémon
- rho_status - The modifier for any status condition the Pokémon has (10 for sleep or freeze, 0 otherwise). It was intended to equal 5 for paralyze, poison, or burn, but due to a glitch, the game skips this check.
- R - The catch rate of a Pokémon.

- If

, then both*3 × Beta_max > 255*

and*3 × Beta_max*

are halved twice (and rounded down after each division) for use in the formula, as the values used are unsigned 8-bit integers. If the latter product is 0, it is set to 1 instead.*2 × HPcurrent*

- If the Pokémon's HP is 342 or greater, the

value will be truncated and the subtraction may underflow, giving bizarre results and even making it possible for the game to freeze; however, no such Pokémon can be legitimately encountered in-game.*3 × Beta_max*

- Ω is capped at 255.

### Shake probability

The shake probability φ is determined from the table below, depending on the value of Ω.

Ω | 0-1 | 2 | 3 | 4 | 5 | 6-7 | 8-10 | 11-15 | 16-20 | 21-30 | 31-40 | 41-50 | 51-60 | 61-80 | 81-100 | 101-120 | 121-140 | 141-160 | 161-180 | 181-200 | 201-220 | 221-240 | 241-254 | 255 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

φ | 63 | 75 | 84 | 90 | 95 | 103 | 113 | 126 | 134 | 149 | 160 | 169 | 177 | 191 | 201 | 211 | 220 | 227 | 234 | 240 | 246 | 251 | 253 | 255 |

### Shake checks

First, a check is performed to determine whether the Pokémon is caught at all. A random number between 0 and 255 is generated, and if this number is less than or equal to a, the Pokémon is caught.

Shake checks are only performed if the Pokémon is not caught. A single shake check consists of generating a random number between 0 and 255 and comparing it to b. This is done at most three times, but if the number generated in a given shake check is greater than or equal to b, no further shake checks will be performed. The number of times the ball shakes is the same as the number of shake checks that were performed.