Catch rate: Difference between revisions
(→Trivia) |
m (→Trivia) |
||
Line 49: | Line 49: | ||
==Trivia== | ==Trivia== | ||
Legendary Pokémon | Most Legendary Pokémon have a catch rate of 3 because it assures that the catch rate is always at least 1. This might be because the final result for ''a'' is rounded ''down'' when it is calculated, and to have a catch rate of zero would result in an error when trying to calculate ''b''. | ||
==See also== | ==See also== |
Revision as of 09:02, 11 August 2010
Each species of Pokémon has a catch rate, a number out of a maximum of 255, that applies to all its members. When a Poké Ball is thrown at a wild Pokémon, the game uses a formula based on its current health, any status effect it may have, and that Pokémon's catch rate, to determine the chances of catching that Pokémon.
Approximately, the probability of catching a Pokémon starts with the species' catch rate divided by 255. Then it is multiplied by the following factors:
- The health of the Pokémon (relative to its full health), which can reduce the probability to ⅓× at full health.
- The type of Poké Ball, which can augment by some ×.
- The status of the wild Pokémon, i.e. 2× increase for sleep or freeze, and 1.5× for others.
The effects stack multiplicatively — for example, a 2× and a 3× will combine to be 6×. If the calculation ends up greater than 1, the wild Pokémon is assured to be caught.
The rarity of the Pokémon (i.e. how often it appears in the wild) is totally independent from its catch rate after it is encountered. Even rare Pokémon may have high catch rates, making them relatively easy to catch in battle, such as Nosepass (catch rate 255).
Exact formula
The exact formula is as follows:
Where
- HPmax is the number of hit points the Pokémon has at full health,
- HPcurrent is the number of hit points the Pokémon has at the moment,
- rate is the catch rate of the Pokémon,
- bonusball is the multiplier for the Poké Ball used, and
- bonusstatus is the multiplier for any status ailment the Pokémon has (2 for sleep and freeze, 1.5 for paralyze, poison and burn).
Given this formula, the maximum value for a (if the Pokémon could have 0 HP) would be catch rate × bonusball × bonusstatus. The minimum value for a (for a Pokémon with full health) would be ⅓ × catch rate.
Calculate b as follows:
Then generate 4 random numbers between 0 and 65535, inclusive. For each number, check whether it's less than b; if so, the ball shakes once. If any number is greater than or equal to b, the Pokémon immediately breaks free. If all four of the numbers are less than b, then the Pokémon is caught. Note that if a is 255 or greater, then b is 65535 or greater, and then the Pokémon is guaranteed to be caught.
Therefore, the probability p of catching a Pokémon, given the values a and b calculated above, is:
The second expression for p may be expanded as follows:
Since (216 - 1)4 ≈ 264, we can approximate p with the following expression:
The percentage error in this approximation approaches 0 as a approaches 255, and does not exceed 21.2%.
For a constant probability p, the probability P that a player can capture the Pokémon with no more than r tries is:
Note that this is the cumulative probability function for a geometric distribution. The expected value of r is 1/p, that is to say, on average, a Pokémon that can be caught with probability p will be caught with 1/p tries.
The inverse problem, the number of tries, r, needed to have a probability P of capturing a Pokémon is:
Examples
Most legendary Pokémon have a catch rate of three. Assuming its HP is almost depleted and it is paralyzed, and Dusk Ball is used at night or in a cave, then the chance of catching the Pokémon with each ball is approximated by 3 * 3.5 * 1.5 / 255 = 15.75/255 ~ 6.2%, resulting in about 16 Dusk Balls required to catch the Pokémon on average.
If an Ultra Ball was used instead, then the chance drops to 3 * 2 * 1.5 / 255 = 9/255 ~ 3.5%, which amounts to about 28 Ultra Balls on average.
Trivia
Most Legendary Pokémon have a catch rate of 3 because it assures that the catch rate is always at least 1. This might be because the final result for a is rounded down when it is calculated, and to have a catch rate of zero would result in an error when trying to calculate b.
See also
References
- ポケットモンスター情報センター 2号館: ボール