rotobash / pokemon-ngc-rando

Randomize XD and Colosseum
GNU General Public License v2.0
15 stars 2 forks source link

Adjust Shadow Pokemon catch rate based on the newly randomized Pokemon's catch Rate [Suggestion] #59

Closed TheWrathAbove closed 2 years ago

TheWrathAbove commented 2 years ago

As far as I understand a given Shadow Pokemon's catch rate is tied to which "Shadow Pokemon ID" it has (the same thing the game uses to tell which shadow moves it has). This custom catch rate is based on the original catch rate but altered to give the game's catch difficulty a smoother curve.

This section on gen 3's capture mechanics should explain better. https://www.dragonflycave.com/mechanics/gen-iii-iv-capturing#capture-rate

I'm not sure how feasible it would actually be, but I'd like an option to have the randomizer adjust these catch rates in some fashion in accordance with the newly randomized pokemon's catch rate. Some ideas are a "True catch rates" option which just sets the randomized Shadow Pokemon's catch rate to their default catch rate, and potentially an "Adjusted Catch Rates" option that considers the % the original pokemon's catch rate was changed by and adjusts the new Pokemon's catch rate by that amount.

Ultimately, it's not something that's game-breaking (the game is balanced around the default catch rates after all), but it can feel jarring when a Ratatta breaks out of an Ultra Ball while asleep at Half HP. If nothing else, I'd like a little blurb in the randomizer that notes how the catch rates work by default.

rotobash commented 2 years ago

Hello again!

As far as I understand a given Shadow Pokemon's catch rate is tied to which "Shadow Pokemon ID" it has (the same thing the game uses to tell which shadow moves it has). This custom catch rate is based on the original catch rate but altered to give the game's catch difficulty a smoother curve.

This section on gen 3's capture mechanics should explain better. https://www.dragonflycave.com/mechanics/gen-iii-iv-capturing#capture-rate

You are correct, there is both a shadow catch rate and regular catch rate. When you select Set Minimum Catch Rate in the trainer options, this is the catch rate you're adjusting.

As an aside (if you're interested), the way this game handles trainer Pokemon is a little different from other mainline games. You may have already noticed this when you played vanilla, but the Pokemon trainers have don't follow the rules. This is because there's a separate "team" pokemon type that contains information specific to that trainer's Pokemon, which includes the level, if it's a shadow, the shadow level (similar idea to the shadow catch rate, so you can get your ass kicked by the trainer's shadow and when you catch it it sucks lol) and it's move set (which is why some trainers have Pokemon that know illegal moves). The Pokemon species is also defined here, so if you just randomized the Pokemon species and nothing else, they'd still know all the shadow Pokemon's vanilla moveset. So it's not really an Id that controls the shadow Pokemon's traits rather each tainer's pokemon is pre-defined and only contain a reference to the species they should use.

I'm not sure how feasible it would actually be, but I'd like an option to have the randomizer adjust these catch rates in some fashion in accordance with the newly randomized pokemon's catch rate. Some ideas are a "True catch rates" option which just sets the randomized Shadow Pokemon's catch rate to their default catch rate, and potentially an "Adjusted Catch Rates" option that considers the % the original pokemon's catch rate was changed by and adjusts the new Pokemon's catch rate by that amount.

I like this idea, True catch rates would be simple to add and same with Adjusted catch rates.

Ultimately, it's not something that's game-breaking (the game is balanced around the default catch rates after all), but it can feel jarring when a Ratatta breaks out of an Ultra Ball while asleep at Half HP. If nothing else, I'd like a little blurb in the randomizer that notes how the catch rates work by default.

Actually, this is mentioned in the tooltip when you hover over the Set Minimum Catch Rate in the trainers panel. It's not the most descriptive I'll admit.

Thanks for the suggestion!

TheWrathAbove commented 2 years ago

Actually, this is mentioned in the tooltip when you hover over the Set Minimum Catch Rate in the trainers panel. It's not the most descriptive I'll admit.

I totally missed that, that's my bad.

rotobash commented 2 years ago

I've implemented this, but I think I'm going to wait until a few more suggestions are implemented before releasing a new version. If you'd like I can send you beta builds for the suggestions you've made until a new version is out. Thanks.

TheWrathAbove commented 2 years ago

I appreciate the offer, but I'm still working through my current randomized run of XD with the current version. (Work got me busy).