Pokémon forms overhaul and move away from Veekun #741
SimplyBLGDev
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The need to overhaul Pokémon forms
Pokémon forms have their own table however it is rarely and incorrectly used, many Pokémon with multiple forms don't have them associated on the table and are missing data, on the other hand many of the tables that reference Pokémon (such as encounters) sometimes need to point to a specific form, to this end the API started logging alternate forms from id 10001, as such the endpoint https://pokeapi.co/api/v2/pokemon/10001/ and onwards contains information for Pokémon in some particular configuration and the pokemon_forms table has been largely ignored, this has brought many problems however, as it has created many inconsistencies that have plagued users of the API that tried to interact with this data.
Examples of inconsistencies
Basculin (550) has two forms: Red striped and blue striped, if you go to it's endpoint https://pokeapi.co/api/v2/pokemon/550/ you'll see under pokemon_forms it only has one linked, red_striped, in fact the endpoint itself lists the entire pokémon as being called basculin-red-striped and the blue-striped variant is nowhere to be found, it's pokemon form entry exists at https://pokeapi.co/api/v2/pokemon-form/10066/ and its listed pokemon is itself in the pokemon table, but under a different ID https://pokeapi.co/api/v2/pokemon/10016/ this inconsistency extends to many fields, for example, if you were to look for the sprites of this pokemon you'll find these URLs:
back_default: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/550-blue-striped.png
back_shiny: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/550-blue-striped.png
front_default: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/10016.png
front_shiny: https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/550-blue-striped.png
Other sprites from across versions and the icon for the mon are similarly
inconsistent and needlessly confusing.
Another inconsistency is that although the endpoint https://pokeapi.co/api/v2/pokemon/10016/ belongs to blue-striped-basculin https://pokeapi.co/api/v2/pokemon-form/10016/ belongs to Unown Q and none of the Unown forms have a counterpart in the pokemon table.
What's more, many of these alternate forms have a huge amount of missing data, for example the unown forms are only associated to the gold-silver version-group, when it should have every version-group since G/S.
All of these issue create a confusing experience for any PokeAPI user and should be remedied.
Fix
I suggest
Beta Was this translation helpful? Give feedback.
All reactions