If we're looking for 100% transparency to cartridge, there are a few situations where the game literally freezes or desyncs and I feel it's appropriate to discuss all of them in the same thread.
Here's the ones I know about.
I) If a Pokemon has a Defence or Special stat of 1-3 (only attainable with a negative stat stage), and is attacked by an opponent with an Attack or Special stat of 256+, the Defence or Special stat will become 0 when both are divided by 4. The game then freezes when attempting to divide by 0 during damage calculation.
II) If a Pokemon has a Defence or Special stat of 512 or 513 (only attainable with a positive stat stage), it is protected by Reflect or Light Screen, and it's attacked on that side, the Defence or Special stat will become 256 (which rolls over to 0) after being doubled and divided by 4. Again, the game freezes when attempting to divide by 0.
III) The game will accept a damage roll of 0 for an enemy Psywave, but it won't for your Psywave. Thus, if Psywave rolls 0 damage in a link battle, the user's Game Boy will reroll while the defender's Game Boy will accept the 0. Not only does this result in two different quantities of damage, but because the two Game Boys use separate pseudo-random number generators and they're thrown out of sync, any effect depending on chance for the rest of the game may have different effects in the two games. As such, the games will diverge.
IV) If a Pokemon that's already in play is thawed from a freeze by a Fire move (other than Fire Spin) from a faster Pokemon, it will be forced to use a move. However, since it was frozen last turn, no move was allowed to be selected. It may be forced to use the "last move selected" (which may be different between the two games, causing a desync with the disastrous effects described above), or it may use a glitch move and directly destroy the game. I am not sure of the precise details regarding which move it ends up using.
V) I believe there's also a case with Counter, though I'm not yet sure of the details.
VI) Mirror Move + Wrap/Bind/Fire Spin/Clamp
Here's the ones I know about.
I) If a Pokemon has a Defence or Special stat of 1-3 (only attainable with a negative stat stage), and is attacked by an opponent with an Attack or Special stat of 256+, the Defence or Special stat will become 0 when both are divided by 4. The game then freezes when attempting to divide by 0 during damage calculation.
II) If a Pokemon has a Defence or Special stat of 512 or 513 (only attainable with a positive stat stage), it is protected by Reflect or Light Screen, and it's attacked on that side, the Defence or Special stat will become 256 (which rolls over to 0) after being doubled and divided by 4. Again, the game freezes when attempting to divide by 0.
III) The game will accept a damage roll of 0 for an enemy Psywave, but it won't for your Psywave. Thus, if Psywave rolls 0 damage in a link battle, the user's Game Boy will reroll while the defender's Game Boy will accept the 0. Not only does this result in two different quantities of damage, but because the two Game Boys use separate pseudo-random number generators and they're thrown out of sync, any effect depending on chance for the rest of the game may have different effects in the two games. As such, the games will diverge.
IV) If a Pokemon that's already in play is thawed from a freeze by a Fire move (other than Fire Spin) from a faster Pokemon, it will be forced to use a move. However, since it was frozen last turn, no move was allowed to be selected. It may be forced to use the "last move selected" (which may be different between the two games, causing a desync with the disastrous effects described above), or it may use a glitch move and directly destroy the game. I am not sure of the precise details regarding which move it ends up using.
V) I believe there's also a case with Counter, though I'm not yet sure of the details.
VI) Mirror Move + Wrap/Bind/Fire Spin/Clamp
Last edited: