Rescue Team:Dungeon RNG Manipulation: Difference between revisions

MDFW - The Mystery Dungeon Tree of Information.
Jump to navigation Jump to search
No edit summary
Line 8: Line 8:
* guarantee {{RescueTeam|recruiting|recruits}}
* guarantee {{RescueTeam|recruiting|recruits}}
* collect rare items, multiple times
* collect rare items, multiple times
==Mapped Dungeons==
* {{RescueTeam|Purity Forest (Floor 1 Dungeon RNG Manipulation)}}


==Technical Details==
==Technical Details==

Revision as of 05:41, 18 October 2024

The first room of Tiny Woods floor 2 after manipulating the RNG on floor 1.
The first room of Tiny Woods floor 2 after manipulating the RNG on floor 1.

Dungeon RNG Manipulation is an unintended mechanic in Template:GameTitle. Even though Dungeons are supposed to be random, by Quicksaving it is possible to know in advance what the floor layouts, Pokémon spawns, Trap and Special Tile spawns, and Item spawns are. Player inputs don't affect layouts and dungeon spawns, however they affect the behavior of other Pokémon, so with consistent inputs it is also possible to manipulate how other Pokémon in the dungeon behave as well.

Useful Applications

Dungeon RNG Manipulation can be used to:

  • make the dungeons always look the same when playing them
  • complete difficult dungeons by simply following instructions
  • guarantee recruits
  • collect rare items, multiple times

Mapped Dungeons

Technical Details

When continuing the game after having saved in a dungeon, which is most easily performed by Quicksaving, a 4 bytes value in the RAM is set to 1. This value is the dungeon RNG seed used to decide what the next floor will look like and what it will contain, and is updated when going to the next floor. The way it is updated when going to the next floor isn't random and is always calculated in the same way, as long as the player stays in the dungeon, so when going to the next floor it always follows the same sequence (0x1, 0xe0af613f, 0xa61564cd, etc.), making the floors identical.[1] The value is reset to 1 after a Quicksave and restart, even if the player already Quicksaved and restarted on an earlier floor of the same dungeon, and the calculation restarts from 1 every time, so the way the rest of the dungeon looks depends on which floor the Quicksave was made.

Some dungeons force a Quicksave upon entrance, however this is not enough, as it is not the Quicksave itself that is responsible for resetting the value to 1. Another, more complicated, way to manipulate the dungeon RNG is to get rescued in the dungeon (tested in Red Rescue Team), which works in the same way as restarting from a Quicksave.

Version Differences

In Blue Rescue Team, Quicksaving and returning to the Top Menu is enough to reset the value to 1, but in Red Rescue Team it is also necessary to restart the console. There can be some differences between the floors in Red and Blue Rescue Team. Some item spawns can also differ depending on the region of the game.

Addresses

The dungeon RNG seed is found in the RAM at the addresses:

  • 0x203B458 in Red Rescue Team (North America)
  • 0x203D5D4 in Red Rescue Team (Europe)

See Also

References

  1. https://github.com/pret/pmd-red/blob/master/src/dungeon_random.c
  2. https://www.youtube.com/watch?v=fudOO713qYo "Pokémon Mystery Dungeon - deconstructing the dungeon generation algorithms" by TheZZAZZGlitch