pkmn / stats

Pokémon Showdown battle log processing and usage stats generation logic
MIT License
6 stars 1 forks source link

Update tiering banlist information #5

Open scheibo opened 2 months ago

scheibo commented 2 months ago

The tiering banlists are woefully out of data, from about ~2020.

https://github.com/pkmn/stats/blob/652db3eebc7fbd29b0bfe93eff7869bcbaea345a/stats/src/reports.ts#L483-L515

Ideally, we can pull this information from the PS data (@pkmn/data), but there are potentially some gotchas. I don't know that in all cases we have scenarios where a Pokémon gets added to the xBL tier (eg. UU -> UUBL). In some cases the ban is an ability ban or implemented by some other means in the rule table which might complicate things (though hopefully not)?

Like with many things (#4), these banlists should also likely be generation aware (tiering by usage only actually takes place on the most recent generation, but Smogon still likes to report what would have shifted in old generations had this not been the policy)

shrianshChari commented 2 months ago

https://github.com/pkmn/stats/blob/652db3eebc7fbd29b0bfe93eff7869bcbaea345a/stats/src/reports.ts#L483-L515

Unown, Burmy, Shellos, Gastrodon, Deerling, and Sawsbuck all have the property specie.cosmeticFormes. Therefore, we could check if the Pokemon's baseSpecies has a cosmeticForme. This wouldn't hold for the other Pokemon because they are not purely cosmetic changes; Keldeo-Resolute is guaranteed to have Secret Sword, the Genesect formes have a different typing for Techno Blast, Basculin-Blue-Striped has a different ability from Red-Striped, and Pikachu-Cosplay gets access to various other moves. I suppose we could precompute whether or not the alternate formes of a Pokemon have the same base stats and typing as the base forme, though that could potentially be expensive to compute with over 1000 Pokemon.

scheibo commented 2 months ago

You're right, simplifying this list via a cosmeticFormes check is a good idea