Populate boss Pokemon teams in seed data

Add Pokemon teams (pokeapi_id, level, order) to all 327 boss entries
across 21 seed files, sourced from Bulbapedia. Includes starter-dependent
teams via condition_label, Mega Evolution, Dynamax/Gigantamax,
Terastallize, and single-Pokemon entries for Totems/Nobles/Titans.
Also fix _export_bosses to include condition_label in exported data.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-16 21:07:48 +01:00
parent 3a64661760
commit 7aeddd61da
23 changed files with 9158 additions and 382 deletions

View File

@@ -16,13 +16,15 @@
"pokeapi_id": 74,
"pokemon_name": "Geodude",
"level": 12,
"order": 1
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 95,
"pokemon_name": "Onix",
"level": 14,
"order": 2
"order": 2,
"condition_label": null
}
]
},
@@ -43,13 +45,15 @@
"pokeapi_id": 120,
"pokemon_name": "Staryu",
"level": 18,
"order": 1
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 121,
"pokemon_name": "Starmie",
"level": 21,
"order": 2
"order": 2,
"condition_label": null
}
]
},
@@ -70,19 +74,22 @@
"pokeapi_id": 100,
"pokemon_name": "Voltorb",
"level": 21,
"order": 1
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 25,
"pokemon_name": "Pikachu",
"level": 18,
"order": 2
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 26,
"pokemon_name": "Raichu",
"level": 24,
"order": 3
"order": 3,
"condition_label": null
}
]
},
@@ -98,7 +105,29 @@
"location": "Celadon City Gym",
"section": null,
"sprite_url": "/boss-sprites/firered/erika.png",
"pokemon": []
"pokemon": [
{
"pokeapi_id": 71,
"pokemon_name": "Victreebel",
"level": 29,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 114,
"pokemon_name": "Tangela",
"level": 24,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 45,
"pokemon_name": "Vileplume",
"level": 29,
"order": 3,
"condition_label": null
}
]
},
{
"name": "Koga",
@@ -112,7 +141,36 @@
"location": "Fuchsia City Gym",
"section": null,
"sprite_url": "/boss-sprites/firered/koga.png",
"pokemon": []
"pokemon": [
{
"pokeapi_id": 109,
"pokemon_name": "Koffing",
"level": 37,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 89,
"pokemon_name": "Muk",
"level": 39,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 109,
"pokemon_name": "Koffing",
"level": 37,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 110,
"pokemon_name": "Weezing",
"level": 43,
"order": 4,
"condition_label": null
}
]
},
{
"name": "Sabrina",
@@ -126,7 +184,36 @@
"location": "Saffron City Gym",
"section": null,
"sprite_url": "/boss-sprites/firered/sabrina.png",
"pokemon": []
"pokemon": [
{
"pokeapi_id": 64,
"pokemon_name": "Kadabra",
"level": 38,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 122,
"pokemon_name": "Mr Mime",
"level": 37,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 49,
"pokemon_name": "Venomoth",
"level": 38,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 65,
"pokemon_name": "Alakazam",
"level": 43,
"order": 4,
"condition_label": null
}
]
},
{
"name": "Blaine",
@@ -140,7 +227,36 @@
"location": "Cinnabar Island Gym",
"section": null,
"sprite_url": "/boss-sprites/firered/blaine.png",
"pokemon": []
"pokemon": [
{
"pokeapi_id": 58,
"pokemon_name": "Growlithe",
"level": 42,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 77,
"pokemon_name": "Ponyta",
"level": 40,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 78,
"pokemon_name": "Rapidash",
"level": 42,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 59,
"pokemon_name": "Arcanine",
"level": 47,
"order": 4,
"condition_label": null
}
]
},
{
"name": "Giovanni",
@@ -154,7 +270,43 @@
"location": "Viridian City Gym",
"section": null,
"sprite_url": "/boss-sprites/firered/giovanni.png",
"pokemon": []
"pokemon": [
{
"pokeapi_id": 111,
"pokemon_name": "Rhyhorn",
"level": 45,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 51,
"pokemon_name": "Dugtrio",
"level": 42,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 31,
"pokemon_name": "Nidoqueen",
"level": 44,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 34,
"pokemon_name": "Nidoking",
"level": 45,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 112,
"pokemon_name": "Rhydon",
"level": 50,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Lorelei",
@@ -168,7 +320,43 @@
"location": "Indigo Plateau",
"section": null,
"sprite_url": "/boss-sprites/firered/lorelei.png",
"pokemon": []
"pokemon": [
{
"pokeapi_id": 87,
"pokemon_name": "Dewgong",
"level": 52,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 91,
"pokemon_name": "Cloyster",
"level": 51,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 80,
"pokemon_name": "Slowbro",
"level": 52,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 124,
"pokemon_name": "Jynx",
"level": 54,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 131,
"pokemon_name": "Lapras",
"level": 54,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Bruno",
@@ -182,7 +370,43 @@
"location": "Indigo Plateau",
"section": null,
"sprite_url": "/boss-sprites/firered/bruno.png",
"pokemon": []
"pokemon": [
{
"pokeapi_id": 95,
"pokemon_name": "Onix",
"level": 51,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 107,
"pokemon_name": "Hitmonchan",
"level": 53,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 106,
"pokemon_name": "Hitmonlee",
"level": 53,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 95,
"pokemon_name": "Onix",
"level": 54,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 68,
"pokemon_name": "Machamp",
"level": 56,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Agatha",
@@ -196,7 +420,43 @@
"location": "Indigo Plateau",
"section": null,
"sprite_url": "/boss-sprites/firered/agatha.png",
"pokemon": []
"pokemon": [
{
"pokeapi_id": 94,
"pokemon_name": "Gengar",
"level": 54,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 42,
"pokemon_name": "Golbat",
"level": 54,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 93,
"pokemon_name": "Haunter",
"level": 53,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 24,
"pokemon_name": "Arbok",
"level": 56,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 94,
"pokemon_name": "Gengar",
"level": 58,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Lance",
@@ -210,7 +470,43 @@
"location": "Indigo Plateau",
"section": null,
"sprite_url": "/boss-sprites/firered/lance.png",
"pokemon": []
"pokemon": [
{
"pokeapi_id": 130,
"pokemon_name": "Gyarados",
"level": 56,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 148,
"pokemon_name": "Dragonair",
"level": 54,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 148,
"pokemon_name": "Dragonair",
"level": 54,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 142,
"pokemon_name": "Aerodactyl",
"level": 58,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 149,
"pokemon_name": "Dragonite",
"level": 60,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Blue",
@@ -229,49 +525,85 @@
"pokeapi_id": 18,
"pokemon_name": "Pidgeot",
"level": 59,
"order": 1
},
{
"pokeapi_id": 6,
"pokemon_name": "Charizard",
"level": 63,
"order": 1
},
{
"pokeapi_id": 3,
"pokemon_name": "Venusaur",
"level": 63,
"order": 1
},
{
"pokeapi_id": 9,
"pokemon_name": "Blastoise",
"level": 63,
"order": 1
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 65,
"pokemon_name": "Alakazam",
"level": 57,
"order": 2
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 112,
"pokemon_name": "Rhydon",
"level": 59,
"order": 3
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 130,
"pokemon_name": "Gyarados",
"level": 59,
"order": 4,
"condition_label": "Chose Bulbasaur"
},
{
"pokeapi_id": 59,
"pokemon_name": "Arcanine",
"level": 59,
"order": 4,
"condition_label": "Chose Charmander"
},
{
"pokeapi_id": 130,
"pokemon_name": "Gyarados",
"level": 59,
"order": 4,
"condition_label": "Chose Squirtle"
},
{
"pokeapi_id": 103,
"pokemon_name": "Exeggutor",
"level": 59,
"order": 4
"order": 5,
"condition_label": "Chose Bulbasaur"
},
{
"pokeapi_id": 130,
"pokemon_name": "Gyarados",
"pokeapi_id": 103,
"pokemon_name": "Exeggutor",
"level": 61,
"order": 5
"order": 5,
"condition_label": "Chose Charmander"
},
{
"pokeapi_id": 59,
"pokemon_name": "Arcanine",
"level": 61,
"order": 5,
"condition_label": "Chose Squirtle"
},
{
"pokeapi_id": 6,
"pokemon_name": "Charizard",
"level": 63,
"order": 6,
"condition_label": "Chose Bulbasaur"
},
{
"pokeapi_id": 9,
"pokemon_name": "Blastoise",
"level": 63,
"order": 6,
"condition_label": "Chose Charmander"
},
{
"pokeapi_id": 3,
"pokemon_name": "Venusaur",
"level": 63,
"order": 6,
"condition_label": "Chose Squirtle"
}
]
}