[Contribution Idea] Single Pokemon World/ Typed Pokemon World
jaredjohnson16 opened this issue · 4 comments
Single Pokemon World and/or Typed Pokemon World
Is your idea a new setting, a change to an existing setting, or something else? Please describe clearly:
-
In Single Pokemon World mode, you'd select one Pokemon in the GUI from a dropdown list of available Pokemon from the current generation. That selected Pokemon would replace every Pokemon in the game including starters, wild Pokemon, trainer Pokemon, important battles, static Pokemon, etc... From there you could continue to randomize moves, abilities, held items, etc...
-
Beyond the Single Pokemon World, it could be expanded where people could select certain types (fire, grass, water) and only have those types randomized into the game. This would be a Typed Pokemon World. So if I wanted to do a game with only flying types, I'd select flying type then every Pokemon would be randomized to a flying type Pokemon. It could also be added a NOT feature to this so I could have all types but NOT grass for example. Or a mixture such as I want grass but NOT poison.
-
If both Worlds are wanted, I'd split them into their own issues (or branches) and implement them separately and not all at once.
-
I'm thinking of adding this to the starters tab, but I'd have to check and make sure it doesn't crowd the GUI. If not there, perhaps it's own tab or inside of misc tab.
What problem would your contribution solve? Please describe:
- What if I wanted to play a game full of normal types only? Or a game with only pidgey and do some bird fighting. Or a game with only Arceus, but randomize the held items to type plates only. Or a game with only water, fire, and grass types and keep it basic.
Additional context:
About a year and a half ago, I implemented the Single Pokemon World feature and played through a game of Pokemon Heartgold with just Teddiursas. I enjoyed it and learned a lot from it so I'd thought I'd expand on it and submit an issue to see if others would also be interested in this idea. I no longer have those changes/ code so I'd have to redo it, but I know it's possible. I still have footage of that gameplay if someone wanted to see. I was going to make a Youtube video out of it, but never got around to finishing it.
I understand that I am expected to implement this change myself in the randomizer's codebase: [X]
Hey! I actually just finished implementing a feature on a fork that enables this play style. Not that I wanted to play in a world of Pidgeys, but I did want to be able to limit the Pokemon Pool with more granularity.
Over at https://github.com/Qvdpost/universal-pokemon-randomizer-zx you will find an implementation with 'Banned Pokemon', a list of Pokedex ID's of Pokemon you don't want to see in the randomizer pool. The checkbox is under the 'Limit Pokemon' dialog and the list can be edited in the settings menu under the Banned Pokemon Editor.
Right now you need to generate the numbers yourself, but I plan to implement some buttons to add the ranges of ID's automatically for certain conditions (I.E. types, evolutions, BST and other characteristics).
I'll follow up with a proper pull request in the near future. But in testing I was able to generate a randomization for exclusively Bulbasaurs in the wild. (Just don't toggle the similar strength radio button, or prepare to wait an eternity)
I probably need to work on some of the tooltips, so if it is unclear how to interact with the Editor, let me know!
This sounds great! Is there anything that you need help with? I had thoughts of if you choose a Pokemon that evolves, it's evolution(s) would show up instead at the appropriate levels. So if I picked just bulbasaurs, charmanders, and squirtles, then the remainder of the game would have their evolution lines.
I've opened an issue at #694 (comment) where you can see the current status. Including evolutionary lines makes sense and is possible by just excluding their ID's from the banned Pokemon List (which should then include all other possible Dex ID's of course)
Perfect, I'll take a look at it over the next couple days. In the meantime, I'll close this issue.