Add Pokemon form support to seeding (Alolan, regional variants, etc.)
Pokemon forms with dex IDs >= 10000 (e.g., Alolan Rattata = 10091) were being collected in encounter data but missing from pokemon.json, causing them to be silently dropped during DB seeding. Now fetch_all_pokemon() also fetches form entries that appear in encounter data, with clean display names like "Rattata (Alola)" and correct form-specific types. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -85,71 +85,9 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Eterna City",
|
||||
"order": 2,
|
||||
"encounters": [
|
||||
{
|
||||
"national_dex": 129,
|
||||
"pokemon_name": "magikarp",
|
||||
"method": "old-rod",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 3,
|
||||
"max_level": 15
|
||||
},
|
||||
{
|
||||
"national_dex": 54,
|
||||
"pokemon_name": "psyduck",
|
||||
"method": "surf",
|
||||
"encounter_rate": 90,
|
||||
"min_level": 20,
|
||||
"max_level": 30
|
||||
},
|
||||
{
|
||||
"national_dex": 130,
|
||||
"pokemon_name": "gyarados",
|
||||
"method": "super-rod",
|
||||
"encounter_rate": 55,
|
||||
"min_level": 30,
|
||||
"max_level": 55
|
||||
},
|
||||
{
|
||||
"national_dex": 129,
|
||||
"pokemon_name": "magikarp",
|
||||
"method": "good-rod",
|
||||
"encounter_rate": 55,
|
||||
"min_level": 10,
|
||||
"max_level": 25
|
||||
},
|
||||
{
|
||||
"national_dex": 339,
|
||||
"pokemon_name": "barboach",
|
||||
"method": "good-rod",
|
||||
"encounter_rate": 45,
|
||||
"min_level": 10,
|
||||
"max_level": 25
|
||||
},
|
||||
{
|
||||
"national_dex": 340,
|
||||
"pokemon_name": "whiscash",
|
||||
"method": "super-rod",
|
||||
"encounter_rate": 45,
|
||||
"min_level": 30,
|
||||
"max_level": 55
|
||||
},
|
||||
{
|
||||
"national_dex": 55,
|
||||
"pokemon_name": "golduck",
|
||||
"method": "surf",
|
||||
"encounter_rate": 10,
|
||||
"min_level": 20,
|
||||
"max_level": 40
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Pastoria City",
|
||||
"order": 3,
|
||||
"order": 2,
|
||||
"encounters": [
|
||||
{
|
||||
"national_dex": 129,
|
||||
@@ -235,7 +173,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Sunyshore City",
|
||||
"order": 4,
|
||||
"order": 3,
|
||||
"encounters": [
|
||||
{
|
||||
"national_dex": 129,
|
||||
@@ -321,7 +259,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Pokemon League",
|
||||
"order": 5,
|
||||
"order": 4,
|
||||
"encounters": [
|
||||
{
|
||||
"national_dex": 129,
|
||||
@@ -399,12 +337,12 @@
|
||||
},
|
||||
{
|
||||
"name": "Oreburgh Mine",
|
||||
"order": 6,
|
||||
"order": 5,
|
||||
"encounters": [],
|
||||
"children": [
|
||||
{
|
||||
"name": "Oreburgh Mine (1F)",
|
||||
"order": 7,
|
||||
"order": 6,
|
||||
"encounters": [
|
||||
{
|
||||
"national_dex": 74,
|
||||
@@ -434,7 +372,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Oreburgh Mine (B1F)",
|
||||
"order": 8,
|
||||
"order": 7,
|
||||
"encounters": [
|
||||
{
|
||||
"national_dex": 74,
|
||||
@@ -466,7 +404,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Valley Windworks",
|
||||
"order": 9,
|
||||
"order": 8,
|
||||
"encounters": [
|
||||
{
|
||||
"national_dex": 129,
|
||||
@@ -600,7 +538,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Eterna Forest",
|
||||
"order": 10,
|
||||
"order": 9,
|
||||
"encounters": [
|
||||
{
|
||||
"national_dex": 406,
|
||||
@@ -756,6 +694,68 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Eterna City",
|
||||
"order": 10,
|
||||
"encounters": [
|
||||
{
|
||||
"national_dex": 129,
|
||||
"pokemon_name": "magikarp",
|
||||
"method": "old-rod",
|
||||
"encounter_rate": 100,
|
||||
"min_level": 3,
|
||||
"max_level": 15
|
||||
},
|
||||
{
|
||||
"national_dex": 54,
|
||||
"pokemon_name": "psyduck",
|
||||
"method": "surf",
|
||||
"encounter_rate": 90,
|
||||
"min_level": 20,
|
||||
"max_level": 30
|
||||
},
|
||||
{
|
||||
"national_dex": 130,
|
||||
"pokemon_name": "gyarados",
|
||||
"method": "super-rod",
|
||||
"encounter_rate": 55,
|
||||
"min_level": 30,
|
||||
"max_level": 55
|
||||
},
|
||||
{
|
||||
"national_dex": 129,
|
||||
"pokemon_name": "magikarp",
|
||||
"method": "good-rod",
|
||||
"encounter_rate": 55,
|
||||
"min_level": 10,
|
||||
"max_level": 25
|
||||
},
|
||||
{
|
||||
"national_dex": 339,
|
||||
"pokemon_name": "barboach",
|
||||
"method": "good-rod",
|
||||
"encounter_rate": 45,
|
||||
"min_level": 10,
|
||||
"max_level": 25
|
||||
},
|
||||
{
|
||||
"national_dex": 340,
|
||||
"pokemon_name": "whiscash",
|
||||
"method": "super-rod",
|
||||
"encounter_rate": 45,
|
||||
"min_level": 30,
|
||||
"max_level": 55
|
||||
},
|
||||
{
|
||||
"national_dex": 55,
|
||||
"pokemon_name": "golduck",
|
||||
"method": "surf",
|
||||
"encounter_rate": 10,
|
||||
"min_level": 20,
|
||||
"max_level": 40
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Fuego Ironworks",
|
||||
"order": 11,
|
||||
|
||||
Reference in New Issue
Block a user