You can find a rare candy in heartgold in...
Johto:
Route 34, Violet City, Ecruteak City (With Dowsing MCHN), Olivine City (With Dowsing MCHN), Radio Tower (Earn 25 Points at Buena's Password), Mt. Mortar (With Dowsing MCHN), Mt. Mortar, Tin Tower, Whirl Islands (With Dowsing MCHN), Whirl Islands (With Dowsing MCHN), Mt. Silver (With Dowsing MCHN), Shining Lighthouse
Kanto:
Route 27, Route 28 (With Dowsing MCHN), Vermillion City (Fan Club President), Cinnabar Island (With Dowsing MCHN), Indigo Plateau (With Dowsing MCHN), Cerulean Cave (With Dowsing MCHN), Victory Road
Shop:
Johto:
Battle Frontier, Pokeathlon Dome
Pokéwalker:
Sinnoh Field (5000+ Steps), Sightseeing (5000+ Steps)
.
I think that's everything.
after you beat the gym
There are many places to find one, but the easiest to find is the one in Victory Road. Also on some days you can buy some at the Pokeathlon with your athlete points.
you have to use hm rock smash on rocks to find them.
you find him in the ruins of alph by weeds and you can find smeargle on there same thing on Pokemon heart gold (natu evolves at level 25)(smeargle no evolvetion)
near safari zone were the grass is
Probably yes?
You can give it to a man in Kanto for a TM.
you give it to a guy underground in kanto.
after you beat the gym
in the hidden city Howard farm
There are many places to find one, but the easiest to find is the one in Victory Road. Also on some days you can buy some at the Pokeathlon with your athlete points.
It attracts a ledendary pokemon.
evolve gastly.
curmen cave
this is also for heart gold
u have to have 7 gym badges
you have to use hm rock smash on rocks to find them.