"order" of Pokémon forms is shared between unrelated species
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Área
- databases
Línea de trabajo
Comienza revisando pokemon_forms.csv, la Pokémon Forms documentation y el pull request vinculado #1532 para comprender el comportamiento actual de order y los valores duplicados existentes. El trabajo solo estará terminado cuando se haya acordado el reemplazo de order o id, se haya definido su efecto en el modelo de datos y se hayan actualizado de forma coherente los registros de formas afectados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
At present, the order column of the pokemon_forms.csv is mostly just an incrementing list that groups all forms of the same species together. This makes it very inconvenient to insert new forms for pre-existing Pokémon, as every subsequent entry needs to have its order incremented.
However, while the list at first appears to be an incrementing list (with a unique value per form), this is not actually the case (as I discovered in https://github.com/PokeAPI/pokeapi/pull/1532). The documentation does note
Multiple forms may have equal order, in which case they should fall back on sorting by name.
The first major group of non-unique entries is Alcremie. The Alcremie forms have distinct order values for each Cream, but each Cream shares the same order value across Sweets. So alcremie-vanilla-cream-berry-sweet is 1256 and alcremie-ruby-cream-berry-sweet is 1257, but alcremie-vanilla-cream-love-sweet is also 1256.
However, after Alcremie, there are a bunch of DLC Sword & Shield Pokémon, Hisui Pokémon, and Paldean Pokémon that share order values with Gigantamax Pokémon and forms introduced in Hisui and Paldea. Some examples:
| order | Entry 1 | Entry 2 |
|---|---|---|
| 1292 | eternatus-eternamax | venusaur-gmax |
| 1293 | kubfu | charizard-gmax |
| 1294 | urshifu-single-strike | blastoise-gmax |
| 1313 | fuecoco | flapple-gmax |
| 1314 | crocalor | appletun-gmax |
| 1327 | rabsca | growlithe-hisui |
| 1328 | greavard | arcanine-hisui |
| 1373 | naclstack | miraidon-aquatic-mode |
| 1374 | garganacl | miraidon-glide-mode |
Proposal
My proposal is that the order column do something similar to what Pokémon Champions does internally: Concatenate a National Pokédex number and a form ID to produce a unique identifier for a specific form of a Pokémon. For example, Venusaur (Pokédex #0003) would be form ID 00003000, while Mega Venusaur would be form ID 00003001, and Charmander (Pokédex #0004) would be form ID 0004000. (Since these are integers, the leading 0's would be stripped, but I've included them here to illustrate how the numeric identifiers are based on Pokédex numbers.)
This could even replace the existing id column of the pokemon_forms.csv table, and the order column could just be deprecated.
- Lenguaje dominante
- Python
- Estrellas
- 5.4k
- Forks
- 1.2k
- Merge medio
- 2 d 12 h
- PR fusionados (30 d)
- 18
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PokeAPI/pokeapi
-
Blank past ability entries Abierto
Dificultad 2/5 1-2 días Aptitud para principiantes 76/100
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
-
openapi integers range. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
-
UV hardlink files Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
-
Ball legality Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Todos los issues de PokeAPI/pokeapi
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stephrobert/dsoxlab#238 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
sublimehq/package_control#1780 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
nwg-piotr/nwg-displays#145 ·