7aeddd61da
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>
510 lines
11 KiB
JSON
510 lines
11 KiB
JSON
[
|
|
{
|
|
"name": "Roark",
|
|
"boss_type": "gym_leader",
|
|
"specialty_type": "rock",
|
|
"badge_name": "Coal Badge",
|
|
"badge_image_url": "/badges/coal-badge.png",
|
|
"level_cap": 14,
|
|
"order": 1,
|
|
"after_route_name": "Oreburgh Mine (B1F)",
|
|
"location": "Oreburgh Gym",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/roark.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 74,
|
|
"pokemon_name": "Geodude",
|
|
"level": 12,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 95,
|
|
"pokemon_name": "Onix",
|
|
"level": 12,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 408,
|
|
"pokemon_name": "Cranidos",
|
|
"level": 14,
|
|
"order": 3
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Gardenia",
|
|
"boss_type": "gym_leader",
|
|
"specialty_type": "grass",
|
|
"badge_name": "Forest Badge",
|
|
"badge_image_url": "/badges/forest-badge.png",
|
|
"level_cap": 22,
|
|
"order": 2,
|
|
"after_route_name": "Eterna City",
|
|
"location": "Eterna Gym",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/gardenia.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 420,
|
|
"pokemon_name": "Cherubi",
|
|
"level": 19,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 387,
|
|
"pokemon_name": "Turtwig",
|
|
"level": 19,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 407,
|
|
"pokemon_name": "Roserade",
|
|
"level": 22,
|
|
"order": 3
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Maylene",
|
|
"boss_type": "gym_leader",
|
|
"specialty_type": "fighting",
|
|
"badge_name": "Cobble Badge",
|
|
"badge_image_url": "/badges/cobble-badge.png",
|
|
"level_cap": 30,
|
|
"order": 3,
|
|
"after_route_name": "Route 215 (Sinnoh)",
|
|
"location": "Veilstone Gym",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/maylene.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 307,
|
|
"pokemon_name": "Meditite",
|
|
"level": 27,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 67,
|
|
"pokemon_name": "Machoke",
|
|
"level": 27,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 448,
|
|
"pokemon_name": "Lucario",
|
|
"level": 30,
|
|
"order": 3
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Crasher Wake",
|
|
"boss_type": "gym_leader",
|
|
"specialty_type": "water",
|
|
"badge_name": "Fen Badge",
|
|
"badge_image_url": "/badges/fen-badge.png",
|
|
"level_cap": 30,
|
|
"order": 4,
|
|
"after_route_name": "Pastoria City",
|
|
"location": "Pastoria Gym",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/crasher-wake.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 130,
|
|
"pokemon_name": "Gyarados",
|
|
"level": 27,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 195,
|
|
"pokemon_name": "Quagsire",
|
|
"level": 27,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 419,
|
|
"pokemon_name": "Floatzel",
|
|
"level": 30,
|
|
"order": 3
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Fantina",
|
|
"boss_type": "gym_leader",
|
|
"specialty_type": "ghost",
|
|
"badge_name": "Relic Badge",
|
|
"badge_image_url": "/badges/relic-badge.png",
|
|
"level_cap": 36,
|
|
"order": 5,
|
|
"after_route_name": "Hearthome City",
|
|
"location": "Hearthome Gym",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/fantina.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 426,
|
|
"pokemon_name": "Drifblim",
|
|
"level": 32,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 94,
|
|
"pokemon_name": "Gengar",
|
|
"level": 34,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 429,
|
|
"pokemon_name": "Mismagius",
|
|
"level": 36,
|
|
"order": 3
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Byron",
|
|
"boss_type": "gym_leader",
|
|
"specialty_type": "steel",
|
|
"badge_name": "Mine Badge",
|
|
"badge_image_url": "/badges/mine-badge.png",
|
|
"level_cap": 39,
|
|
"order": 6,
|
|
"after_route_name": "Canalave City",
|
|
"location": "Canalave Gym",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/byron.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 436,
|
|
"pokemon_name": "Bronzor",
|
|
"level": 36,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 208,
|
|
"pokemon_name": "Steelix",
|
|
"level": 36,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 411,
|
|
"pokemon_name": "Bastiodon",
|
|
"level": 39,
|
|
"order": 3
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Candice",
|
|
"boss_type": "gym_leader",
|
|
"specialty_type": "ice",
|
|
"badge_name": "Icicle Badge",
|
|
"badge_image_url": "/badges/icicle-badge.png",
|
|
"level_cap": 42,
|
|
"order": 7,
|
|
"after_route_name": "Snowpoint City",
|
|
"location": "Snowpoint Gym",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/candice.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 459,
|
|
"pokemon_name": "Snover",
|
|
"level": 38,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 215,
|
|
"pokemon_name": "Sneasel",
|
|
"level": 38,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 308,
|
|
"pokemon_name": "Medicham",
|
|
"level": 40,
|
|
"order": 3
|
|
},
|
|
{
|
|
"pokeapi_id": 460,
|
|
"pokemon_name": "Abomasnow",
|
|
"level": 42,
|
|
"order": 4
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Volkner",
|
|
"boss_type": "gym_leader",
|
|
"specialty_type": "electric",
|
|
"badge_name": "Beacon Badge",
|
|
"badge_image_url": "/badges/beacon-badge.png",
|
|
"level_cap": 49,
|
|
"order": 8,
|
|
"after_route_name": "Sunyshore City",
|
|
"location": "Sunyshore Gym",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/volkner.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 26,
|
|
"pokemon_name": "Raichu",
|
|
"level": 46,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 424,
|
|
"pokemon_name": "Ambipom",
|
|
"level": 47,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 224,
|
|
"pokemon_name": "Octillery",
|
|
"level": 47,
|
|
"order": 3
|
|
},
|
|
{
|
|
"pokeapi_id": 405,
|
|
"pokemon_name": "Luxray",
|
|
"level": 49,
|
|
"order": 4
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Aaron",
|
|
"boss_type": "elite_four",
|
|
"specialty_type": "bug",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 53,
|
|
"order": 9,
|
|
"after_route_name": "Pokémon League (Sinnoh)",
|
|
"location": "Pokemon League",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/aaron.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 269,
|
|
"pokemon_name": "Dustox",
|
|
"level": 53,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 267,
|
|
"pokemon_name": "Beautifly",
|
|
"level": 53,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 416,
|
|
"pokemon_name": "Vespiquen",
|
|
"level": 54,
|
|
"order": 3
|
|
},
|
|
{
|
|
"pokeapi_id": 214,
|
|
"pokemon_name": "Heracross",
|
|
"level": 54,
|
|
"order": 4
|
|
},
|
|
{
|
|
"pokeapi_id": 452,
|
|
"pokemon_name": "Drapion",
|
|
"level": 57,
|
|
"order": 5
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Bertha",
|
|
"boss_type": "elite_four",
|
|
"specialty_type": "ground",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 55,
|
|
"order": 10,
|
|
"after_route_name": "Pokémon League (Sinnoh)",
|
|
"location": "Pokemon League",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/bertha.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 195,
|
|
"pokemon_name": "Quagsire",
|
|
"level": 55,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 185,
|
|
"pokemon_name": "Sudowoodo",
|
|
"level": 56,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 76,
|
|
"pokemon_name": "Golem",
|
|
"level": 56,
|
|
"order": 3
|
|
},
|
|
{
|
|
"pokeapi_id": 340,
|
|
"pokemon_name": "Whiscash",
|
|
"level": 55,
|
|
"order": 4
|
|
},
|
|
{
|
|
"pokeapi_id": 450,
|
|
"pokemon_name": "Hippowdon",
|
|
"level": 59,
|
|
"order": 5
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Flint",
|
|
"boss_type": "elite_four",
|
|
"specialty_type": "fire",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 55,
|
|
"order": 11,
|
|
"after_route_name": "Pokémon League (Sinnoh)",
|
|
"location": "Pokemon League",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/flint.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 78,
|
|
"pokemon_name": "Rapidash",
|
|
"level": 58,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 208,
|
|
"pokemon_name": "Steelix",
|
|
"level": 57,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 426,
|
|
"pokemon_name": "Drifblim",
|
|
"level": 58,
|
|
"order": 3
|
|
},
|
|
{
|
|
"pokeapi_id": 428,
|
|
"pokemon_name": "Lopunny",
|
|
"level": 57,
|
|
"order": 4
|
|
},
|
|
{
|
|
"pokeapi_id": 392,
|
|
"pokemon_name": "Infernape",
|
|
"level": 61,
|
|
"order": 5
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Lucian",
|
|
"boss_type": "elite_four",
|
|
"specialty_type": "psychic",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 59,
|
|
"order": 12,
|
|
"after_route_name": "Pokémon League (Sinnoh)",
|
|
"location": "Pokemon League",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/lucian.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 122,
|
|
"pokemon_name": "Mr Mime",
|
|
"level": 59,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 203,
|
|
"pokemon_name": "Girafarig",
|
|
"level": 59,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 308,
|
|
"pokemon_name": "Medicham",
|
|
"level": 60,
|
|
"order": 3
|
|
},
|
|
{
|
|
"pokeapi_id": 65,
|
|
"pokemon_name": "Alakazam",
|
|
"level": 60,
|
|
"order": 4
|
|
},
|
|
{
|
|
"pokeapi_id": 437,
|
|
"pokemon_name": "Bronzong",
|
|
"level": 63,
|
|
"order": 5
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Cynthia",
|
|
"boss_type": "champion",
|
|
"specialty_type": null,
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 66,
|
|
"order": 13,
|
|
"after_route_name": "Pokémon League (Sinnoh)",
|
|
"location": "Pokemon League",
|
|
"section": "Main Story",
|
|
"sprite_url": "/boss-sprites/diamond/cynthia.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 442,
|
|
"pokemon_name": "Spiritomb",
|
|
"level": 61,
|
|
"order": 1
|
|
},
|
|
{
|
|
"pokeapi_id": 407,
|
|
"pokemon_name": "Roserade",
|
|
"level": 60,
|
|
"order": 2
|
|
},
|
|
{
|
|
"pokeapi_id": 423,
|
|
"pokemon_name": "Gastrodon",
|
|
"level": 60,
|
|
"order": 3
|
|
},
|
|
{
|
|
"pokeapi_id": 448,
|
|
"pokemon_name": "Lucario",
|
|
"level": 63,
|
|
"order": 4
|
|
},
|
|
{
|
|
"pokeapi_id": 350,
|
|
"pokemon_name": "Milotic",
|
|
"level": 63,
|
|
"order": 5
|
|
},
|
|
{
|
|
"pokeapi_id": 445,
|
|
"pokemon_name": "Garchomp",
|
|
"level": 66,
|
|
"order": 6
|
|
}
|
|
]
|
|
}
|
|
]
|