Diglett's Cave, Kanto Region
You put rock insence on a sudowoodo and you breed it.
The Rock Incense is in Mt. Mortar. I don't know exactly where, but it's there.
there's no moss rock in heartgold/soulsilver. To get it you need to trade from a different game. Sorry!
There is no mossy rock in HeartGold. There is not one in SoulSilver, either. A mossy rock is only found in Pokemon Diamond and Pearl. You must trade for a Leafeon to get one in Pokemon HeartGold.
you get it AFTER you beat blue
Pallet town
There is it is in ilex forest
They are in the Safari Zone
You get rock climb at the one of the gyms
It's the same with heartgold and soulsilver. Theres a fat boy near the enterance of the ruins of alph talk to him and he should give you HM Rock smash
you will get rock climb once you have all the badges in the kanto region.
From a chuby guy on route 36