Most flying types eg. staravia,troupis.Hope this helps.:}
No.Not unless you cheat.The only HM it can learn would be Defog in Diamond,Pearl and Platinum.
you must learn the move defog.
defog is not in emerald,
There is no way for you to get Defog in Pokémon SoulSilver, there is no Defog HM or TM in "SoulSilver" and there are no Pokémon that naturally learn Defog, the only way for you to get a Pokémon to know Defog in "Pokémon SoulSilver" is to trade the Pokémon over to "Diamond, Pearl or Platinum" and teach it Defog and then trade it back over to SoulSilver.
you cant get defog in the earlier versions of pokémon, only in diamond and pearl
youdon't defog is a hm move that is in Pokemon diamond, pearl, and platinum
There is no HM Defog on Ruby, it came available in the 4th generation which is Diamond, or Pearl.
No. You can only get the HM for defog in Pokemon Diamond, Pokemon Pearl, and Pokemon Platinum.
yes
you get it in the solaceon ruins to the right of solaceon town
You can't. Only for Pokemon Diamond and Pearl
You find it in the Great Marsh in Pastoria City.