If the user's level is less than the target's, Given the terms Tfor the target's level, U for the user's level, and X for a random integer from 0 to 255, a term R can be calculated where R = FLOOR( ( T + U ) * X / 256 ) + 1. If R is less than or equal to T/4, Whirlwind fails. The chance of Whirlwind failing can generally be approximated by ( T / 4 + 1 ) / ( T + U ); the chance of failing may diverge moderately from that approximation for low values of T and U.
Whirlwind will fail when used against Pokémon with the Ability Suction Cups or rooted by Ingrain. It no longer fails if it is not used last. It will now fail to hit Pokémon during the semi-invulnerable turn of Fly.