Any Pokemon you want, most normal types and rock type Pokemon can learn that move.
In order to teach Dream Eater to any Pokémon, you would first need the TM for Dream Eater. Once you have the TM in your inventory, you need a Pokémon that is the correct type to learn the move.
you need to use a water type pokemon and teach it dive or use action replay
none you have to teach it to a fighting type
You need the HM Defog which is in the Safari Zone. Then you need to teach it to a flying-type Pokemon on your team (it is a flying type move). Keep this Pokemon in your party and you should be able to get past the grunts
You don't actually NEED the old rod. It is pretty suckish. If you got the water type starter, you always have a Pokemon to teach surf to. :)
at sometimes yes it depends on what type of Pokemon you teach it to and what Pokemon you use it on since aerial ace is a flying type move you should teach it to a strong and fast flying type Pokemon
CATCH A WATER TYPE POKEMON!!! BUIZEL!,MAGIKARP!
You can teach it to fighting type pokemon.
In the foggy area of Route 210, you will find Grandma Wilma's house. She will teach a dragon-type Pokemon (or Arceus with the Dragon Plate) the move Draco Meteor. You will need Defog and Rock Climb to get to her house.
All you need to do is forget about that and catch giratina or another legendary
you need to get the hm defog in the great marsh in pastoria city and have wake (gym leader in pastoria) beaten. then you ismply teach it to a flying type Pokemon
You should teach HM moves to a pokemon that you will not be using, as you can't forget HM moves until you get to a move deleter. Grass type Pokemon's can usually be thought cut.