The Reasonable Randomizer is a Java program that can modify the starter pokemon, wild pokemon, trainer pokemon and movesets of any pokemon game from the 3rd gen. It works with FireRed, LeafGreen, Emerald, Ruby and Sapphire, and with English, Japanese and French ROMs. The Reasonable Randomizer is different from other randomization programs in that it offers options for limited randomization, which means it won't simply pick any random pokemon from Bulbasaur to Deoxys, but instead limits the random pokemon to choose from based on factors such as evolution state, pokemon strength, pokemon habitat, and type specialties.

I've also hosted the program on Google Code, so that people who don't have PC accounts / are too lazy to log in can download the randomizer. I've included the Java source code with the program, if anybody is interested in seeing it. Here's a sneak peak at the user interface, for a visual explanation of what it does:

Randomizer Features:

Unevolved starters - You have the option to make randomized starters unevolved.

Limit wild pokemon randomization based on strength - this makes it so that every wild pokemon that is replaced has roughly the same strength as the pokemon that is replacing it. This means that it will be very unlikely to find pokemon like Groudon in Route 101 and pokemon like Weedle in Cerulean Cave.

Limit wild pokemon randomization based on habitat - this causes the randomizer to replace wild pokemon with pokemon that have the same habitat. Selecting this option means that you won't find, say, wild Blaziken while fishing, or wild Horsea in the middle of a cave.

Trainer pokemon randomization can be limited based on strength - this causes every trainer pokemon that is replaced to have roughly the same strength as the pokemon that is replacing it. It means that Youngster Joey won't end up with, say, a Ho-Oh, while Lance doesn't get pokemon like Rattata.

Trainers can retain type specialties - choosing this option will cause type specialist trainers to only recieve pokemon that match their type specialty. For instance, Misty only gets Water pokemon, while Bug Catcher Holden only gets Bug pokemon.

Rival retains pokemon - the rival's last pokemon will be kept constant throughout the game, except for when it evolves.

Rematch trainers retain their pokemon - trainers that can rematch will keep the pokemon they originally used. The program keeps track of the evolutions as well, and can add new pokemon to the trainer's party.

Trainer pokemon get randomized movesets - the reasonable randomizer program doesn't pick completely random moves; it cobbles together random movesets from the pokemon's naturally learned moves, TM moves, egg moves, and tutor moves. You also have the option to use advanced movesets, which are predefined movesets that are strategically coherent. I basically used Battle Factory movesets for the advanced movesets, as well as Smogon for legendary pokemon.

So.. what happens when you plug it in a hack? Your pre-defined 'sensible' moves won't make much sense then. Should probably make this thing configurable so people can share it for their hacks, especially those that do something other than 386 with no movepool changes.

So.. what happens when you plug it in a hack? Your pre-defined 'sensible' moves won't make much sense then. Should probably make this thing configurable so people can share it for their hacks, especially those that do something other than 386 with no movepool changes.

The randomizer isn't meant to be integrated into other hacks, although I'm looking into giving it support for the FireRed 649 patch. I've released the source code for the randomizer, so if another hacker wants to integrate the randomizer, they can look at the source code.

Quote:

Originally Posted by timson733333

Tested.

Wigglytuffs on Route 1.

Rhydon on Route 24.

Tropius in Viridian Forest.

And this is when I checked "Retain Pokemon Strength..." I'm pretty sure that these guys have higher BSTs than what would be around them normally.

Also, I think that the starters should be unevolved and able to evolve. Getting something like Snorlax would turn early-game into a "click Tackle and win" situation.

I fixed the bug in version 1.1 of the program that caused pokemon with abnormally high BSTs to appear early in the game, so the randomizer should work fine now. Also, the randomizer is designed to be probabilistic, so while it is unlikely for powerful pokemon to appear unusually early, it is still possible, especially when the pokemon is in a slot for rare wild pokemon.

People having trouble opening the .jar should first check that this exists:
C:\Program Files\Java\jre7\bin\javaw.exe
if it doesn't exist then you should check for:
C:\Program Files (x86)\Java\jre7\bin\javaw.exe

If none of them exist, you need to download Java JRE 7. If one of them exists, create a direct access to the .java file you are going to execute.

Go into the properties of the direct access icon and change the Target to:

Thanks very much, LAT10S! This is exactly the sort of thing I've been looking for. I found a randomizer for Emerald the other day and I've wanting to find a program that can randomize the other Pokemon GBA games ever since.

The PokéCommunity

Meta

Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, or The Pokémon Company International. We just love Pokémon.