Capture Mechanics (In-Depth)![]()
IntroductionThe likelihood of capture for wild Pokémon depends on a built-in formula. This formula relies on values such as CatchRate, BallRate, and MaxHP to determine whether a specific Pokémon will be easily caught or will require some effort and patience on behalf of the player. The information in this article focuses on this formula and its application in third and fourth generation Pokémon games. The Capture Rate FormulaThe Capture Rate Formula determines the probability of successfully capturing a Pokémon. The actual in-game formula is quite complex, so Community Member X-Act made a formula that produces nearly exact results: Capture Rate = (( 1 + ( MaxHP × 3 - CurrentHP × 2 ) × CatchRate × BallRate × Status# ) ÷ ( MaxHP × 3 )) ÷ 256 The equation is based on five variables that depend on the Pokémon and the Poké Ball used to catch it. The +1 and division by 256 make the Capture Rate a decimal, which can be multiplied by 100% to produce a percentage of capture. A Capture Rate of 1 or more denotes a guaranteed capture. Since Pokémon games use integers, it is necessary to round down any numbers obtained while using the formula; this applies to all values obtained while calculating the final result (not just the final value). Therefore, you must remember to round down any non-integers before performing the next action to obtain accurate results. This equation is applicable to both third and fourth generation games. Technical InformationThe following is an analysis of the different variables involved in the Capture Rate equation along with some noticeable trends in the Capture Rate based on factors like MaxHP and the type of Poké Ball used on the Pokémon. MaxHPMaxHP refers to the maximum Hit Points (HP) of a Pokémon. This value varies depending on the Pokémon's IVs and level. Determining a Pokémon's maximum HP while battling is very difficult; however, thanks to RNG abuse, it's possible to calculate the MaxHP since the abuser knows the HP IV of the Pokémon he or she is attempting to catch. At first glance it may not be apparent, but the greater the Pokémon's maximum HP, the higher its Capture Rate. Converting the equation into the following makes it more noticeable: Capture Rate = [(1÷ MaxHP × 3) + (CatchRate × BallRate × Status#) – ((CurrentHP × 2 × CatchRate × BallRate × Status# )÷ ( MaxHP × 3 ))] ÷ 256 Since the maximum HP is in the denominator of the expression ((CurrentHP × 2 × CatchRate × BallRate × Status#) ÷ ( MaxHP × 3 )), the larger its value, the smaller the result of the expression. Therefore, the expression's result will have less of an impact when it is subtracted from the rest of the values in the formula. For this to hold true, all other variables in the equation (BallRate, CatchRate, and Status#) must be kept constant when comparing Pokémon with different maximum HP. Furthermore, if the Pokémon is at full health, then the opposite occurs and the lower the MaxHP, the higher the Capture Rate. This is because the fraction ((CurrentHP × 2 × CatchRate × BallRate × Status#) ÷ (MaxHP × 3 )) becomes a constant (all other values are set) when CurrentHP equals MaxHP. Consequently, the only value affecting the capture rate when comparing different MaxHP values is (1÷ MaxHP × 3), which becomes greater as MaxHP decreases. Current HPCurrrentHP is the HP a Pokémon has at a point in time. This value changes as the Pokémon takes damage or recovers HP, and has a minimum value of 1 before the Pokémon faints. From the Capture Rate Formula, the greater the CurrentHP, the lower the capture rate, as the CurrentHP is subtracted from the other values in the formula. When the Pokémon's CurrentHP equals its MaxHP (when it is at full health), the equation becomes the following: Capture Rate = [(1÷ MaxHP × 3) + ((CatchRate × BallRate × Status#) ÷ 3)] ÷ 256 Essentially, a Pokémon's Capture Rate is given by the expression ((CatchRate × BallRate × Status#) ÷ 3) ÷ 256 since the value (1÷ MaxHP × 3) ÷ 256 is negligible. Furthermore, the Capture Rate is equal to a third of the Pokémon's CatchRate when it is at full health and the BallRate and Status# are equal to 1. Alternatively, one could say that damaging a Pokémon will at most triple its capture rate. CatchRateThe CatchRate is a numerical value that ranges from 1-255 and is assigned to each Pokémon to gauge the relative ease of catching that Pokémon. The CatchRate is set for each Pokémon, and as the CatchRate increases, so does the Capture Rate of a Pokémon. Although the CatchRate is a set value, it can be modified with the effects of the Apricorn Balls in HeartGold and SoulSilver. Most of the Apricorn Balls modify the CatchRate by applying multipliers to it, which can be expressed as the BallRate. However, the Heavy Ball actually adds or subtracts from the CatchRate, which cannot be emulated by the BallRate. Furthermore, the Apricorn Ball modifier is applied before the game adjusts the CatchRate to a value in the range of 1 to 255, so at most an Apricorn Ball will have raised the CatchRate to 255; the BallRate doesn't adhere to that restriction. If the CatchRate exceeds 255, the game brings it back down to 255 when calculating the capture rate. Additionally, if one tries to catch a Pokémon at full health with an Apricorn Ball, the chances of capturing it would not be greater than 1/3 due to the limit on the CatchRate. Mathematically, this can be illustrated by the expression ((CatchRate × BallRate × Status#) ÷ 3) ÷ 256, inserting values for the variables gives the following: (255 × 1 × 1) ÷ 3)) ÷ 256 = (255 ÷ 3) ÷ 256 = 0.332, which is about 33% or 1/3 chance of a successful capture. However, inflicting status or damaging the Pokémon improves the chances of a catching it and brings those odds well above a 1 in 3 chance. Due to the CatchRate's 255 maximum, the Apricorn Balls are best used on Pokémon with a low CatchRate, such as legendary Pokémon, to reap the complete benefit of the Apricorn Ball modifier; using them on Pokémon with high CatchRates would make their effects almost negligible, and their function comparable to a regular Poké Ball. BallRateThe BallRate is a multiplier, for which the value changes depending on the Poké Ball used for the capture. Every Poké Ball has its own BallRate, though the value of the BallRate for an individual Poké Ball can change depending on the conditions of the battle, such as time of day or location. In HGSS, the Apricorn Balls apply their modifiers to the CatchRate, so their BallRate is considered to be 1. Finally, the BallRate is the only value in the Capture Rate Formula that can be a decimal and not rounded down. However, any value obtained by performing an action with the BallRate, such as CatchRate × BallRate × Status#, must be rounded down. Status#The Status# is a modifier that becomes significant when the Pokémon is inflicted with a status condition. The values for each condition are as follows: Status#s:
Sleep and freeze are the most effective status conditions, though all status conditions increase the Capture Rate. Staying in the BallIn addition to calculating a Pokémon's Capture Rate, the game also determines the probability of a Pokémon remaining inside any given Poké Ball or breaking out of it. The following equation is used to determine whether it stays inside or breaks out: B = 1048560 ÷ √(√(16711680 ÷ Capture Rate)) B is the probability that the Pokémon will remain inside the Poké Ball. The Capture Rate used for this calculation is the unmodified Capture Rate and can be obtained from the following equation: Capture Rate = (( MaxHP × 3 - CurrentHP × 2 ) × CatchRate × BallRate × Status# ) ÷ ( MaxHP × 3 )) Once the Capture Rate is calculated from the previous equation, it is inserted into the first equation and a value from 0 to 65535 is produced; 65535 is the maximum value of an unsigned 16-bit integer and is used often in computer systems. The Trainer ID is another value found in Pokémon games that has 65535 as its maximum. Now, once the result is obtained from the equation, it can be treated as the strength of the Poké Ball relative to the Pokémon. The Pokémon makes up to four attempts to break out of the Poké Ball, represented by the Poké Ball wobbling for the first three attempts and possibly sealing on the fourth. For every attempt a random integer between 0 and 65535 will be selected and compared to the value of B. If the random integer is greater than or equal to B, then the Pokémon will break out of the Ball. Conversely, if it is less than B then the Pokémon will remain trapped inside the ball after it wobbles. If all four of the random integers selected at each attempt are smaller than B, then the ball will seal at the fourth attempt and the Pokémon has been captured. Sample CalculationsMathematical representations and explanations of trends found in the Capture Rate equation, as well as how to use the various equations presented in the article. Effectiveness of 3 different Balls on Kyogre: Kyogre: MaxHP = 175, CurrentHP = 1, Status: asleep, CatchRate: 5 Net Ball (BallRate: 3) Capture Rate = ((1 + (175 × 3 – 1 × 2) × 5 × 3 × 2) ÷ (175 × 3)) ÷ 256 = ((1 + 523 × 5 × 3 × 2) ÷ (525)) ÷ 256 = (15691 ÷ 525) ÷ 256 = 29 ÷ 256 = 0.1133 = 11.33% Dive Ball (BallRate: 3.5); only applicable in RSE Capture Rate = ((1 + (175 × 3 – 1 × 2) × 5 × 3.5 × 2) ÷ (175 × 3)) ÷ 256 = ((1 + 523 × 5 × 3.5 × 2) ÷ (525)) ÷ 256 = (18306 ÷ 525) ÷ 256 = 34 ÷ 256 = 0.1328 = 13.28% Heavy Ball (CatchRate Modifier: +30) Capture Rate = ((1 + (175 × 3 – 1 × 2) × (5 + 30) × 1 × 2) ÷ (175 × 3)) ÷ 256 = ((1 + 523 × (5 + 30) × 1 × 2) ÷ (525)) ÷ 256 = ((1 + 523 × 35 × 1 × 2) ÷ (525)) ÷ 256 = (36611 ÷ 525) ÷ 256 = 69 ÷ 256 = 0.2695 = 26.95% Conclusion: Heavy Ball effectively doubles Kyogre's Capture Rate. The difference between the Net and Dive Balls is minimal. Difference between Apricorn Balls and Poké Balls with a BallRate greater than 1 on Pokémon with high CatchRates: Natu: MaxHP = 60, CurrentHP = 60, Status: none, CatchRate: 190 Level Ball (CatchRate Modifier: ×8, maximum) Capture Rate = ((1 + (60 × 3 – 60 × 2) × (190 × 8) × 1 × 1) ÷ (60 × 3)) ÷ 256 = ((1 + 60 × (190 × 8) × 1 × 1) ÷ (60 × 3)) ÷ 256 = ((1 + 60 × 1520 × 1 × 1) ÷ (60 ×3)) ÷ 256 CatchRate has a maximum of 255, values higher than 255 are set to 255. = ((1 + 60 × 255 × 1 × 1) ÷ (60 × 3)) ÷ 256 = (15301 ÷ (60 × 3)) ÷ 256 = (15301 ÷ 180) ÷ 256 = 85 ÷ 256 = 0.3321 = 33.21% Quick Ball (BallRate: 4, assume used on turn 1) Capture Rate = ((1 + (60 × 3 – 60 × 2) × 190 × 4 × 1) ÷ (60 × 3)) ÷ 256 = ((1 + 60 × 190 × 4 × 1) ÷ (60 × 3)) ÷ 256 = (45601 ÷ (60 × 3)) ÷ 256 = (45601 ÷ 180) ÷ 256 = 253 ÷ 256 = 0.9883 = 98.83% Conclusion: Apricorn Balls aren't effective in catching Pokémon with high CatchRates due to the 255 maximum. Poké Balls that have BallRate modifiers greater than 1 are best in these situations. Demonstration of the use of the equation that determines the probability of a Pokémon breaking out of a specific Poké Ball using the unmodified Capture Rate. Raikou: MaxHP = 134, CurrentHP = 1, Status: sleep, CatchRate: 3 Fast Ball (CatchRate Modifier ×4) Capture Rate = (134 × 3 – 1 × 2) × (3 × 4) × 1 × 2) ÷ (134 × 3)) = (400 × (3 × 4) × 1 × 2) ÷ (134 × 3)) = (400 × 12 × 1 × 2) ÷ (134 × 3)) = (9600) ÷ (134 × 3) = 9600 ÷ 402 = 23.8806 = 23 (Pokémon games round down values to integers) Insert Capture Rate from the previous equation into the equation: B = 1048560 ÷ √(√(16711680 ÷ Capture Rate)) The value of B gives a numerical representation of the probability that the Pokemon being caught will break out of the Ball (in this case the Fast Ball). B = 1048560 ÷ √(√(16711680 ÷ 23)) = 1048560 ÷ √(√726594) = 1048560 ÷ √852 = 1048560 ÷ 29 = 36157 Conclusion: If the random value selected for each attempt Raikou makes to break out of the Fast Ball is lower than 36157, then the Fast Ball will shake, and Raikou will remain inside. However, if it is greater than 36157, then Raikou will break out. If the random value is lower on all four attempts, then the Fast Ball will seal on the fourth attempt and Raikou will be caught. Essentially, Raikou has less than a 50% chance per attempt of breaking out of a Fast Ball when it is asleep and down to 1 HP. Poké BallsThe following is a complete list of all Poké Balls available in third and fourth generation games, their BallRates, and their effects:
Apricorn Balls are obtained in HGSS and behave differently to the aforementioned Balls, as they affect the CatchRate of a Pokémon. The following is a list of all the Apricorn Balls available in HGSS and their modifier:
CatchRate ValuesThe CatchRate is a value between 1 and 255 assigned to each Pokémon that help gauge how difficult it is to catch a certain Pokémon. The following is a list of Pokémon that can be caught in third or fourth generation games, arranged by National Dex number and their respective CatchRate: Kanto Dex (001-151)
Johto Dex (152-251)
Hoenn Dex (252-386)
Sinnoh Dex (387-493)
Miscellaneous CatchRatesThis list is for Pokémon only caught through Ditto using Transform.
|