Effect

Generations II and III

If the last amount of damage done to the user before the use of Mirror Coat is greater than 0 and was dealt by a special move, Mirror Coat will do twice as much damage as taken by that attack to the opponent. Dark-type Pokémon are immune to Mirror Coat, but otherwise, Mirror Coat's type has no effect on the damage done to the target.

Mirror Coat is a decreased priority move. If the opponent does not use a decreased priority move during the round that it is used, Mirror Coat will go last regardless of the user's or opponent's speed. If the opponent also uses a decreased priority move during the same round, the attack order of the users will be determined normally.

Generation IV onwards

In Triple Battles, Mirror Coat can hit non-adjacent opponents provided a non-adjacent opponent was the last Pokémon to attack the user. Mirror Coat is effective against Psystrike, Psyshock and Secret Sword even though these moves use the target's Defense stat to calculate damage.

If the Pokémon using Mirror Coat is hit by a special move that deals 0 damage, Mirror Coat becomes a special move with 1 base power.

In the Pokémon Adventures manga

When Suicune gets hit by a special attack, it forms multiple ice mirrors around the opponent. The mirrors causes the opponent to see illusions, and when they touch the mirrors, they shatter and the opponent gets hurt by the same amount of damage that Suicune took, but several times stronger, or Suicune creates an ice mirror in front of it that repels special attacks.

Trivia

In Generations II and III, this move cannot reflect Hidden Power, regardless of its type. This is because Hidden Power was always determined by the game to be Normal-type, so even if it was a Special type, like Ice or Grass, Mirror Coat would always fail against Hidden Power, while Counter would always reflect it.