It is possible to get an unlimited amount of rare candies in "Pok?mon HeartGold" by using a Pok?mon with a Pickup ability of at least level 21. If a player has this Pok?mon in his party and the Pok?mon is not holding an item, it may pick up a rare candy after a battle. This process can be repeated until the goal of amassing 999 rare candies is reached.
Rare candies were introduced in the first generation of Pok?mon games as items that raise a Pok?mon's level by one without the need to battle and gain experience. Rare candies cannot be bought from any stores in any of the games, and only a finite number of them exist scattered throughout each game world.
The Pickup ability was introduced in "Pok?mon Ruby" and "Sapphire." It makes it possible to gather rare candies and other uncommon items through random chance. After every battle, if a Pok?mon with Pickup ability is not holding an item, there is a 10 percent chance that it will pick up a random item from a specialized list. In "Pok?mon Heartgold," the Pok?mon has a 3 percent chance to find a rare candy if it is between levels 21 and 30. This chance increases to 5 percent between levels 31 and 40, and 10 percent between levels 41 and 100.