Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration of randbats tooltip info #117

Open
ghost opened this issue Jan 31, 2023 · 4 comments
Open

Integration of randbats tooltip info #117

ghost opened this issue Jan 31, 2023 · 4 comments
Assignees
Labels
approved This will be worked on dank Good issue or request enhance New feature or request

Comments

@ghost
Copy link

ghost commented Jan 31, 2023

Showdown provides randbats info, so the logical extension here would be to basically have a mode where that info and only that info needs to be considered.
The tooltip extension does this, but obviously that info needs to be put into the calc manually, meaning there's room for better integration with that info. Currently (although correct me if I am wrong) we can sometimes see sets which the tooltip extension regards as invalid but showdex can show those moves in the calc anyway, despite there being absolutely zero chance they come into play.

@ghost
Copy link
Author

ghost commented Jan 31, 2023

Just a thought, since we know the sets ahead of time this could also probably lead to things like copying an opposing pokemon's stats to a ditto within the calc before it happens. Unless that is somehow already possible?

@doshidak
Copy link
Owner

doshidak commented Feb 2, 2023

Hiya!

Showdex pulls from the same data source that pre's Randbats tooltip extension pulls from. I'm assuming you're talking about Gen 9 Randoms, specifically its role system (Randoms for prior gens only have 1 possible set, but with pools).

If so, then what you're probably noticing is pre's extension auto-selecting the correct role for you based on the Pokémon's revealed info. At the moment, Showdex doesn't do that, but all possible roles are available in the Sets dropdown (note that not all Pokémon will have multiple roles).

Each role comes with probabilities (unless you turned off usage stats in the settings), so if a Pokémon has an ability/item/move without a percentage, then it's most likely the other role. You can simply switch the set to the correct role (no need to manually fill in that info yourself), as shown in the screenshot below.

showdex-gen9randoms-sets

For example, if the Dragapult Terastallizes and uses Tera Blast, then you won't see a percentage next to the move with its Fast Attacker set, indicating it cannot be that role.

showdex-gen9randoms-fast-attacker-role-moves

Switching the set to Tera Blast user will show you the correct move pool with a "100.00%" next to Tera Blast, so you'll know you've got the right role.

showdex-gen9randoms-tera-blast-user-role-moves

(Since Showdex & pre's Randbats tooltip can be used simultaneously, you can also cross reference the tooltip with Showdex to quickly determine if you should switch the set.)

We'll be adding the auto-role switcher in a future update (since there are more pressing things to fix atm), so this is the current workaround, unfortunately.

Hope that helps!


As for the Ditto, you can't manually Transform beforehand at the moment. The roles of the target Pokémon once transformed during a battle sync will be applied to the Ditto.

Unfortunately this isn't something I can do quickly for the upcoming patch without a bunch of testing. (Ditto has been the bane of my existence since we've released Showdex.) There are lots of bandaid fixes to account for the multitudes of edge cases just for Ditto (and any transforming Pokémon, for that matter), so allowing you to manually transform could break these.

Not a bad idea though, I'll add this to the list of planned features.

Thanks!

@doshidak doshidak self-assigned this Feb 2, 2023
@doshidak doshidak added enhance New feature or request reviewed This has been looked at labels Feb 2, 2023
@doshidak doshidak added approved This will be worked on dank Good issue or request and removed reviewed This has been looked at labels Feb 2, 2023
@ghost
Copy link
Author

ghost commented Feb 4, 2023

Hiya!

Showdex pulls from the same data source that pre's Randbats tooltip extension pulls from. I'm assuming you're talking about Gen 9 Randoms, specifically its role system (Randoms for prior gens only have 1 possible set, but with pools).

If so, then what you're probably noticing is pre's extension auto-selecting the correct role for you based on the Pokémon's revealed info. At the moment, Showdex doesn't do that, but all possible roles are available in the Sets dropdown (note that not all Pokémon will have multiple roles).

Each role comes with probabilities (unless you turned off usage stats in the settings), so if a Pokémon has an ability/item/move without a percentage, then it's most likely the other role. You can simply switch the set to the correct role (no need to manually fill in that info yourself), as shown in the screenshot below.

showdex-gen9randoms-sets

For example, if the Dragapult Terastallizes and uses Tera Blast, then you won't see a percentage next to the move with its Fast Attacker set, indicating it cannot be that role.

showdex-gen9randoms-fast-attacker-role-moves

Switching the set to Tera Blast user will show you the correct move pool with a "100.00%" next to Tera Blast, so you'll know you've got the right role.

showdex-gen9randoms-tera-blast-user-role-moves

(Since Showdex & pre's Randbats tooltip can be used simultaneously, you can also cross reference the tooltip with Showdex to quickly determine if you should switch the set.)

We'll be adding the auto-role switcher in a future update (since there are more pressing things to fix atm), so this is the current workaround, unfortunately.

Hope that helps!

As for the Ditto, you can't manually Transform beforehand at the moment. The roles of the target Pokémon once transformed during a battle sync will be applied to the Ditto.

Unfortunately this isn't something I can do quickly for the upcoming patch without a bunch of testing. (Ditto has been the bane of my existence since we've released Showdex.) There are lots of bandaid fixes to account for the multitudes of edge cases just for Ditto (and any transforming Pokémon, for that matter), so allowing you to manually transform could break these.

Not a bad idea though, I'll add this to the list of planned features.

Thanks!

Certain moves/abilities/items are always paired and it could probably match that when it realizes it sees one by filling in the rest. Like if you see moxie heracross and it doesn't burn itself with flame orb, you know it's not that randbats set and the extension could probably detect that

For that matter, the item could probably invalidate itself when it becomes clear it's not in play, though I understand this could be hard to code for every use case.

@doshidak
Copy link
Owner

Hey sorry about the late ass reply, I had no idea you replied!

We plan on doing something like that for the "Auto" sets feature in Gen 9 Randoms! (But not for other gens though, since Gen 9 is the only one with multi-role system.)

Also we plan on doing something similar for other formats like OU & Ubers, where if the item from the current set doesn't apply after a sync, we'll switch the set for you. So items like Flame Orb, Leftovers, Life Orb, etc. are fairly straightforward to detect & shouldn't cross the line into the "Calcdex playing for you so it's cheating" territory.

Don't think we'll be able to get the "Auto" sets feature out for v1.1.6, which is dropping real soon, but certainly in the version after! (We already wrote out the algorithm, so it just needs implementation & extensive testing, which we unfortunately might not have time to do the latter.)

I'll keep your issue open though until this is implemented.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved This will be worked on dank Good issue or request enhance New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant