"order" of Pokémon forms is shared between unrelated species
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Ambito
- databases
Direzione di ricerca
Inizia esaminando pokemon_forms.csv, la Pokémon Forms documentation e la pull request collegata #1532 per comprendere il comportamento attuale di order e i valori duplicati esistenti. Il lavoro è completato solo quando è stata concordata la sostituzione di order o id, ne è stato definito l’effetto sul modello dei dati e i record delle forme interessati sono stati aggiornati in modo coerente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 5.4k
- Fork
- 1.2k
- Merge medio
- 2g 12h
- PR unite (30g)
- 18
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PokeAPI/pokeapi
-
Blank past ability entries Aperta
Difficoltà 2/5 1-2 giorni Idoneità per principianti 76/100
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
openapi integers range. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
-
UV hardlink files Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
-
Ball legality Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Tutte le issue di PokeAPI/pokeapi
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stephrobert/dsoxlab#238 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
sublimehq/package_control#1780 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
nwg-piotr/nwg-displays#145 ·