Pokémon Diamond Version, Pearl Version, and Platinum Version - Before the Attack
In the attack phase, the turn order guides the order in which Pokémon do their attacks.
Before a Pokémon uses an attack, the following effects are checked, in this order:
- Freeze / Sleep
- Truant
- Disable
- Imprison
- Heal Block
- Confusion
- Flinching
- Taunt
- Gravity
- Attract
- Paralysis
- User thaws out if Flame Wheel or Sacred Fire was chosen for use
- Obedience check
The above check is not done if the Pokémon uses Pursuit as another Pokémon is about to switch.
If the checks succeed, the Pokémon uses the move and PP is reduced by 1. If the PP can’t be reduced this way, the Pokémon doesn’t use that move instead. (If that happens, the move is not considered as "prevented from being used", and Snatch doesn’t consider the attack as used.) (If the move is taken with Snatch or Magic Coat, the new user doesn’t lose PP for that use, even if it also has that move.)
The exception to PP reduction is Struggle when it’s chosen for use automatically because the Pokémon has no moves it could choose.