In
Generation III, most of the
data structures were redone. As such, a Pokémon's Shininess would no longer need to be linked to its stats due to incompatibilities between the previous generations. The determinant for Shininess is instead a calculation based on the
Trainer ID number and secret ID number of the
player encountering it and the
personality value of the Pokémon. The same method is used in Generations
IV and
V.
The secret ID and Trainer ID byte words are first xored together, and then the first byte word of the personality value is xored with the second byte word of the personality value. If the xor of these two results is less than eight, then the Pokémon is Shiny. This results in a
probability of 8 in 65536; simplified as 1/8192 (2
-13, or 0.0001220703125%), just as in Generation II.