Files
nuzlocke-tracker/backend/src/app/seeds/data/heartgold-bosses.json
Julian Tabel 7aeddd61da 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>
2026-02-16 21:07:48 +01:00

963 lines
22 KiB
JSON

[
{
"name": "Falkner",
"boss_type": "gym_leader",
"specialty_type": "flying",
"badge_name": "Zephyr Badge",
"badge_image_url": "/badges/zephyr-badge.png",
"level_cap": 13,
"order": 1,
"after_route_name": "Violet City",
"location": "Violet Gym",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/falkner.png",
"pokemon": [
{
"pokeapi_id": 16,
"pokemon_name": "Pidgey",
"level": 9,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 17,
"pokemon_name": "Pidgeotto",
"level": 13,
"order": 2,
"condition_label": null
}
]
},
{
"name": "Bugsy",
"boss_type": "gym_leader",
"specialty_type": "bug",
"badge_name": "Hive Badge",
"badge_image_url": "/badges/hive-badge.png",
"level_cap": 17,
"order": 2,
"after_route_name": "Azalea Town",
"location": "Azalea Gym",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/bugsy.png",
"pokemon": [
{
"pokeapi_id": 11,
"pokemon_name": "Metapod",
"level": 15,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 14,
"pokemon_name": "Kakuna",
"level": 15,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 123,
"pokemon_name": "Scyther",
"level": 17,
"order": 3,
"condition_label": null
}
]
},
{
"name": "Whitney",
"boss_type": "gym_leader",
"specialty_type": "normal",
"badge_name": "Plain Badge",
"badge_image_url": "/badges/plain-badge.png",
"level_cap": 19,
"order": 3,
"after_route_name": "Goldenrod City",
"location": "Goldenrod Gym",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/whitney.png",
"pokemon": [
{
"pokeapi_id": 35,
"pokemon_name": "Clefairy",
"level": 17,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 241,
"pokemon_name": "Miltank",
"level": 19,
"order": 2,
"condition_label": null
}
]
},
{
"name": "Morty",
"boss_type": "gym_leader",
"specialty_type": "ghost",
"badge_name": "Fog Badge",
"badge_image_url": "/badges/fog-badge.png",
"level_cap": 25,
"order": 4,
"after_route_name": "Ecruteak City",
"location": "Ecruteak Gym",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/morty.png",
"pokemon": [
{
"pokeapi_id": 92,
"pokemon_name": "Gastly",
"level": 21,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 93,
"pokemon_name": "Haunter",
"level": 21,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 94,
"pokemon_name": "Gengar",
"level": 25,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 93,
"pokemon_name": "Haunter",
"level": 23,
"order": 4,
"condition_label": null
}
]
},
{
"name": "Chuck",
"boss_type": "gym_leader",
"specialty_type": "fighting",
"badge_name": "Storm Badge",
"badge_image_url": "/badges/storm-badge.png",
"level_cap": 31,
"order": 5,
"after_route_name": "Cianwood City",
"location": "Cianwood Gym",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/chuck.png",
"pokemon": [
{
"pokeapi_id": 57,
"pokemon_name": "Primeape",
"level": 29,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 62,
"pokemon_name": "Poliwrath",
"level": 31,
"order": 2,
"condition_label": null
}
]
},
{
"name": "Jasmine",
"boss_type": "gym_leader",
"specialty_type": "steel",
"badge_name": "Mineral Badge",
"badge_image_url": "/badges/mineral-badge.png",
"level_cap": 35,
"order": 6,
"after_route_name": "Cianwood City",
"location": "Olivine Gym",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/jasmine.png",
"pokemon": [
{
"pokeapi_id": 81,
"pokemon_name": "Magnemite",
"level": 30,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 81,
"pokemon_name": "Magnemite",
"level": 30,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 208,
"pokemon_name": "Steelix",
"level": 35,
"order": 3,
"condition_label": null
}
]
},
{
"name": "Pryce",
"boss_type": "gym_leader",
"specialty_type": "ice",
"badge_name": "Glacier Badge",
"badge_image_url": "/badges/glacier-badge.png",
"level_cap": 34,
"order": 7,
"after_route_name": "Team Rocket HQ (B1F)",
"location": "Mahogany Gym",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/pryce.png",
"pokemon": [
{
"pokeapi_id": 86,
"pokemon_name": "Seel",
"level": 30,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 87,
"pokemon_name": "Dewgong",
"level": 32,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 221,
"pokemon_name": "Piloswine",
"level": 34,
"order": 3,
"condition_label": null
}
]
},
{
"name": "Clair",
"boss_type": "gym_leader",
"specialty_type": "dragon",
"badge_name": "Rising Badge",
"badge_image_url": "/badges/rising-badge.png",
"level_cap": 41,
"order": 8,
"after_route_name": "Blackthorn City",
"location": "Blackthorn Gym",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/clair.png",
"pokemon": [
{
"pokeapi_id": 130,
"pokemon_name": "Gyarados",
"level": 38,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 148,
"pokemon_name": "Dragonair",
"level": 38,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 148,
"pokemon_name": "Dragonair",
"level": 38,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 230,
"pokemon_name": "Kingdra",
"level": 41,
"order": 4,
"condition_label": null
}
]
},
{
"name": "Will",
"boss_type": "elite_four",
"specialty_type": "psychic",
"badge_name": null,
"badge_image_url": null,
"level_cap": 42,
"order": 9,
"after_route_name": "Victory Road (Kanto)",
"location": "Indigo Plateau",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/will.png",
"pokemon": [
{
"pokeapi_id": 178,
"pokemon_name": "Xatu",
"level": 40,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 124,
"pokemon_name": "Jynx",
"level": 41,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 80,
"pokemon_name": "Slowbro",
"level": 41,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 103,
"pokemon_name": "Exeggutor",
"level": 41,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 178,
"pokemon_name": "Xatu",
"level": 42,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Koga",
"boss_type": "elite_four",
"specialty_type": "poison",
"badge_name": null,
"badge_image_url": null,
"level_cap": 44,
"order": 10,
"after_route_name": "Victory Road (Kanto)",
"location": "Indigo Plateau",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/koga.png",
"pokemon": [
{
"pokeapi_id": 168,
"pokemon_name": "Ariados",
"level": 40,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 205,
"pokemon_name": "Forretress",
"level": 43,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 89,
"pokemon_name": "Muk",
"level": 42,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 49,
"pokemon_name": "Venomoth",
"level": 41,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 169,
"pokemon_name": "Crobat",
"level": 44,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Bruno",
"boss_type": "elite_four",
"specialty_type": "fighting",
"badge_name": null,
"badge_image_url": null,
"level_cap": 46,
"order": 11,
"after_route_name": "Victory Road (Kanto)",
"location": "Indigo Plateau",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/bruno.png",
"pokemon": [
{
"pokeapi_id": 237,
"pokemon_name": "Hitmontop",
"level": 42,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 106,
"pokemon_name": "Hitmonlee",
"level": 42,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 107,
"pokemon_name": "Hitmonchan",
"level": 42,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 95,
"pokemon_name": "Onix",
"level": 43,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 68,
"pokemon_name": "Machamp",
"level": 46,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Karen",
"boss_type": "elite_four",
"specialty_type": "dark",
"badge_name": null,
"badge_image_url": null,
"level_cap": 47,
"order": 12,
"after_route_name": "Victory Road (Kanto)",
"location": "Indigo Plateau",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/karen.png",
"pokemon": [
{
"pokeapi_id": 197,
"pokemon_name": "Umbreon",
"level": 42,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 45,
"pokemon_name": "Vileplume",
"level": 42,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 198,
"pokemon_name": "Murkrow",
"level": 44,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 94,
"pokemon_name": "Gengar",
"level": 45,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 229,
"pokemon_name": "Houndoom",
"level": 47,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Lance",
"boss_type": "champion",
"specialty_type": "dragon",
"badge_name": null,
"badge_image_url": null,
"level_cap": 50,
"order": 13,
"after_route_name": "Victory Road (Kanto)",
"location": "Indigo Plateau",
"section": "Main Story",
"sprite_url": "/boss-sprites/heartgold/lance.png",
"pokemon": [
{
"pokeapi_id": 130,
"pokemon_name": "Gyarados",
"level": 46,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 149,
"pokemon_name": "Dragonite",
"level": 49,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 149,
"pokemon_name": "Dragonite",
"level": 49,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 142,
"pokemon_name": "Aerodactyl",
"level": 48,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 6,
"pokemon_name": "Charizard",
"level": 48,
"order": 5,
"condition_label": null
},
{
"pokeapi_id": 149,
"pokemon_name": "Dragonite",
"level": 50,
"order": 6,
"condition_label": null
}
]
},
{
"name": "Lt. Surge",
"boss_type": "gym_leader",
"specialty_type": "electric",
"badge_name": "Thunder Badge",
"badge_image_url": "/badges/thunder-badge.png",
"level_cap": 53,
"order": 14,
"after_route_name": "Vermilion City",
"location": "Vermilion Gym",
"section": "Endgame",
"sprite_url": "/boss-sprites/heartgold/lt-surge.png",
"pokemon": [
{
"pokeapi_id": 26,
"pokemon_name": "Raichu",
"level": 51,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 101,
"pokemon_name": "Electrode",
"level": 47,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 101,
"pokemon_name": "Electrode",
"level": 47,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 82,
"pokemon_name": "Magneton",
"level": 47,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 125,
"pokemon_name": "Electabuzz",
"level": 53,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Sabrina",
"boss_type": "gym_leader",
"specialty_type": "psychic",
"badge_name": "Marsh Badge",
"badge_image_url": "/badges/marsh-badge.png",
"level_cap": 55,
"order": 15,
"after_route_name": "Saffron City",
"location": "Saffron Gym",
"section": "Endgame",
"sprite_url": "/boss-sprites/heartgold/sabrina.png",
"pokemon": [
{
"pokeapi_id": 196,
"pokemon_name": "Espeon",
"level": 53,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 122,
"pokemon_name": "Mr Mime",
"level": 53,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 65,
"pokemon_name": "Alakazam",
"level": 55,
"order": 3,
"condition_label": null
}
]
},
{
"name": "Misty",
"boss_type": "gym_leader",
"specialty_type": "water",
"badge_name": "Cascade Badge",
"badge_image_url": "/badges/cascade-badge.png",
"level_cap": 54,
"order": 16,
"after_route_name": "Cerulean City",
"location": "Cerulean Gym",
"section": "Endgame",
"sprite_url": "/boss-sprites/heartgold/misty.png",
"pokemon": [
{
"pokeapi_id": 55,
"pokemon_name": "Golduck",
"level": 49,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 195,
"pokemon_name": "Quagsire",
"level": 49,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 131,
"pokemon_name": "Lapras",
"level": 52,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 121,
"pokemon_name": "Starmie",
"level": 54,
"order": 4,
"condition_label": null
}
]
},
{
"name": "Erika",
"boss_type": "gym_leader",
"specialty_type": "grass",
"badge_name": "Rainbow Badge",
"badge_image_url": "/badges/rainbow-badge.png",
"level_cap": 56,
"order": 17,
"after_route_name": "Celadon City",
"location": "Celadon Gym",
"section": "Endgame",
"sprite_url": "/boss-sprites/heartgold/erika.png",
"pokemon": [
{
"pokeapi_id": 189,
"pokemon_name": "Jumpluff",
"level": 51,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 114,
"pokemon_name": "Tangela",
"level": 52,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 71,
"pokemon_name": "Victreebel",
"level": 56,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 182,
"pokemon_name": "Bellossom",
"level": 56,
"order": 4,
"condition_label": null
}
]
},
{
"name": "Janine",
"boss_type": "gym_leader",
"specialty_type": "poison",
"badge_name": "Soul Badge",
"badge_image_url": "/badges/soul-badge.png",
"level_cap": 50,
"order": 18,
"after_route_name": "Fuchsia City",
"location": "Fuchsia Gym",
"section": "Endgame",
"sprite_url": "/boss-sprites/heartgold/janine.png",
"pokemon": [
{
"pokeapi_id": 169,
"pokemon_name": "Crobat",
"level": 47,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 110,
"pokemon_name": "Weezing",
"level": 44,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 168,
"pokemon_name": "Ariados",
"level": 47,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 168,
"pokemon_name": "Ariados",
"level": 47,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 49,
"pokemon_name": "Venomoth",
"level": 50,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Brock",
"boss_type": "gym_leader",
"specialty_type": "rock",
"badge_name": "Boulder Badge",
"badge_image_url": "/badges/boulder-badge.png",
"level_cap": 54,
"order": 19,
"after_route_name": "Pewter City",
"location": "Pewter Gym",
"section": "Endgame",
"sprite_url": "/boss-sprites/heartgold/brock.png",
"pokemon": [
{
"pokeapi_id": 75,
"pokemon_name": "Graveler",
"level": 51,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 111,
"pokemon_name": "Rhyhorn",
"level": 51,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 139,
"pokemon_name": "Omastar",
"level": 53,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 141,
"pokemon_name": "Kabutops",
"level": 52,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 95,
"pokemon_name": "Onix",
"level": 54,
"order": 5,
"condition_label": null
}
]
},
{
"name": "Blaine",
"boss_type": "gym_leader",
"specialty_type": "fire",
"badge_name": "Volcano Badge",
"badge_image_url": "/badges/volcano-badge.png",
"level_cap": 59,
"order": 20,
"after_route_name": "Cinnabar Island",
"location": "Cinnabar Gym",
"section": "Endgame",
"sprite_url": "/boss-sprites/heartgold/blaine.png",
"pokemon": [
{
"pokeapi_id": 219,
"pokemon_name": "Magcargo",
"level": 54,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 126,
"pokemon_name": "Magmar",
"level": 54,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 78,
"pokemon_name": "Rapidash",
"level": 59,
"order": 3,
"condition_label": null
}
]
},
{
"name": "Blue",
"boss_type": "gym_leader",
"specialty_type": null,
"badge_name": "Earth Badge",
"badge_image_url": "/badges/earth-badge.png",
"level_cap": 60,
"order": 21,
"after_route_name": "Route 19 (Kanto)",
"location": "Viridian Gym",
"section": "Endgame",
"sprite_url": "/boss-sprites/heartgold/blue.png",
"pokemon": [
{
"pokeapi_id": 103,
"pokemon_name": "Exeggutor",
"level": 55,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 68,
"pokemon_name": "Machamp",
"level": 56,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 130,
"pokemon_name": "Gyarados",
"level": 52,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 59,
"pokemon_name": "Arcanine",
"level": 58,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 112,
"pokemon_name": "Rhydon",
"level": 58,
"order": 5,
"condition_label": null
},
{
"pokeapi_id": 18,
"pokemon_name": "Pidgeot",
"level": 60,
"order": 6,
"condition_label": null
}
]
},
{
"name": "Red",
"boss_type": "other",
"specialty_type": null,
"badge_name": null,
"badge_image_url": null,
"level_cap": 88,
"order": 22,
"after_route_name": "Mt. Silver (Cave)",
"location": "Silver Cave",
"section": "Endgame",
"sprite_url": "/boss-sprites/heartgold/red.png",
"pokemon": [
{
"pokeapi_id": 25,
"pokemon_name": "Pikachu",
"level": 88,
"order": 1,
"condition_label": null
},
{
"pokeapi_id": 131,
"pokemon_name": "Lapras",
"level": 80,
"order": 2,
"condition_label": null
},
{
"pokeapi_id": 143,
"pokemon_name": "Snorlax",
"level": 82,
"order": 3,
"condition_label": null
},
{
"pokeapi_id": 3,
"pokemon_name": "Venusaur",
"level": 84,
"order": 4,
"condition_label": null
},
{
"pokeapi_id": 6,
"pokemon_name": "Charizard",
"level": 84,
"order": 5,
"condition_label": null
},
{
"pokeapi_id": 9,
"pokemon_name": "Blastoise",
"level": 84,
"order": 6,
"condition_label": null
}
]
}
]