- 
                Notifications
    You must be signed in to change notification settings 
- Fork 3.5k
Description
The Pokédex in the Gen. 3 games isn't supposed to show shiny sprites, and a programming error (I'm pretty sure) makes Spinda and Unown sometimes show up in the Pokédex as shiny, in rare cases.
Line 4672 in fba096a
| return CreateMonPicSprite_HandleDeoxys(nationalNum, SHINY_ODDS, GetPokedexMonPersonality(nationalNum), TRUE, x, y, paletteSlot, TAG_NONE); | 
For whatever reason they decided to use a function that takes OT ID numbers as input when drawing Pokédex sprites, and decided that the number for shiny odds was actually appropriate to use as a placeholder. So what ends up happening is that if the first Unown or Spinda you ever encountered has a personality value that would be shiny for a 00000/00008 ID/SID combination, then the Pokédex shows their shiny sprite instead of their regular sprite.
I've had this happen in my game over 15 years ago and had no idea what caused it or how to replicate it, until now. I'm 99% sure this is a bug, and I'd submit a PR for a bugfix, but I don't do C and I'm not sure what the correct way to do it would be. It might be nice to at least document this behavior though, because I've never seen anyone talk about this in the 20 years this game has been out and I've never seen it documented anywhere.