Golduck
electric, ice, rock, steel, and water
an easy way is to trade a bunch of your good Pokemon onto Pokemon heart gold but if you don't have a lot of good Pokemon on heart gold and you don't have another game then train a lot before you get there :)
Yes
There is only old, good, and super rods in Pokemon Heart Gold.
The Fishing Guru in Olivine City gives it to you.
Message Toaster
In a pokewalker.
I have soul silver but i guess the Pokemon league.
Gyarados, If you teach it the right moves though... Also Kyogre, Making it have drizzle, Fire weakens and water increases. Its you're choice ;D
i think you will have to trade it from another game with a Pokemon, good luck! :)
you dont need anything all you do is get your pokemon to lvl.98 then your good to go
you go to either the Pokemon center or a mans house in olivine and he will give it to you