The Heavy Ball is a PokéBall obtained from Kurt. This ball has a unique capture rate modifier in that it doesn't multiply, but adds or subtracts a value. This value is determined on the weight of the Pokémon you're trying to capture. In Gold, Silver & Crystal, if the Pokémon is lighter than 220lbs, the value is -30. If the Pokémon is between 220lbs and 440lbs, the value is *1. If the Pokémon is between 440lbs and 660lbs, the value is +20 and if the Pokémon is heavier than 660lbs, the value is +30 In HeartGold & SoulSilver, if the Pokémon weighs less than 451.1lbs, the value is -20. If the Pokémon weighs more than 451.1lbs, the value is +20. If the Pokémon weighs more than 677.3lbs, the value is +30. If the Pokémon weighs over 903lbs, the value is +40. This item cannot be given to Pokémon to hold. If a Pokémon is captured in this PokéBall and traded to Diamond, Pearl or Platinum, it will revert in those games to an ordinary PokéBall.
CatchValue = ((( 3 * Max HP - 2 * HP ) * ((Catch Rate - 30) * 1 ) / (3 * Max HP) ) * Status Modifier CatchValue = ((( 3 * Max HP - 2 * HP ) * ((Catch Rate + 20) * 1 ) / (3 * Max HP) ) * Status Modifier CatchValue = ((( 3 * Max HP - 2 * HP ) * ((Catch Rate + 30) * 1 ) / (3 * Max HP) ) * Status Modifier CatchValue = ((( 3 * Max HP - 2 * HP ) * ((Catch Rate + 40) * 1 ) / (3 * Max HP) ) * Status Modifier