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>
614 lines
14 KiB
JSON
614 lines
14 KiB
JSON
[
|
|
{
|
|
"name": "Totem Gumshoos",
|
|
"boss_type": "totem",
|
|
"specialty_type": "normal",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 12,
|
|
"order": 1,
|
|
"after_route_name": "Hau'oli Cemetery",
|
|
"location": "Verdant Cavern",
|
|
"section": "Melemele Island",
|
|
"sprite_url": "/sprites/735.webp",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 735,
|
|
"pokemon_name": "Gumshoos",
|
|
"level": 12,
|
|
"order": 1,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Hala",
|
|
"boss_type": "kahuna",
|
|
"specialty_type": "fighting",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 15,
|
|
"order": 2,
|
|
"after_route_name": "Kala'e Bay",
|
|
"location": "Iki Town",
|
|
"section": "Melemele Island",
|
|
"sprite_url": "/boss-sprites/ultra-sun/hala.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 66,
|
|
"pokemon_name": "Machop",
|
|
"level": 15,
|
|
"order": 1,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 296,
|
|
"pokemon_name": "Makuhita",
|
|
"level": 15,
|
|
"order": 2,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 739,
|
|
"pokemon_name": "Crabrawler",
|
|
"level": 16,
|
|
"order": 3,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Totem Araquanid",
|
|
"boss_type": "totem",
|
|
"specialty_type": "water",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 24,
|
|
"order": 3,
|
|
"after_route_name": "Route 5 (Alola)",
|
|
"location": "Brooklet Hill",
|
|
"section": "Akala Island",
|
|
"sprite_url": "/sprites/752.webp",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 752,
|
|
"pokemon_name": "Araquanid",
|
|
"level": 20,
|
|
"order": 1,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Totem Salazzle",
|
|
"boss_type": "totem",
|
|
"specialty_type": "fire",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 24,
|
|
"order": 4,
|
|
"after_route_name": "Wela Volcano Park",
|
|
"location": "Wela Volcano Park",
|
|
"section": "Akala Island",
|
|
"sprite_url": "/sprites/758.webp",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 758,
|
|
"pokemon_name": "Salazzle",
|
|
"level": 22,
|
|
"order": 1,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Totem Lurantis",
|
|
"boss_type": "totem",
|
|
"specialty_type": "grass",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 24,
|
|
"order": 5,
|
|
"after_route_name": "Route 8 (Alola)",
|
|
"location": "Lush Jungle",
|
|
"section": "Akala Island",
|
|
"sprite_url": "/sprites/754.webp",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 754,
|
|
"pokemon_name": "Lurantis",
|
|
"level": 24,
|
|
"order": 1,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Olivia",
|
|
"boss_type": "kahuna",
|
|
"specialty_type": "rock",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 27,
|
|
"order": 6,
|
|
"after_route_name": "Akala Outskirts",
|
|
"location": "Ruins of Life",
|
|
"section": "Akala Island",
|
|
"sprite_url": "/boss-sprites/ultra-sun/olivia.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 347,
|
|
"pokemon_name": "Anorith",
|
|
"level": 27,
|
|
"order": 1,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 345,
|
|
"pokemon_name": "Lileep",
|
|
"level": 27,
|
|
"order": 2,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 745,
|
|
"pokemon_name": "Lycanroc Midday",
|
|
"level": 28,
|
|
"order": 3,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Totem Togedemaru",
|
|
"boss_type": "totem",
|
|
"specialty_type": "electric",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 33,
|
|
"order": 7,
|
|
"after_route_name": "Mount Hokulani",
|
|
"location": "Hokulani Observatory",
|
|
"section": "Ula'ula Island",
|
|
"sprite_url": "/sprites/777.webp",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 777,
|
|
"pokemon_name": "Togedemaru",
|
|
"level": 33,
|
|
"order": 1,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Totem Mimikyu",
|
|
"boss_type": "totem",
|
|
"specialty_type": "ghost",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 33,
|
|
"order": 8,
|
|
"after_route_name": "Route 14 (Alola)",
|
|
"location": "Thrifty Megamart",
|
|
"section": "Ula'ula Island",
|
|
"sprite_url": "/sprites/778.webp",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 778,
|
|
"pokemon_name": "Mimikyu Disguised",
|
|
"level": 33,
|
|
"order": 1,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Nanu",
|
|
"boss_type": "kahuna",
|
|
"specialty_type": "dark",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 34,
|
|
"order": 9,
|
|
"after_route_name": "Route 17 (Alola)",
|
|
"location": "Malie City",
|
|
"section": "Ula'ula Island",
|
|
"sprite_url": "/boss-sprites/ultra-sun/nanu.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 302,
|
|
"pokemon_name": "Sableye",
|
|
"level": 43,
|
|
"order": 1,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 552,
|
|
"pokemon_name": "Krokorok",
|
|
"level": 43,
|
|
"order": 2,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 10108,
|
|
"pokemon_name": "Persian (Alola)",
|
|
"level": 44,
|
|
"order": 3,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Totem Kommo-o",
|
|
"boss_type": "totem",
|
|
"specialty_type": "dragon",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 45,
|
|
"order": 10,
|
|
"after_route_name": "Vast Poni Canyon",
|
|
"location": "Vast Poni Canyon",
|
|
"section": "Poni Island",
|
|
"sprite_url": "/sprites/784.webp",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 784,
|
|
"pokemon_name": "Kommo O",
|
|
"level": 49,
|
|
"order": 1,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Totem Ribombee",
|
|
"boss_type": "totem",
|
|
"specialty_type": "fairy",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 50,
|
|
"order": 11,
|
|
"after_route_name": "Megalo Tower",
|
|
"location": "Seafolk Village",
|
|
"section": "Poni Island",
|
|
"sprite_url": "/sprites/743.webp",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 743,
|
|
"pokemon_name": "Ribombee",
|
|
"level": 55,
|
|
"order": 1,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Hapu",
|
|
"boss_type": "kahuna",
|
|
"specialty_type": "ground",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 48,
|
|
"order": 12,
|
|
"after_route_name": "Megalo Tower",
|
|
"location": "Exeggutor Island",
|
|
"section": "Poni Island",
|
|
"sprite_url": "/boss-sprites/ultra-sun/hapu.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 623,
|
|
"pokemon_name": "Golurk",
|
|
"level": 53,
|
|
"order": 1,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 423,
|
|
"pokemon_name": "Gastrodon",
|
|
"level": 53,
|
|
"order": 2,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 330,
|
|
"pokemon_name": "Flygon",
|
|
"level": 53,
|
|
"order": 3,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 750,
|
|
"pokemon_name": "Mudsdale",
|
|
"level": 54,
|
|
"order": 4,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Molayne",
|
|
"boss_type": "elite_four",
|
|
"specialty_type": "steel",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 56,
|
|
"order": 13,
|
|
"after_route_name": "Mount Lanakila",
|
|
"location": "Pokemon League",
|
|
"section": "Pokemon League",
|
|
"sprite_url": "/boss-sprites/ultra-sun/molayne.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 707,
|
|
"pokemon_name": "Klefki",
|
|
"level": 56,
|
|
"order": 1,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 625,
|
|
"pokemon_name": "Bisharp",
|
|
"level": 56,
|
|
"order": 2,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 462,
|
|
"pokemon_name": "Magnezone",
|
|
"level": 56,
|
|
"order": 3,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 376,
|
|
"pokemon_name": "Metagross",
|
|
"level": 56,
|
|
"order": 4,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 10106,
|
|
"pokemon_name": "Dugtrio (Alola)",
|
|
"level": 57,
|
|
"order": 5,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Olivia",
|
|
"boss_type": "elite_four",
|
|
"specialty_type": "rock",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 56,
|
|
"order": 14,
|
|
"after_route_name": "Mount Lanakila",
|
|
"location": "Pokemon League",
|
|
"section": "Pokemon League",
|
|
"sprite_url": "/boss-sprites/ultra-sun/olivia.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 348,
|
|
"pokemon_name": "Armaldo",
|
|
"level": 56,
|
|
"order": 1,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 346,
|
|
"pokemon_name": "Cradily",
|
|
"level": 56,
|
|
"order": 2,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 526,
|
|
"pokemon_name": "Gigalith",
|
|
"level": 56,
|
|
"order": 3,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 476,
|
|
"pokemon_name": "Probopass",
|
|
"level": 56,
|
|
"order": 4,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 745,
|
|
"pokemon_name": "Lycanroc Midday",
|
|
"level": 57,
|
|
"order": 5,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Acerola",
|
|
"boss_type": "elite_four",
|
|
"specialty_type": "ghost",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 56,
|
|
"order": 15,
|
|
"after_route_name": "Mount Lanakila",
|
|
"location": "Pokemon League",
|
|
"section": "Pokemon League",
|
|
"sprite_url": "/boss-sprites/ultra-sun/acerola.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 354,
|
|
"pokemon_name": "Banette",
|
|
"level": 56,
|
|
"order": 1,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 426,
|
|
"pokemon_name": "Drifblim",
|
|
"level": 56,
|
|
"order": 2,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 781,
|
|
"pokemon_name": "Dhelmise",
|
|
"level": 56,
|
|
"order": 3,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 478,
|
|
"pokemon_name": "Froslass",
|
|
"level": 56,
|
|
"order": 4,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 770,
|
|
"pokemon_name": "Palossand",
|
|
"level": 57,
|
|
"order": 5,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Kahili",
|
|
"boss_type": "elite_four",
|
|
"specialty_type": "flying",
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 56,
|
|
"order": 16,
|
|
"after_route_name": "Mount Lanakila",
|
|
"location": "Pokemon League",
|
|
"section": "Pokemon League",
|
|
"sprite_url": "/boss-sprites/ultra-sun/kahili.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 628,
|
|
"pokemon_name": "Braviary",
|
|
"level": 56,
|
|
"order": 1,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 701,
|
|
"pokemon_name": "Hawlucha",
|
|
"level": 56,
|
|
"order": 2,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 741,
|
|
"pokemon_name": "Oricorio Baile",
|
|
"level": 56,
|
|
"order": 3,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 630,
|
|
"pokemon_name": "Mandibuzz",
|
|
"level": 56,
|
|
"order": 4,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 733,
|
|
"pokemon_name": "Toucannon",
|
|
"level": 57,
|
|
"order": 5,
|
|
"condition_label": null
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Hau",
|
|
"boss_type": "champion",
|
|
"specialty_type": null,
|
|
"badge_name": null,
|
|
"badge_image_url": null,
|
|
"level_cap": 58,
|
|
"order": 17,
|
|
"after_route_name": "Mount Lanakila",
|
|
"location": "Pokemon League",
|
|
"section": "Pokemon League",
|
|
"sprite_url": "/boss-sprites/ultra-sun/hau.png",
|
|
"pokemon": [
|
|
{
|
|
"pokeapi_id": 10100,
|
|
"pokemon_name": "Raichu (Alola)",
|
|
"level": 56,
|
|
"order": 1,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 128,
|
|
"pokemon_name": "Tauros",
|
|
"level": 56,
|
|
"order": 2,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 715,
|
|
"pokemon_name": "Noivern",
|
|
"level": 56,
|
|
"order": 3,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 740,
|
|
"pokemon_name": "Crabominable",
|
|
"level": 56,
|
|
"order": 4,
|
|
"condition_label": null
|
|
},
|
|
{
|
|
"pokeapi_id": 136,
|
|
"pokemon_name": "Flareon",
|
|
"level": 56,
|
|
"order": 5,
|
|
"condition_label": "Chose Rowlet"
|
|
},
|
|
{
|
|
"pokeapi_id": 470,
|
|
"pokemon_name": "Leafeon",
|
|
"level": 56,
|
|
"order": 5,
|
|
"condition_label": "Chose Litten"
|
|
},
|
|
{
|
|
"pokeapi_id": 134,
|
|
"pokemon_name": "Vaporeon",
|
|
"level": 56,
|
|
"order": 5,
|
|
"condition_label": "Chose Popplio"
|
|
},
|
|
{
|
|
"pokeapi_id": 727,
|
|
"pokemon_name": "Incineroar",
|
|
"level": 58,
|
|
"order": 6,
|
|
"condition_label": "Chose Rowlet"
|
|
},
|
|
{
|
|
"pokeapi_id": 730,
|
|
"pokemon_name": "Primarina",
|
|
"level": 58,
|
|
"order": 6,
|
|
"condition_label": "Chose Litten"
|
|
},
|
|
{
|
|
"pokeapi_id": 724,
|
|
"pokemon_name": "Decidueye",
|
|
"level": 58,
|
|
"order": 6,
|
|
"condition_label": "Chose Popplio"
|
|
}
|
|
]
|
|
}
|
|
] |