You’ll get HM06 Dive from an NPC in a white dress near the beach in Undella Town. This NPC is standing on the elevated area to the left of the town’s Pokémon Center.
But you can only access Undella Town once the main story has been finished & after you’ve defeated the Elite Four, so this HM is only available in the post-game.
Even though Dive was reintroduced as an HM in Black/White, it has limited use outside of battle. The only area that can be explored underwater is Undella Bay, which is east of Undella Town.
HM06 Dive Location (Step-by-Step)
Step 1: Starting at the Pokémon Center in Undella Town, head west down some stairs & you’ll immediately climb up another set of stairs on the left.
Step 2: Then speak to the girl NPC with brown hair & a white dress. She will be standing directly after the staircase overlooking the beach.
Step 3: After speaking with her, she will give you HM06 Dive for freem.
HM06 Dive Details + Uses
|Dive Move Details|
Dive is a Physical Water-type attack that deals decent damage at 80 base Power.
The move takes a total of two turns in battle. On the first turn, the user submerges underwater and is protected against most attacks that same turn. Then Dive hits its target on the second turn.
This move is a very useful attack in the main game, since the NPCs you face will never be prepared to counter the move. Granted you won’t get this HM until the post-game, but it’s still a decently viable move in a single-player playthrough.
In a competitive setting, your opponent can easily protect itself against Dive by using a move like Protect, or by switching to a Pokémon resistant to Water-type attacks. So it’s not really great in any kind of PvP battles.
To get the most out of Dive in battle, teach it to a Water-type with a high Attack stat. Kingler and Gyarados are both perfect matches for using HM06 in battle.