Dragon116 Posted April 29, 2021 Share Posted April 29, 2021 Hey Folks! I have been working the past 6 months on another batch of improvements to the UPR. While there are a host of awesome features that you will love, this iteration also saw quite a bit of code refactoring. Ideally this inspires others to try making their own adjustments and features to make this even better! Download can be found on my github under releases: https://github.com/brentspector/universal-pokemon-randomizer/releases/tag/v1.9.0 Changes: When random retaining types with follow evolutions checked, Pokemon with two types evolving into Pokemon with one type now passes the new type instead of retaining the shared type. Fixes issue where Weepinbell could evolve into Snorlax and not share any types. Added code tests to ensure new features do not break existing features Settings are now tested using a robot framework from AssertJ Swing Functions in RomHandler are still conducted with JUnit Pokemon with BST above 490 are now tagged as BIG in the logs when randomizing a Gen 1 game due to there only being 5 stats instead of the usual 6 for Gen 2 onwards. Log generation has been consolidated into one area of the code. This should make future log enhancements easier, as well as improve code readability. Table of Contents added to top of log to jump to section of interest Gen 3 and Gen 4 Feebas can now evolve by happiness when removing impossible evolutions Gen 5 and Gen 6 move updates can be applied independently of one another Black/White Cilan, Chili, Cress now have types that are superior to the player's chosen starter As an additional option to the previous change, players can opt for a defensively resistant opponent. For instance, Magnemite would normally face a Ground type, but this option makes the Gym use an Electric type as Electric resists both Electric and Steel. Modified the following sections of Gen 5 Black/White in-game text to match choices Striaton City Gym leaders will use their true types when using type-theming on Gym Leaders, or use generic terms when completely random Nacrene City Gym Guy will use true type and appropriate weakness when using type-theming on Gym Leaders, or use generic terms when completely random Castelia City item guy will use correct starter names when giving type-boosting items. Items will not match the types of the new starters Castelia City cafe guy will use correct types when referring to Striaton City leaders, or use generic terms when completely random Castelia City Gym Trainers and Burgh will use the true type of the gym when type-theming, or use generic terms when completely random Cheren will use Burgh's true type when referring to him, or use generic terms when completely random Nimbasa City Gym Guy will use true type and appropriate weakness when using type-theming on Gym Leaders, or use generic terms when completely random Professor Juniper will use Elesa's true type when speaking, or use generic terms when completely random Driftveil City Gym Guy will use Clay's true type and appropriate weakness when using type-theming on Gym Leaders, or use generic terms when completely random Mistralton City Gym Guy will use Skyla's true type and appropriate weakness when using type-theming on Gym Leaders, or use generic terms when completely random Monkey giver in Striaton City will use correct types of Pokemon and a relevant strength when randomizing static Pokemon Gorm in Pinwheel Forest will use correct type for Burgh and Lenora when type-theming on Gym Leaders, or generic terms when completely random Skyla in Celestial Tower will use her true type when using type-theming on Gym Leaders, or use generic terms when completely random Added Normalize , Klutz , Multitype and Stall to list of negative abilities that can be banned Static Pokemon are randomized before trainers. Should have no noticable impact Pansear, Pansage, and Panpour (elemental monkies) now are replaced with a type that trumps Striaton gym if type-theming on Gym Leaders, or covers a random weakness of the selected starter Evolution Methods can now be randomized In order to make this compatible with Metronome Only mode, all pokemon that evolve due to knowing a move (e.g. Bonsly) now require Metronome regardless of whether evolution methods are randomized Fixing impossible evos occurs after movesets are randomized, and selects a new move from the randomzied moveset to replace the current one used when evolving while knowing a move regardless of whether evolution methods are randomized Evolutions like Nincada and Karrablast are excluded due to lack of support in game for randomization of these methods Starter Pokemon selection has been condensed to use a slider to select whether the starters have at least 1, 2, or any amount of evolutions Added a checkbox to make starters have that exact count. This removes the ability to have 1 or 2 evo evolutions, but can be achieved by selecting "Limit Evolutions to Three Stages" when randomizing evolutions and selecting option 1 on the slider. Fix Starters No Split to only activate when Random Starters is selected There was a bug discovered in version 1.81 where the values of Starter No Split and Starter Unique Types were restored in the wrong order. This has been corrected and should allow the settings file to be used as expected. Trainer pokemon held items can be randomized for Generation 3 or higher. Items are restricted to battle tower viable. Gyms and Elite 4 can be given a type theme when chosing Random for trainer pokemon A new Randomize Settings button has been added. This will randomly select settings available for the game (randomize the randomizer). You will still be required to click Randomize (Save) to confirm the settings and generate the ROM. Fix Minimum Catch Rate checkbox to be selectable regardless of what the Wild Pokemon radio button is set to Starters can now be required to be a Super Effective triangle For instance, the traditional triangle is grass-fire-water, but this could make it electric-ground-water or flying-rock-fighting While this generally creates a perfect triangle, there are edge cases that were deliberately skipped to save runtime. Better chances can be obtained by selecting "Unique Types" in addition to "SE Triangle" Trainers can now have pokemon swapped in a global 1 for 1, similar to the global mapping option of Wild Pokemon Gym type theming is respected by prioritizing type consistency over global swap mapping. This should create a fresher game experience by making route trainers adhere to global swap rules while making gyms, elite 4, champion, and other themed teams stick to one type. Fix Wild Global 1-to-1 replacement erroring when restricting generation pokemon to correctly use all pokemon as replacable rather than just those that are allowed Starter Pokemon can now be filtered to only allow certain types (particularly useful for monoruns) Elite 4, Champion, and Uber class trainers can be buffed to only use Legendary and BIG Pokemon (BIG is 590+ BST (490+ Gen1) or 190+ in one stat) Generally not advised until Gen 3 since the pool of Pokemon will be really small (7 in Gen 1, 16 Gen 2, 30+ Gen 3 and higher) This also works with type theming (global or gym) and global swap 1 1 Quote Link to comment Share on other sites More sharing options...
Faleoic Posted April 26, 2022 Share Posted April 26, 2022 I have a single thing that I ask. A 1 to 1 type randomizer. Which would allow a fresh experience. Just trying to figure out what type a pokemon is on the current type randomizer is just a little insane. Having a 1 to 1 type randomizer would make it more simple are fun to play. Ground always being randomized to electric for example. But obviously different for each randomization. I don't know how hard this would be but I'm sure many people would be rather fond of a randomized feature like this. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.