POKEMON RED/BLUE RANDOMIZER! --------------------------- v. 1.0, programmed by Artemis251 Released: 30 August 2012 Table of contents: ------------------ 1) What the randomizer does 2) How to use it *) !! A WARNING! !! 3) Starter pokemon options 4) Wild pokemon options *) What is an encounter slot? 5) Trainer Pokemon options 6) Other Randomization options 7) Gameplay modifications 8) Create ROM Info Docs 9) Quick Settings 10) FAQs/Why the heck won't this work?! 11) If you find a bug... 12) Final comments 1) What the randomizer does: ---------------------------- This program will modify (to your specification, of course) many aspects of the games, Pokemon Red and Pokemon Blue. The list of things it does goes far beyond the old Emerald Randomizer I made a while back, including: - Starter Pokemon - Wild Pokemon, including event Pokemon - All other in-game Pokemon, including trades and prizes - Trainer Pokemon - Trainer names - TM attacks - Pokemon-TM compatability - Pokemon themselves, including types, stats, palettes, and movesets - Some old glitches with typing - Adds new attacks and makes some old ones coincide with later Pokemon games There's a lot to do, so customize your own game to your heart's content! Just be warned that this tool is meant for Pokemon Red/Blue ONLY. I'm fairly certain Pokemon Yellow will NOT take kindly to it. 2) How to use it: ----------------- You may not have seen a '.jar' file before. Basically, it's the same as en '.exe. file, only it requires Java to run. If you don't have java, it's simple enough to get Java Run-Time installed -- just visit the following link: http://java.com/download After downloading, you should be able to open the file by double-clicking it (just like an .exe file). If Java is having some weird errors and not bringing the program up right, it's likely some issue with your Java version or your Operating System that I can't really fix. Look around the internet for a solution or try using a different computer. As for the program itself, it should be easy enough to understand. First, load your game ROM with the Open dialog. Things should be automatically read (the starter pokemon, at least). Everything else should be fairly intuitive: select what modifications you want and save the file. That's all! There's no patching or anything required, so just start the game up and enjoy! ==== !!!!! A MINOR WARNING, HOWEVER: !!!!! ======================================= | | | Use of the program will overwrite your ROM! So, if you want to save a fresh | | version of the game to re-randomize later (or just play the vanilla game), you | | ought to make a backup copy before using this program. | ================================================================================== 3) Starter pokemon options: --------------------------- You may choose any of the 151 pokemon as starters. Additionally, there's an option for 'Random' above Bulbasaur (the top of the list). Choose this if you want to be surprised with what you get! If you want to limit your Random starters to basic pokemon (i.e., pokemon that have not evolved at all yet), make sure you select the 'Basic Pokemon only' option before saving. 4) Wild pokemon options: ------------------------ First, I feel I ought to define something: ==== !!!!! WHAT THE JONES IS AN ENCOUNTER SLOT? !!!!! ========================== | | | A quick definition: Encounter slots are the way the game stores wild | | pokemon data. Each area has a finite number of encounter slots. Each slot | | holds a pokemon found on that map, and each slot has a different rarity. | | As such, you will NOT find all 151 pokemon on one route! Chances are, | | you'll find 10 or so on the highest randomization setting. | ================================================================================ There are 4 options for how the wild pokemon are changed. Note that just the pokemon are changed, NOT their levels. From top to bottom, they range from least randomized to most randomized: - Unchanged: Pokemon encounter slots do not change. - Global 1-1 Substitutions: All pokemon of the same species change to pokemon of another, random species in all location. For example, all Zubats throughout the caves of Kanto will all become the same alternate pokemon. - Area-Unique 1-1 Substitutions: All pokemon of the same species within each location change to another, random species. This differs from the above by shifting the pokemon outside the area. For example, all Zubats in one cave turn into one other pokemon, while Zubats in every other cave are different pokemon. Note that many-leveled areas (places with several floors, etc.) count each area as a separate map. Thus, caves with 3 floors all normally sporting Zubats will have a different pokemon substitution for Zubat for each floor. - Completely Random: Every encounter slot is a different pokemon. This gets pretty crazy! There are also some other options you may choose to accept: - Randomize Unique Pokemon: I define "Unique" as "available in ways outside of random encounter". So, if you choose to use this option, you'll see replacements for the legendaries, Snorlaxes, gifts like Eevee or Lapras, and Celadon Game Corner prize pokemon. Keep in mind that text may be changed around to at least ATTEMPT to make the substitutions flow better. - Randomize Trade Pokemon: In the game, 9 people offer to trade you pokemon. I'm sure you know 'em, as it was the only way to get some pokemon in Red/Blue. This option, when checked, will randomize their requests, their trade pokemon, and the trade pokemon's nicknames. - Ensure all Pokemon appear: This option is only available for the 'Area-Unique 1-1 Substitution' and 'Completely Random' options. When checked, it will make a list of pokemon while randomizing and slowly divvy them out to each new area. Once the list is empty, a new list is generated and it continues with the same logic. In this way, you'll be sure to see at least one location for each pokemon before duplicates are distributed. Also note that the pokedex automatically updates the ranges for each pokemon. This makes it really easy to find where certain pokemon live. Remember that trade and unique pokemon do NOT appear in the dex. Thus, whatever is replacing Snorlax or Eevee's normal spots will not show up on the dex. The same is true for pokemon in fishing spots. A final side-note is that all fishing in the game is dictated by quite a small number of encounter slots. For example, all Old Rod and Good Rod data is derived from a single collection of encounter slots, no matter where you use the item! As such, don't expect fishing to be as lucrative as it is in other generations or their randomizers. 5) Trainer Pokemon options: --------------------------- There are 3 options to randomize trainer pokemon. They're all similar to the options for randomizing wild pokemon. - Unchanged: Nothing changes. Surprise, surprise! - 1-1 Substitutions: All pokemon of the same species onwed by Kanto trainers will be changed into the same species. Thus, every trainer who uses a Rattata will have the same pokemon substituted for their Rattata (although Joey's will still be in the top percentage...but he may have a top-percentage Zapdos now!). - Completely Random: Every pokemon a trainer uses is randomized to something new. Again, there are some additional options: - Randomize Trainer Names: Each trainer's name (except for your Rival's, of course) will become a new, often silly, name. For example, 'COOLTRAINER' may turn into 'WARMTRAINER' or 'BUG CATCHER' may become 'PET POACHER'. Each trainer gets its name from a list of 5 possible new names unique to the trainer class. As such, each Bug Catcher will turn into the same new name. - Rival Keeps Starter Pokemon: When your rival picks his pokemon at the start of the game, that pokemon will be with him in every successive battle against him. Assuming it can evolve, it will do so throughout his career as well. This only happens for his starter, though, so every other pokemon he owns will be randomized depending on the Trainer Pokemon randomization option you've chosen. 6) Other Randomization options: ------------------------------- These options are a little more intense in that they can immensely change the foundation of the game. When using these, be ready for anything, especially if you plan to do a randomized Nuzlocke challenge. - Randomize TM Attacks: TM attacks will no longer be the attacks you remember. It's very likely that you'll get a lot of bad moves, though, but you can find some neat attacks if you get lucky. Note that no HM moves will be selected during the randomization process, nor will Struggle. Also, each attack may only be selected for one TM, so don't worry about getting 5 TMs for Pound. In-game text regarding the attacks on the TM will be randomized as well with some silly replacements. Oh, I guess I should say that no HM moves are randomzied, as that would likely get you stuck in the game. - Randomize TM Compatibility: Remember how Magikarp, Ditto, and a few others couldn't learn any TMs? Well, not any more. Each pokemon has an even 50/50 shot at being compatible with any given TM and HM. There's a humongously slim chance that this could make your game unbeatable if you don't have any pokemon that can learn an HM move when it's required, but the odds for that are crazily against you. Note that Mew retains its unique property of being able to learn every TM and HM. It wouldn't be Mew without that quirk! - Randomize Pokemon Movesets: Every pokemon's moveset suddenly becomes unknown to you and could be super-helpful or a huge letdown. Take this option if you feel adventurous! As a note, each pokemon is given at least one damaging move to start. Selfdestruct and Explosion don't count toward this, but Metronome does. No pokemon can learn any HM move naturally, as they get stuck on the pokemon without a move deleter in the game. All moves learned by level-up retain the level that the move is learned (thus, you can check online guides to see when any given pokemon's next level-up move will be learned). As far as how many moves a pokemon know to start, I set it roughly as: BASIC: - 20% one attack - 75% two attacks - 5% three attacks EVOLUTION: - 10% two attacks - 65% three attacks - 25% four attacks This is in regards to base attacks, mind you. Any moves a pokemon learns naturally may overwrite these attacks as their level grows. There's likely to be some overlap in that regard -- for example, Bellsprout may learn Lovely Kiss at L:13, and Lovely Kiss may be found naturally on L:5 Weepinbells. This does not count toward Magikarp or Eevee, though, and both of these pokemon get their own base moves in contrast to their evolution(s). - Switch Pokemon Stats Around: Choose this option, and every pokemon's base stats will be randomly swapped around. There may be no change, there may be a huge change that makes a previously 'meh' pokemon into a great team contender. Just remember that these are 'swapped', NOT 'redefined'. So expect to see stats of 50/75/35/40/70 in some order for Bellsprout. - Randomize Pokemon Types: It's just as the title says (aren't they all?). Some nitty-gritty details here are the following: every randomized type has a 50% chance of being dual-typed. Every pokemon's evolution line keeps the same types, though single-typed pokemon have a 15% chance to grow a secondary type at evolution. Because of this, you can expect certain types for every part of an evolutionary line. If you're choosing this option, I would suggest the 'Change Pokemon Palette Colors' option as well, as it helps aid your determination of which pokemon are which type without having to memorize them all or refer to a document for each battle. 7) Gamplay Modifications: Want to fix some of those errors present in Red/Blue? Want to see the dreaded Psychic-type finally have a counter? Then you'll love some of these options! - Fix Type Errors: Red/Blue had a few type-mismatches coded into it that future generations fixed. The following changes will take place with this option selected: - Psychic is weak to Ghost (instead of immune) - Fire resists Ice (instead of neutral) - Poison resists Bug (instead of neutral) - Poison attacks are neutral to Bug (instead of super-effective) - Change Trade Evos to Level Up: Graveler, Machoke, Haunter, and Kadabra will evolve at level 40 when this option is selected. I assume that you won't be able to trade if you're playing on a ROM, and some randomization options may not end up having the evolutions as wild pokemon. (Yes, I know there are emulators that can trade between games, but is that really the normal thing?) - Modify Some Attacks: A handful of attacks are fixed, and a few are outright changed. The following attacks are changed to reflect their effects in later generations: - Blizzard: Accuracy lowered to 70%. - Bite: Flinch rate set to 30%. - Dizzy Punch: Given a 10% confuse chance. - Double-Edge: Base power raised to 120. - Gust: Changed to Flying-type. - Karate Chop: Changed to Fighting-type. - Razor Wind: Accuracy raised to 100%. - Rock Slide: Given a 30% flinch rate. - Thunder: Paralysis chance raised to 30%. - Wing Attack: Base power raised to 60. Additionally, the following moves have changed to support a more broad pool of pokemon types. (C'mon, you don't want Dragons left with only Dragon Rage for STAB moves, do you?) Also, some moves have changed to give Psychic-types more to fear. Also, that dumb Focus Energy glitch is dodged a bit. - Focus Energy: Raises the user's Accuracy 2 stages. (It used to lower the user's critical hit rate, despite what it says in-game and in guides...) - Thrash: Changed to Dragon-type. - Barrage: Changed to Shadow Ball. - Defense Curl: Changed to Hex. - Egg Bomb - Changed to Dragonbreath. - Fury Swipes: Changed to Dragon Claw. - Guillotine: Changed to Megahorn. - Mega Punch: Changed to Shadow Punch. - Slam: Changed to X-Scissor. For reference, the new attacks are as follows: - Dragonbreath: 60 power, 100% accuracy, Dragon-type, 30% chance to paralyze foe. - Dragon Claw: 80 power, 100% accuracy, Dragon-type. - Hex: 40 power, 100% accuracy, Ghost-type, 10% chance to lower the foe's speed. - Megahorn: 120 power, 85% accuracy, Bug-type. - Shadow Ball: 80 power, 100% accuracy, Ghost-type, 30% chance to lower the foe's Special. - Shadow Punch: 60 power, 100% accuracy, Ghost-type. - X-Scissor: 80 power, 100% accuracy, Bug-type. Note that these changes will be made to pokemon's movesets, even if they are not randomzied (and the same goes for TMs). As such, you'll find that an un-randomized Exeggcute now knows Shadow Ball, and TM01 is now Shadow Punch if not randomized. - Change Pokemon Palette Colors: Pokemon's Super Gameboy palette colors are changed to reflect their primary types. 'Primary' here means 'first listed'. So, Bulbasaur's natural primary type is Grass since it's Grass/Poison. The palettes chosen are the following: - Pink Normal - Red/Yellow Ground - Brown Fighting - Orange Fire - Yellow Electric - Yellow/Green Bug - Green Grass - Light Blue Ice - Dark Blue Water - Blue/Orange Dragon - Purple Poison, Ghost - Purple/Orange Psychic - Gray Rock, Flying I'd have loved to make each type have its own palette, but the options were too slim for sensical color choices. 8) Create ROM Info Docs: ------------------------- This button will create a couple of documents telling you about some of the information that your current ROM contains. Note that this reads the current ROM's status only -- if you want to know about your randomized game's data, you'll have to save any changes you want first before they'll be applied. The documents created are listed below. - RB_Rand-TM_List.txt: This lists all 50 TMs and which moves are assigned to them. If you choose the 'Modify Some Attacks' option for your randomized ROM, rest assured that all attack name changes are accounted for. - RB_Rand-Type_List.txt: All 151 pokemon will be enumerated in this list along with their types and stats. This can help you choose which pokemon you may want for your team without revealing everything about them (TM compatability, movesets, etc.). A final note: the documents will be made in the directory that the ROM is contained in. Also, they WILL overwrite files with the same names, so be careful if you're doing multiple Info Doc creations in the same folder. 9) Quick Settings ------------------ These menu options allow for quick randomization. Several options will be filled out for you automatically. There are five settings to choose from. feel free to use one and then add/subtract whatever options you like! - Reset to Defaults: Makes everything deselected. Start with a fresh plate! - Medium Mode: A pretty lax setting. Note that it's likely that you won't find all pokemon on here due to the Global 1-1 Substitutions option being active. - Collector Mode: A setting with a fair amount of randomization. Additionally, you're more or less ensured to have access to all 151 pokemon in your game. - Crazy Mode: Pretty much makes every option active and set to it's highest degree of randomization. Prepare for some memorable times! - Randomized Settings: As if randomizing the game data wasn't enough, now you can randomize your randomization settings as well. Can't choose what you want? Let fate decide the level of craziness your new adventure will have! 10) FAQs/Why the heck won't this work?! ------------------------------- First, a quick general note: --- !! IMPORTANT!! ----------------------------------------------------------------- | Due to the nature of random selection, there's a chance you may end up | | stuck (i.e., if somehow you end up with no wild pokemon capable of learning | | an HM move before you're required to use it). If this happens, you can always | | open the ROM in this program again and re-randomize the encounter slots. | | If you still want to keep your current encounter slots after catching an | | HM-user, though, first make a copy of your game. Change the encounters, catch | | what you need, then delete the changed version and rename the copy back to | | match your save file's name. This may also be used in case your game doesn't | | have a specific pokemon in the wild. | ------------------------------------------------------------------------------------ Q) Where do I find a Pokemon Red/Blue ROM? A) The only thing I'll say to this is "nope.avi". Find 'em yourself or dump them if you have the equipment. Q) Will this work with Pokemon Yellow? A) Not likely. The two games probably have a few different locations for their game data. As such, not all randomization settings may be applied to the right ROM offsets. You're welcome to try it, though, but I wouldn't hold my breath. Q) My game won't work after applying the randomizations! Wat do? A) I'm sad to say that the solution will be for you to find a different ROM. I know Emerald had this issue a LOT, as there's apparently two very different versions of the same exact game floating around out there. For this project, I've tried the settings on 8 or so versions of the game, and each seemed to work fine. If the game is completely unplayable, it's on you. Q) Why won't Java work? A) I don't know -- I didn't write Java. Thus, I really can't help troubleshoot much. I DO know that apparently it doesn't play well with Macs. In that case, your best bet is to apply the randomization on a desktop or a VM. Once the changes are saved, the game should run fine on any GB emulator that works on a Mac, though, so at least you won't be stuck playing it on a different OS. Q) Are you ever going to fix your Pokemon Emerald Randomizer? A) Yes yes yes! I'm going to be retouching it as my next project, bringing many of the new randomization settings found here to it, as well as fixing that weird ROM version issue and the few Emerald-specific maps that escaped randomization. Q) Can I take a look at your source code? A) Eh, at the moment, I'm not too keen on just ploppin' it out to the masses. Not to say that my Emerald Randomizer hasn't already been de-jarred, but honestly, I like keepin' my projects as my own. Perhaps later on I'll give it out, but I'm already too swamped with picking up too many other projects to be really active in upkeeping and maintaining an open-source version of this. It's pretty good on it's own, I think! Q) I have some suggestions for improvement! Want to hear them? A) Sure, though I can't guarantee they'll be in the next version (if there is one!). You can contact me at the address below. 11) If you find a bug: ---------------------- Please report it to me! I tried a bunch of different options and fuzz tests. Everything seemed fine, but something may have slipped through the cracks. If you find something that broke the program, shoot me an E-mail at: Artemis251(at)yahoo.com with the title mentioning something about the Red/Blue Randomizer. I'll (maybe?) fix it as fast as I can and get back to you, assuming it's not a Java issue and it's not covered in the FAQ section of this Readme. 12) And so... ------------- I think that about wraps it up! Enjoy, and I hope you have a blast rediscovering the game, playing through it differently each time! Doing Nuzlocke challenges here would be pretty fun, I'd think!