Jump to content

Dragon116

Supporter
  • Posts

    957
  • Joined

  • Last visited

Reputation

20 Developing

1 Follower

About Dragon116

Recent Profile Visitors

5370 profile views
  1. Hey folks! This release comes after another few months of continuous work to add some bug fixes and new requested features. You can find the download in the assets of https://github.com/brentspector/universal-pokemon-randomizer/releases/tag/v1.10.2 Both an EXE and BIN zip file have been provided for your convenience. As always, you're welcome to build from source! Instructions can be found at https://github.com/brentspector/universal-pokemon-randomizer#compiling-the-program Certain new features, like Level 1 Evos and Hack Support, have been rather tricky. I believe I've covered all the odd places that will fail, but these are definitely the most frail. 1.10.2 has these changes Fix Soul Silver checksum to match a more common version Update type theming for trainers to use new PokemonCollection from 1.10.0 This should now properly support new move types that have no corresponding Pokemon (like Curse) 1.10.1 has these changes Add support for Renegade Platinum and Following Platinum Static pokemon are not supported "Following Renegade Platinum" is not supported due to misalignment between expected offsets Fix bug for Randomizable 809 where FAIRY type was incorrectly mapped as HACK type for type shuffling Added Rom Hack checking for Platinum, Soul Silver, Heart Gold, Black, White, Black 2, White 2 Added basic Fire Red hack support structures for Gen 4 and Gen 5 Unfortunately, due to bad NDS ROM writing, Gen 4 and Gen 5 hacks are largely unsupported. Feel free to try though! Here's the list of changes included with this release: - UI layout has been moved around for easier development - All pokemon can evolve at level 1 - Gen 2 will likely fail due to restrictions on data block size. - If `Change Methods` is chosen, all pokemon will evolve with a random method and level evolutions will NOT be at 1 - If `Random Starters` is chosen, slider will be set to 0 and `Exact Evos` will be false as there is no end to an evolution chain - Evolution paths in the log will only display pokemon where nothing evolves into them - If `Follow Evolutions` is chosen, no guarantee is made to linear behavior. This will result in stat drops, type disparity, and moveset oddities. - Selecting `Standardize EXP Curves` will result it better selections. However, combining this with `Filter Legendaries` will result in failure as legendaries will have no valid selections to evolve into due to mandatory EXP curve requirements. - `Force Fully Evolved` and `Modify Trainer Level` are available to use regardless of trainer option selected - Rotom has been removed from the legendary pool list - Platinum rival at Battle Tower now correctly retains starter or team if that option is selected - `Allow Low Level Evolution` wild pokemon setting now correctly toggles behavior in the randomizer - `LEVEL_ITEM_DAY`, `LEVEL_ITEM_NIGHT`, and `TRADE_ITEM` should correctly avoid duplicates. _should_ - Subsets of pokemon can now be randomized instead of everything in a ROM. Details can be found in "UserGuide.txt". - `LimitPokemon` now restricts the pool of pokemon eligible for randomization to align with this new subset feature. - Logs will still show all pokemon, even if they weren't randomized, to give a complete game guide. - When randomizing evolutions, you can restrict replacements to the same stage that the evolution is. - The main filter for evolution replacement in general is experience curve. Attempting to filter by same stage and same type can result in no change (such as the Abra line). Choosing `Force change` on top of this will result in type or stage restrictions potentially being skipped, leading to odd selections for evolutions (Kadabra can only evolve into Celebi or Mew). Selecting `Standardize exp curves` will help in widening the available pool. - When randomizing evolutions, you can ban legendaries as an option - HGSS can now randomize headbutt trees - Credit to dee-ee for pointing me to the code - Wild encounters are now sorted alphabetically - HGSS wild encounter logs now have background colors for Swarms and Radio encounters - If any other logs are missing colors, please let me know! - Logs now have Dark Mode - Will start in Light Mode unless browser/system settings are configured for dark mode in a way "matchMedia" can read from - Fixes potential error with `LimitPokemon` where only 1 related pokemon was included in the batch, rather than all in the evolution line that met the criteria - Adds more specific headers in logs for Starter randomization - Type effectiveness can now be used in all generations - This only removes Steel resistance to Ghost and Dark for Gen 2+, and does not add the Fairy type - Credit to dee-ee for pointing me to the code - Type effectiveness is now based on the data in the ROM - A Gen 8 effectiveness table (minus FAIRY) is provided if game data is not found. - The type chart in game is printed as part of the logs if game data is found. - This has not been tested thoroughly, and it is reasonable to assume some hacks may have types improperly read. Please let me know if you find an example! - Adds more support for Randomizable 809 - Adds unique entry to allow FAIRY type to be properly recognized - This also enables other rom hacks to be easily supported, so long as the offsets are known and a unique identifier exists - Added support for evolutions. Credit to Ajarmar for evolution type code - Logs are now handled in a separate class. There should be no impact to users. - SE Triangle algorithm has been redone. It should be more consistent and throw fewer errors. - Fixed bug where `Random (retain one)` type randomization would hit an infinite loop - Fixed bug in Platinum where Giratina could not be replaced when limiting generations If you find any bugs, or have other feature requests, let me know in the comments. More details as to the next version can be found here
  2. Woops, didn't see the reply until now. Sorry for the late response. I start off with 6 pokemon, each from a different gen. The last time I did this, only Gen 1-6 were available pre-Julia, so Gen 7 was the first one on rotation since I didn't want my starter to be Gen 7. After I release, then the gen on rotation comes in. So after Julia I had to pick a Gen 7 to put on my team. Whichever gen was released (I believe it was gen 1 when I did it) goes on rotation. So after florina's release, the next teammember has to be from Gen 1. I also had a few other restrictions like no duplicate evolutionary lines and no swapping once they were on the team. Forced me to stick with Gumshoos and Liepard for so long it was terrible. If you look at my run, you'll get the idea
  3. I find it ironic that you posted this so recently. I just remembered this game today and went to look up what happened to it. I think you could make this game if you were interested in the procedurally-generated design. The main issue is the tileset, spriteset and branding. TemTem is a great example of a game that looks and feels like Pokemon, but isn't. There's several Humble Bundle packs that offer tilesets and sprites too, so that could be a way to avoid needing custom artwork.
  4. One of my favorite styles is Russian Roulette. Every badge I get forces me to release one of the pokemon on my team (picked via random.org), and requires me to pick a new one to replace it. I have paired this with a Rainbow Gen run (1 from each gen, alternating which one comes in as I lose team members). Let's me keep a decent team without ever being complacent and just going with my favorites. It's the reason I learned how good Sudowodo was as a utility mon.
  5. Diglett (Kantonian) is only available on Grand Stairway and Tanzan Depths, not Pyrous Mountain. Diglett (Alolan) is only available on Pyrous Mountain. Dugtrio (Kantonian) is Tanzan Depths, Tanzan Mountains, All Desert Regions. Dugtrio (Alolan) is only available on Pyrous Mountain. Source: This is taken straight from the `encounters.txt` PBS and PokemonMultipleForms script for E18
  6. 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
  7. Hey folks! Haven't been on here in quite awhile. While doing things that were not on this site, I decided at some point to get into programming. Turns out other people do this too. One person, dabomstew, made a cool utility called Universal Pokemon Randomizer. Maybe some of you cool kids have seen it around. Well, I tried to use it and found it needed more cowbells. So that's what I worked on. I am pleased to present v1.8.1 of the up-to-now dead Universal Pokemon Randomizer. Featuring some great content that other people put in, as well as some of my own features. Rivals and Friends will no longer have duplicate team members. (the only exception is when a team is carried and a pre-evo is used) Rivals and Friends can carry their team in addition to their starter. Pokemon with stats above 190 or BST above 590 are now tagged as BIG in logs. Moves with power above 95 are now tagged as BIG in the logs. Pokemon types can now be shuffled on a 1-for-1 basis. Does not affect moves. Split evolutions are no longer excluded from inheriting base form types. Eeveelutions are guaranteed to have different types when types are randomized. Base stats can now be shuffled between pokemon. Only applies to similar power levels. Starter pokemon can now be limited based on their BST. Starter pokemon can now be limited to just base forms. A full list of features can be found on the "releases" tab of the below link. Be sure to look at v1.8.0 too! You can find the downloads at https://github.com/brentspector/universal-pokemon-randomizer/releases/tag/v1.8.1 Both Windows executable and Java binary (jar file) are provided for your convenience, or download the code and build it in your own java environment. I expect there are some bugs I didn't expect, particularly with randomized evolutions and gen 1 vs everything else. So please drop an email (preferred) or a message here (not preferred but accepted) if you find one of these. I should be able to get it fixed on a weekend.
  8. I don't really remember this fight, but since it's on the short-circuit field, your Gengar, Ampharos, and Claydol should be really helpful here. Ideally you want Gengar to come in last since Connal's best pokemon are in the front. If I remember correctly, there's a fairly tanky Drampa. Might be worth getting a fighting or fairy user (not necessarily type) to help out with that.
  9. Sounds good dude. I'm in no rush for a release since I got life events to manage currently. I am watching the progress though.
  10. @Commander I'm glad to hear I'm not the only one that gets project fatigue. Today I spent 2 hours to type 8 lines of code. That's after a 1 month break.
  11. Typically a good team revolves around 1-2 staples. This reduces the number of pokemon that you need to rotate around. On my first run of the game, I wan sandslash, fearow, alakazam, hariyama, emolga, and camerupt all the way to Ceil. And if you notice, most of these pokemon are from Corey and earlier. Since that first run, I have learned a number of things. For pokemon, SUdowoodo and Drapion are bae. For haxing your way through nasty fights, use X Items (now twice as effective in e18). Finally, Discharge and Eruption are the best moves you can use since they transform nearly every field. Granted it's not much help for gym battles since those fields are specialized for their leaders. For double battles, you can usually abuse the EQ/Discharge combination (this works great on Radomus). Also don't forget those field seeds (telluric, etc) since those can beat gym battles if timed correctly.
  12. What if the Meteor Admins make Battle Frontier?
  13. And sidequests give extra lore. Like the one that Marcello made that horrible evil puzzle that I appreciate him for and wish he never made. What were we talking about again?
×
×
  • Create New...