Pokemon R/B/Y - Haze + Sleep/Freeze + Multiple Turn Move glitch

Channel:
Subscribers:
12,600
Published on ● Video Link: https://www.youtube.com/watch?v=gXQlct-DvVg



Duration: 4:34
6,194 views
62


If a Pokemon that was frozen or put to sleep with either Charging (e.g. SolarBeam), Bide, Rage, or Thrashing About condition is cured Sleep or Freeze by Haze, that Pokemon will be unable to select and use a move for as long as it stays on the field (Rage may still build).

Long explanation:

When Haze is used, the other player's selected move address is set to 0xFF. This would translate to something like "has not selected a move and cannot use a move". This is necessary because otherwise the cured Pokemon (if slower) will use again the move he last used before getting frozen or being put to sleep.

The very first thing that happens when the game attempts to execute a move is that if the selected move address contains 0xFF, the game will skip directly to applying poison/burn/leech seed damage and then finish the turn. This doesn't only mean that the move execution is skipped, but also that a lot of stuff involving the handling of substatuses and other conditions is skipped. Particularly, the part that clears the charging status, or decrements the Bide or Thrashing About counter would be skipped.

There is another portion of code in the game that makes the move selection part be skipped if the player is into Charging, Bide, Rage, or Thrashing About condition. If one of these conditions is active no move can be selected, so if the selected move address is 0xFF, it will remain 0xFF. Because the selected move is 0xFF, no move can be used and the code that removes the condition is never executed. Stuck in a loop over here.

Note that this glitch would also apply to Fly/Dig and Trapping moves (being used in either side) like Wrap, but it's not possible to inflict sleep or freeze to a Pokemon in those conditions (at least I wouldn't know how). Hyper Beam is not affected by this glitch because the Recharge condition is cleared when the Pokemon is put to sleep or frozen.

EDIT: Thanks to ChickasaurusGL for helping me figuring this out! I failed to notice that the Recharge condition is only cleared when it's the player who uses the freezing move and Haze, but it's not cleared if it's the other way around. So this means that the glitch would also apply to Hyper Beam if we could swap the Pokemon in the video. In addition, the glitch would also apply to Hyper Beam in general during Link Battles. It's technically a desync glitch with one game thinking the Pokemon needs to recharge and the other game thinking it doesn't need to. However, since the affected Pokemon can't use any move, the game in which the Pokemon could technically use a move doesn't receive data for any move used and thus, the glitch is performed but no desyncing errors are experienced.







Tags:
glitch city
pokemon yellow glitch
arbitrary code
Crystal_
pokemon glitches
pokemon speedrun
pokemon glitch
pokemon red glitch
credits warp
mew glitch
pokemon corruptions
chickasaurusgl
pokemon pyrite
thezzazzglitch
pokemon hack
coin case glitch
pannenkoek
gameboy
8f glitch
pokemon beta
pokemon hacks
pokemon crystal
pokemon mechanics
celebi glitch
pokemon secrets
arbitrary code execution
pokemon gameboy
glitch pokemon
pokemon assembly
missingno