-
Posts
5 -
Joined
-
Last visited
Content Type
Profiles
Pokédex
Portal
Technical Documentation
Pages
Tutorials
Forums
Events
Downloads
Gallery
Blogs
Posts posted by Prof. 64
-
-
A pokemon is shiny in gens 3-5 iff:
((PID >> 16) ^ (PID & 0xFFFF) ^ TID ^ SID) < 8
And for gens 6+ iff:
((PID >> 16) ^ (PID & 0xFFFF) ^ TID ^ SID) < 16
Since shinyness (or lack thereof) is retained from gen 5 to gen 6, I assumed that the games use the old formula for pokemon originating from older games. However, just to test it, I made a .pk3 with TID = SID = 0 and PID = 0xF. In gen 3-5 this should be non-shiny but in gens 6+ it should be shiny (had it originated from those gens). But when I converted the .pk3 to .pk6 the PID was automatically changed from 0x0000000F to 0x8000000F. This has it retain its non-shinyness but at the cost of changing its PID.
This behavior is supposed to model what happens in bank, right? Does that mean bank actually modifies PIDs across gen 5-gen 6? Is there a formula for this? Does it just reroll until it gets a valid PID?
Are PIDs changed from Gen 5 to Gen 6?
in Generation 6
Posted
I see, and since Gen 6+ doesn't use the PID for anything but shinyness, that bitflip is harmless. This clears it up completely then, thanks!