Paradise NEXT is a set of script/data edits that lets you play
some of the planned, but scrapped, features from paradise in the
3DS title Pokémon Mystery Dungeon: Gates to Infinity
.
This currently supports EU and US versions of the game.
This also includes some local multiplayer mode features.
Note: unused multiplayer features are relatively instable and may cause crashes. This was created for research purposes, even though it's somewhat playable.
To install this mod on Citra see https://citra-emu.org/help/feature/game-modding/
Copy the contents of this repo to your <Title ID>
mod directory.
This is a facility (internally named shop_special_merchant_throw
)
which functions like Berries and Seeds
and Wonder Orbs
special shops,
and that, as intended, lets you buy throwable items and sell them at a higher price than usual.
This shop would have had three levels as other special shops, each level letting you access to better throwables.
It is quite functional but missing some basic elements (see Appendix: Unused Facilities section),
as well as a proper intro in script/menu_shop_special_merchant.lua
(only ones for Berries and Seeds
and Wonder Orbs
are defined here).
Funnily, they dummied out every strings related to it, except the Help
string, which has been
translated in all languages, and from which we can infer the actual shop's name based on the
other special shop help text.
The help text for Berries and Seeds starts with:
Here at [SHOP_NAME], I deal only in\nBerries and seeds.
The one for Stones and Spikes starts with:
Here at [SHOP_NAME], I deal only in\nstones and spikes.
Wireless local multiplayer is probably one of Gates' features that suffered from cut contents the mode.
If you have played Gates' multiplayer mode once, you would know that what you can do is essentially be stuck in Paradise Center and do challenge mission with friends.
You can't actually go to the other paradise areas, as there is a check that prevents you from
doing that (located in script script/usual/system/para_mode_free.lua
).
However, going past this check makes you enter paradise area, and... Surprise! If you are a guest, you're not in your paradise, but indeed in your friend's paradise, with his facilities accessible to you.
That means the game actually transfers the host paradise data to other guests.
All that for what? Nothing in the released game because you can't go past the check.
And that's only the beginning...
With free paradise roaming comes another feature for shops management in multiplayer mode: shop locking.
If you talk to a shopkeeper in a facility, your other friends will not be able to until you are done.
This is especially useful for special shops, where you can only purchase an item once...
Ah yes, that also means you can steal your friend's paradise shops as a guest but that's another story.
Also, it is not confirmed as it can be an issue with Citra and network, but talking to a facility as a guest can freeze the game, which seems to be caused by shop locking.
That would explain why they scrapped it, but again, that could just be on Citra's end, because it seemed to be more likely to happen when players were farther to each other (in the world network).
Probably one of the biggest things after paradise itself, Sunken Treasure has a multiplayer mode that is (almost) fully functional, where you can all dive in the same pit with each player controlling a different Starmie. At the end all players receive all treasures.
This mode also lets you choose the depth between 20, 30 and 50, something that should also have been in single player mode, but removed and set to 50 likely because it's the only interesting one to get the most treasures.
In addition, Beartic Slide should also have had a multiplayer mode, but this one is not fully implemented and crashes upon entering.
To make things work, Paradise NEXT introduced some tweaks, listed below:
- The check preventing from going to paradise areas has been replaced by a custom message.
- Some checks have been added to facilities that wouldn't work properly in multiplayer mode: Farms cannot be accessed by guests, Dig Shop dungeons cannot be accessed at all as well as Beartic slide.
- There is also a check preventing facilities board access, because the game would theoretically let you build/upgrade a facility, but this is not transfered to other players, and (even worse) if you are the guest these changes would be basically lost when leaving
- Sunken Treasure is missing some strings for it to work, and a check was added to prevent game matching if a guest is not in one of the paradise areas, as minigames are only able to spawn players back in one of the paradise areas when returning from the minigame.
- Incorrect spawn when returning to Paradise Center is fixed.
- Sunken Treasure keep tracks of some info about your divings of your current play session (that is, not saved upon saving your game) and would have had a feature letting you see that, but was removed probably because it was only interesting in multiplayer mode, where you can dive indefinitely; the record screen (showing that info) has been added back but the layout is not the same as the one planned for the game
Also, as an update on scrapped facilities, there are 6 planned but scrapped to various degrees.
All have an internal ID and are associated to 3 strings in message/shop.bin
that are , though most only contain "UNUSED"
(Note: it is possible to know that because the japanese version of the game includes a message_debug
directory
which contain files that maps each string hash to an string identifier, which give more explcit info on the string's content)
All of these shops are missing their facility data in script/script_paradise_data.bin
, which contains (among other things)
a list of shops sorted by id and storing info about string hashes used for name and description, carpenter level to build
this shop and for each level the model ID to use, and materials/money to build it.
minigame_dungeon_diver
: what is known as Lone Diver, has its own shop model that can be loaded usingPARA_SHOP_DIVER
as a shop model ID. Also has its own icon and a valid shop scriptscript/menu/menu_minigame_dungeon_diver.lua
, but is missing a call to this script functionOpenMinigameDungeonDiverMenu
in functionscript/paradise/paradise_land_action.lua > ParadiseLandPush_LAND_SHOP_STAFF_minigame_dungeon_diver
and an entry to import it inmenu_main.lua
. Also the biggest problem is that the C++ classDUNGEON_DIVER
, which implements the actual minigame is missing/has been removed.shop_dispatch
: not much is known about this shop, it doesn't even have its own lua script BUT, at least it has a unique shop iconshop_rare_rescue
: probably the shop with the less info we have on it, that is nothing else than its internal ID itself (and UNUSED description strings)shop_special_merchant_throw
: what is Stones and Spikes in this modshop_special_product
: not much is known about this shop, it has an empty lua script atscript/menu/menu_shop_special_product.lua
but no special shop iconshop_treasure_map
: has an empty lua script atscript/menu/menu_shop_treasure.lua
and a special shop icon. It's interesting to mention that this shop also have its connectorscript/paradise/paradise_land_action.lua > ParadiseLandPush_LAND_SHOP_STAFF_shop_treasure_map
which calls the functionOpenTreasureMenu
that should have been inscript/menu/menu_shop_treasure.lua
and the game actually tries to import that function inmenu_main.lua
as its name is mentioned in the define tables It's also worth mentioning that one section ofscript/script_paradise_data.bin
contains some of this shop data (as the contained japanese string imply), though without further context is quite meaningless