Decomp Pokémon Randomizer - DPR
by Kevinxde, aka Tervaxx
by Kevinxde, aka Tervaxx
Hi everyone! I bring this new tool to randomize Pokémon decompilation projects, mainly used for the pokeemerald and the pokeemerald expansion but also compatible with pokefirered and pokeruby.
You can use this tool to randomize every kind of Pokémon encounter, such as wild encounters (grass, water, caves...), static encounters (legendaries like Groudon), trainers' Pokémon and so. It also is able to randomize overworld items, evolution methods, Pokémon data such as types and abilities, and more. Quite the basic for a randomized game.
Requirements:
-> Know how to compile a project
-> Have Java, and consecuently JDK, installed
There is plenty of info in this forum section about compiling projects and there's also Inmortal's tool in the same one, so I'm not gonna bother explaining this. About the second requirement, try to open the randomizer. If nothing like the image above pops up, you probably need to install Java and its JDK.
Download Link
Mediafire
Mediafire
Before starting using it I recommend to make a copy of the desired project and randomize that one. I've tested the tool many times, but there always might be a bug. Those will be stated below in this post. Also, I think the tool is pretty straightforward, but I'll explain the basics.
First you will have to open your project. To do so, click the "Open" button next to "Project's Path" and search for the project's folder. Don't double-click on it, instead select it and then click the open button. If it's a valid project it should load succesfully and you may check the path next to the "Open" button. If it's not a valid project, I'm sorry there's nothing I can do.
All randomizable options will enable depending on the project. To start with, we have the "Include Generations" panel. You can select which generations you want in the game. Note this only affects Pokémon, not moves or anything else. Below there's the "Pokémon Encounters" panel, where you decide which Pokémon do you want to randomize. You can combine these options with the "Include Generations" ones, and also with the "Other" panel's options below right, having plenty of possibilities. When you're finished deciding you just click the "Randomize Pokémon Encounters" and wait for the prompts. If the project didn't roughly change the Pokémon structures there shouldn't be any error, but if so please report it here.
Talking of the "Other" panel, it's made to balance a bit the randomized species. In the "files" folder of the Decomp Pokémon Randomizer you will fine the balanceSpecies.txt file, which you can modify if you want (you don't need to though). You can do so with any of the files in there actually. Try to follow the files' structures though, or the tool may be unable to compile your project.
Next, we have the "Overworld Items" panel. As before, you select wich options you want. "Change TMs" is currently unavailable and will work on it to make dynamic learnsets which is quite tedious. "Add New Items/Evolution Stones" is currently only available with projects that use the pokeemerald expansion. Note that to add the new items you don't need to shuffle them, but some will need to be replaced. This is managed automatically but if for any reasons you want to modify the items you can modify those in the files/itemList.txt file, take a careful look. In any case, when you're done deciding you just click the "Randomize Items" button, just like before.
On the "Pokémon Data" you can randomize types, stats, abilities and evolutions. If your project is a pokeruby one, only evolution options will be enabled, as the others caused errors with such projects. In any case I don't think this needs an explanation as it's pretty straightforward. just select the desired options and click "Randomize Data".
Last, the "Pokémon Movepools" panel. Same as before, I think it's pretty easy. Note that pokeruby doesn't have Tutor Moves so those will be disabled. Also, currently the TMs' learnsets are unavailable for the same reasons "Change TMs" is.
Known bugs:
Spoiler:
Rarely when randomizing trainers, the tool mixes up a Pokémon's move, for example MOVE_TOXIC_SPIKES may once become MOVE_CAPTIVATE_SPIKES or something like that. I have an idea why this happens but haven't found a solution to it yet. If your compiler gives you this error, to compile your project, open the stated file and search for that strange move. Just replace it with an already existing move, preferently removing the wrong word (in my example Captivate, leaving it as MOVE_SPIKES)
That's basically all. When you're done randomizing, you just need to compile the project (using WSL, cygwin or the one you use) by doing make -jn. As stated there's plenty of info on how to do so. If you find any errors or you have any doubts I appreciate you ask in here. Thank you :)
Last edited: