• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: [Tool] Decomp Pokémon Randomizer

  • 56
    Posts
    9
    Years
    Decomp Pokémon Randomizer - DPR
    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.

    [PokeCommunity.com] [Tool] Decomp Pokémon Randomizer

    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


    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:


    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:
    Version 1.1 of the tool is now up. It is now compatible with Pokémon Inclement Emerald, as well as making static encounters and overworld items randomization dynamic, so you don't have to edit any files to do so. Also added a lil shabby progress bar, so at least you now the tasks are finished.

    Secondly, the bug with random moves being mixed might have been solved. I can't 100% confirm it though, so if you find that bug or any other again let me know
     
    omg ive been waiting for something like this! as someone with 0 knowledge on compiling a project could you point me to the correct area for me to start learning?
     
    omg ive been waiting for something like this! as someone with 0 knowledge on compiling a project could you point me to the correct area for me to start learning?

    I recommend you follow this tutorial:
    https://www.pokecommunity.com/threads/454082

    Once you have everything installed (including the Java requirement in this thread), you can use the tool to randomize a project (let it be a vanilla game or inclement emerald). I admit it's quite tedious to do if you have no experience, but it's very straightforward. In any case, if you stumble upon anything let me know by private message and I will try to help, as this thread is reserved for commenting things related to the tool itself
     
    Version 1.1 of the tool is now up. It is now compatible with Pokémon Inclement Emerald, as well as making static encounters and overworld items randomization dynamic, so you don't have to edit any files to do so. Also added a lil shabby progress bar, so at least you now the tasks are finished.

    Secondly, the bug with random moves being mixed might have been solved. I can't 100% confirm it though, so if you find that bug or any other again let me know

    Absolutely love playing inclement emerald with this randomizer! A few things I've found:

    1.) randomizing trainers doesn't seem to work. Sometimes all Pokemon for all trainers on a route will have the exact same moveset. Sometimes entering a trainer battle will cause a hard crash. Unfortunately this doesn't work, but the hack designed trainers so well that I don't mind!
    2.) fossils do not randomize, but everything else does
    3.) verdant meadow and dewford meadow (added in the hack) have Pokemon randomized to legendaries and fully evolved strong mons like Roserade when selecting "replace Pokemon based on similarity". This option works perfectly everywhere else. Any idea why this happens?

    Again, huge props for this! Helps keep every game fresh and makes nuzlockes a ton of fun.
     
    As Inclement Emerald changed and added a few things from the original, it's not surprising some things are not functioning 100% right. I will look into these things to see if I can fix them

    Glad to see you're enjoying the randomizer though!
     
    I recommend you follow this tutorial:
    https://www.pokecommunity.com/threads/454082

    Once you have everything installed (including the Java requirement in this thread), you can use the tool to randomize a project (let it be a vanilla game or inclement emerald). I admit it's quite tedious to do if you have no experience, but it's very straightforward. In any case, if you stumble upon anything let me know by private message and I will try to help, as this thread is reserved for commenting things related to the tool itself

    i cant get the file in ubuntu can you help i didt every step but i cant go there
     
    When selecting "change impossible evolutions," what specifically does this do? I assume it changes trade evos like Alakazam and Electivire, but does it make them all a certain level like the Universal Pokemon Randomizer? Or require an item?
     
    I want to randomize abilities but want to make certain abilities from being selected in the randomization, is there a way to do that?. I tried deleting the abilities from the decomp include/constant/abilities.h but it doesn't work.
     
    When selecting "change impossible evolutions," what specifically does this do? I assume it changes trade evos like Alakazam and Electivire, but does it make them all a certain level like the Universal Pokemon Randomizer? Or require an item?

    It mostly changes trade evolutions to level up ones, though some change to evolve by day/night/friendship or even an existing item. I could add that info to the randomizer, i forgot xD

    I want to randomize abilities but want to make certain abilities from being selected in the randomization, is there a way to do that?. I tried deleting the abilities from the decomp include/constant/abilities.h but it doesn't work.

    The randomizer doesn't have an option for that, but yeah, if you arrange abilities correctly it should work, maybe you're missing changes in some files, I'd need to look it up


    In any case I think the randomizer is not stable nowadays, I need to update it asap. I've been really busy with work so I hope to improve the tool when i have the time
     
    Can you add a option to force trainers to use fully evolved pokemon so we don't come across baby pokemon late game?
     
    It mostly changes trade evolutions to level up ones, though some change to evolve by day/night/friendship or even an existing item. I could add that info to the randomizer, i forgot xD



    The randomizer doesn't have an option for that, but yeah, if you arrange abilities correctly it should work, maybe you're missing changes in some files, I'd need to look it up


    In any case I think the randomizer is not stable nowadays, I need to update it asap. I've been really busy with work so I hope to improve the tool when i have the time

    Have you had any opportunity for an updated version of this or could you recommend a randomizer? Relatively new to the expansion project and am looking to randomize encounters and such, thanks
     
    Have you had any opportunity for an updated version of this or could you recommend a randomizer? Relatively new to the expansion project and am looking to randomize encounters and such, thanks

    Tbh I have no idea if there's any other randomizer that works, I think a few people were working on something similar. Respecting this tool, it's obviously deprecated, and it would need a lot of work to update it to the recent pokeemerald expansion, which I have in mind to do in a future, but not quite right now, as I have other things in my life
     
    Back
    Top