Union Room wrong-warping glitch

From Glitch City Wiki
Revision as of 08:16, 30 September 2019 by >Bbbbbbbbba (Massive cleanup)
This article is incomplete. Please feel free to add any missing information about the subject. It is missing: initial triggering procedure.

The Union Room wrong-warping glitch is a glitch derivative of tweaking (and possibly other void glitches). It allows the player to take two related wrong warps, one to a fixed location in the void of the Pokémon Center top floor map, and the other to any location the player can set up by using the Explorer Kit. Furthermore, it breaks the script in the Pokémon Center top floor map, causing the player to step into the void on the next visit to the top floor. As such, it can enable itself, allowing the player to do multiple void trips in the same game by only tweaking once.

The position to talk to the lady to enter the Union Room.

In all of its forms, the glitch is set up by talking to the Union Room NPC from an unintended direction.

An important requirement is that the player must have received the Tuxedo/Dress from the Contest Hall. Since the Contest Hall has a cutscene giving the player the Tuxedo/Dress on the first visit, if this cutscene isn't cleared, visiting it on a void route would crash the game.

This glitch was discovered by RETIRE.

Union Room warp

The Union Room warp happens when the player talks to the Union Room NPC from above, enters and then leaves the Union Room. It can be used for some very specific glitches.

When the player talks to the NPC from above, 3 tiles higher than normal, the subsequent map script will cause the player to warp to the Union Room with Y = FFFF FFFF, instead of the normal Y = 0000 0002. This will cause a coordinate warp.

Namely, since warp coordinates are stored in 16-bit integers, this will be stored as Y = FFFF, and when leaving the Union Room, the player will be warped to Y = 0000 FFFF. Since this location is in the void, and has a different map ID than the real Pokémon Center top floor, the map script won't run, and the game is still in a state that allows a reset wrong warp (see below).

Reset wrong warp

The reset wrong warp happens when the player resets the game, after saving by talking to the Union Room NPC from above, left, or right.

When the player talks to the NPC, a map and coordinate check is done. Since the player's coordinates are not an expected value, the game does not store them as the location to warp to when resetting the game. The bytes it should overwrite are located at [Base]+1488 which is also used for the Explorer Kit, elevators and some other warps. Therefore, this glitch can cause a wrong warp to where the player last used the Explorer Kit, as long as that is when those bytes are last set.

Since the player can use the Explorer Kit almost anywhere in the void, this allows the player to warp to many different locations in the game (although only the first quadrant of the void, since all warps use 16-bit values).

Subsequent void trips

A side effect of the Union Room wrong-warping glitch is that, the next time the player enters the top floor of a Pokémon Center, a map script will push the player down into the void.

The map script should have been ran when the player leaves the Union Room or resets, but since in both cases the player don't warp to the top floor of a Pokémon Center, the map script flag is never cleared. This has a slight downside, namely that map 7 (Pokémon Center top floor) would crash the game in void routing, but they are easy to route around.

More importantly, this is useful as a fast method to enter the void. By following the void route below, the player can trigger the wrong warp again within less than a minute, without tweaking again.

Void route

  1. Enter the top floor of any Pokémon Center. The map script pushes the player into the void.
  2. 4 W
  3. 15 N
  4. 6 E
  5. Graphic reload
  6. Run down full speed
  7. Graphic reload
  8. Talk to middle NPC

Credits

YouTube demonstration

YouTube video by RETIRE