Refine seed data: route ordering and boss configs up to gen 8 (WIP)
CI / backend-lint (push) Successful in 9s
CI / frontend-lint (push) Successful in 31s

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-14 16:28:27 +01:00
parent a691fb94c4
commit c4ed232996
42 changed files with 28119 additions and 28020 deletions
+418 -418
View File
@@ -170,8 +170,166 @@
]
},
{
"name": "Floccesy Ranch",
"name": "Unova Route 20",
"order": 4,
"encounters": [
{
"pokeapi_id": 531,
"pokemon_name": "Audino",
"method": "walk",
"encounter_rate": 90,
"min_level": 2,
"max_level": 4
},
{
"pokeapi_id": 10016,
"pokemon_name": "Basculin (Blue Striped)",
"method": "surf",
"encounter_rate": 70,
"min_level": 7,
"max_level": 15
},
{
"pokeapi_id": 550,
"pokemon_name": "Basculin Red Striped",
"method": "surf",
"encounter_rate": 65,
"min_level": 5,
"max_level": 15
},
{
"pokeapi_id": 61,
"pokemon_name": "Poliwhirl",
"method": "fishing",
"encounter_rate": 65,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 60,
"pokemon_name": "Poliwag",
"method": "fishing",
"encounter_rate": 60,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 519,
"pokemon_name": "Pidove",
"method": "walk",
"encounter_rate": 50,
"min_level": 2,
"max_level": 10
},
{
"pokeapi_id": 540,
"pokemon_name": "Sewaddle",
"method": "walk",
"encounter_rate": 50,
"min_level": 2,
"max_level": 11
},
{
"pokeapi_id": 191,
"pokemon_name": "Sunkern",
"method": "walk",
"encounter_rate": 50,
"min_level": 2,
"max_level": 11
},
{
"pokeapi_id": 10016,
"pokemon_name": "Basculin (Blue Striped)",
"method": "fishing",
"encounter_rate": 40,
"min_level": 40,
"max_level": 60
},
{
"pokeapi_id": 122,
"pokemon_name": "Mr Mime",
"method": "walk",
"encounter_rate": 40,
"min_level": 40,
"max_level": 55
},
{
"pokeapi_id": 504,
"pokemon_name": "Patrat",
"method": "walk",
"encounter_rate": 40,
"min_level": 2,
"max_level": 10
},
{
"pokeapi_id": 298,
"pokemon_name": "Azurill",
"method": "surf",
"encounter_rate": 30,
"min_level": 5,
"max_level": 15
},
{
"pokeapi_id": 550,
"pokemon_name": "Basculin Red Striped",
"method": "fishing",
"encounter_rate": 30,
"min_level": 40,
"max_level": 60
},
{
"pokeapi_id": 183,
"pokemon_name": "Marill",
"method": "surf",
"encounter_rate": 30,
"min_level": 5,
"max_level": 15
},
{
"pokeapi_id": 509,
"pokemon_name": "Purrloin",
"method": "walk",
"encounter_rate": 30,
"min_level": 2,
"max_level": 11
},
{
"pokeapi_id": 543,
"pokemon_name": "Venipede",
"method": "walk",
"encounter_rate": 20,
"min_level": 10,
"max_level": 10
},
{
"pokeapi_id": 206,
"pokemon_name": "Dunsparce",
"method": "walk",
"encounter_rate": 10,
"min_level": 3,
"max_level": 3
},
{
"pokeapi_id": 184,
"pokemon_name": "Azumarill",
"method": "surf",
"encounter_rate": 5,
"min_level": 5,
"max_level": 15
},
{
"pokeapi_id": 186,
"pokemon_name": "Politoed",
"method": "fishing",
"encounter_rate": 5,
"min_level": 50,
"max_level": 70
}
]
},
{
"name": "Floccesy Ranch",
"order": 5,
"encounters": [
{
"pokeapi_id": 206,
@@ -351,164 +509,6 @@
}
]
},
{
"name": "Unova Route 20",
"order": 5,
"encounters": [
{
"pokeapi_id": 531,
"pokemon_name": "Audino",
"method": "walk",
"encounter_rate": 90,
"min_level": 2,
"max_level": 4
},
{
"pokeapi_id": 10016,
"pokemon_name": "Basculin (Blue Striped)",
"method": "surf",
"encounter_rate": 70,
"min_level": 7,
"max_level": 15
},
{
"pokeapi_id": 550,
"pokemon_name": "Basculin Red Striped",
"method": "surf",
"encounter_rate": 65,
"min_level": 5,
"max_level": 15
},
{
"pokeapi_id": 61,
"pokemon_name": "Poliwhirl",
"method": "fishing",
"encounter_rate": 65,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 60,
"pokemon_name": "Poliwag",
"method": "fishing",
"encounter_rate": 60,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 519,
"pokemon_name": "Pidove",
"method": "walk",
"encounter_rate": 50,
"min_level": 2,
"max_level": 10
},
{
"pokeapi_id": 540,
"pokemon_name": "Sewaddle",
"method": "walk",
"encounter_rate": 50,
"min_level": 2,
"max_level": 11
},
{
"pokeapi_id": 191,
"pokemon_name": "Sunkern",
"method": "walk",
"encounter_rate": 50,
"min_level": 2,
"max_level": 11
},
{
"pokeapi_id": 10016,
"pokemon_name": "Basculin (Blue Striped)",
"method": "fishing",
"encounter_rate": 40,
"min_level": 40,
"max_level": 60
},
{
"pokeapi_id": 122,
"pokemon_name": "Mr Mime",
"method": "walk",
"encounter_rate": 40,
"min_level": 40,
"max_level": 55
},
{
"pokeapi_id": 504,
"pokemon_name": "Patrat",
"method": "walk",
"encounter_rate": 40,
"min_level": 2,
"max_level": 10
},
{
"pokeapi_id": 298,
"pokemon_name": "Azurill",
"method": "surf",
"encounter_rate": 30,
"min_level": 5,
"max_level": 15
},
{
"pokeapi_id": 550,
"pokemon_name": "Basculin Red Striped",
"method": "fishing",
"encounter_rate": 30,
"min_level": 40,
"max_level": 60
},
{
"pokeapi_id": 183,
"pokemon_name": "Marill",
"method": "surf",
"encounter_rate": 30,
"min_level": 5,
"max_level": 15
},
{
"pokeapi_id": 509,
"pokemon_name": "Purrloin",
"method": "walk",
"encounter_rate": 30,
"min_level": 2,
"max_level": 11
},
{
"pokeapi_id": 543,
"pokemon_name": "Venipede",
"method": "walk",
"encounter_rate": 20,
"min_level": 10,
"max_level": 10
},
{
"pokeapi_id": 206,
"pokemon_name": "Dunsparce",
"method": "walk",
"encounter_rate": 10,
"min_level": 3,
"max_level": 3
},
{
"pokeapi_id": 184,
"pokemon_name": "Azumarill",
"method": "surf",
"encounter_rate": 5,
"min_level": 5,
"max_level": 15
},
{
"pokeapi_id": 186,
"pokemon_name": "Politoed",
"method": "fishing",
"encounter_rate": 5,
"min_level": 50,
"max_level": 70
}
]
},
{
"name": "Virbank City",
"order": 6,
@@ -4270,267 +4270,9 @@
}
]
},
{
"name": "Unova Route 21",
"order": 63,
"encounters": [
{
"pokeapi_id": 370,
"pokemon_name": "Luvdisc",
"method": "fishing",
"encounter_rate": 100,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 223,
"pokemon_name": "Remoraid",
"method": "fishing",
"encounter_rate": 95,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 592,
"pokemon_name": "Frillish",
"method": "surf",
"encounter_rate": 65,
"min_level": 30,
"max_level": 45
},
{
"pokeapi_id": 593,
"pokemon_name": "Jellicent",
"method": "surf",
"encounter_rate": 60,
"min_level": 30,
"max_level": 45
},
{
"pokeapi_id": 594,
"pokemon_name": "Alomomola",
"method": "surf",
"encounter_rate": 35,
"min_level": 30,
"max_level": 45
},
{
"pokeapi_id": 458,
"pokemon_name": "Mantyke",
"method": "surf",
"encounter_rate": 30,
"min_level": 30,
"max_level": 45
},
{
"pokeapi_id": 226,
"pokemon_name": "Mantine",
"method": "surf",
"encounter_rate": 5,
"min_level": 30,
"max_level": 45
},
{
"pokeapi_id": 224,
"pokemon_name": "Octillery",
"method": "fishing",
"encounter_rate": 5,
"min_level": 50,
"max_level": 70
},
{
"pokeapi_id": 223,
"pokemon_name": "Remoraid",
"method": "surf",
"encounter_rate": 5,
"min_level": 35,
"max_level": 45
}
]
},
{
"name": "Seaside Cave",
"order": 64,
"encounters": [
{
"pokeapi_id": 558,
"pokemon_name": "Crustle",
"method": "static",
"encounter_rate": 100,
"min_level": 42,
"max_level": 42
}
],
"children": [
{
"name": "Seaside Cave (1F)",
"order": 65,
"encounters": [
{
"pokeapi_id": 530,
"pokemon_name": "Excadrill",
"method": "walk",
"encounter_rate": 100,
"min_level": 34,
"max_level": 37
},
{
"pokeapi_id": 55,
"pokemon_name": "Golduck",
"method": "walk",
"encounter_rate": 35,
"min_level": 34,
"max_level": 36
},
{
"pokeapi_id": 527,
"pokemon_name": "Woobat",
"method": "walk",
"encounter_rate": 35,
"min_level": 34,
"max_level": 36
},
{
"pokeapi_id": 525,
"pokemon_name": "Boldore",
"method": "walk",
"encounter_rate": 15,
"min_level": 35,
"max_level": 35
},
{
"pokeapi_id": 86,
"pokemon_name": "Seel",
"method": "walk",
"encounter_rate": 10,
"min_level": 35,
"max_level": 35
},
{
"pokeapi_id": 602,
"pokemon_name": "Tynamo",
"method": "walk",
"encounter_rate": 5,
"min_level": 37,
"max_level": 37
}
]
},
{
"name": "Seaside Cave (B1F)",
"order": 66,
"encounters": [
{
"pokeapi_id": 530,
"pokemon_name": "Excadrill",
"method": "walk",
"encounter_rate": 100,
"min_level": 39,
"max_level": 42
},
{
"pokeapi_id": 370,
"pokemon_name": "Luvdisc",
"method": "fishing",
"encounter_rate": 100,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 90,
"pokemon_name": "Shellder",
"method": "fishing",
"encounter_rate": 95,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 86,
"pokemon_name": "Seel",
"method": "surf",
"encounter_rate": 90,
"min_level": 25,
"max_level": 40
},
{
"pokeapi_id": 592,
"pokemon_name": "Frillish",
"method": "surf",
"encounter_rate": 70,
"min_level": 25,
"max_level": 40
},
{
"pokeapi_id": 525,
"pokemon_name": "Boldore",
"method": "walk",
"encounter_rate": 35,
"min_level": 39,
"max_level": 42
},
{
"pokeapi_id": 527,
"pokemon_name": "Woobat",
"method": "walk",
"encounter_rate": 35,
"min_level": 39,
"max_level": 41
},
{
"pokeapi_id": 593,
"pokemon_name": "Jellicent",
"method": "surf",
"encounter_rate": 30,
"min_level": 25,
"max_level": 40
},
{
"pokeapi_id": 55,
"pokemon_name": "Golduck",
"method": "walk",
"encounter_rate": 20,
"min_level": 40,
"max_level": 40
},
{
"pokeapi_id": 87,
"pokemon_name": "Dewgong",
"method": "surf",
"encounter_rate": 10,
"min_level": 30,
"max_level": 40
},
{
"pokeapi_id": 91,
"pokemon_name": "Cloyster",
"method": "fishing",
"encounter_rate": 5,
"min_level": 50,
"max_level": 70
},
{
"pokeapi_id": 603,
"pokemon_name": "Eelektrik",
"method": "walk",
"encounter_rate": 5,
"min_level": 42,
"max_level": 42
},
{
"pokeapi_id": 213,
"pokemon_name": "Shuckle",
"method": "walk",
"encounter_rate": 5,
"min_level": 41,
"max_level": 41
}
]
}
]
},
{
"name": "Unova Route 22",
"order": 67,
"order": 63,
"encounters": [
{
"pokeapi_id": 118,
@@ -4726,6 +4468,264 @@
}
]
},
{
"name": "Unova Route 21",
"order": 64,
"encounters": [
{
"pokeapi_id": 370,
"pokemon_name": "Luvdisc",
"method": "fishing",
"encounter_rate": 100,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 223,
"pokemon_name": "Remoraid",
"method": "fishing",
"encounter_rate": 95,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 592,
"pokemon_name": "Frillish",
"method": "surf",
"encounter_rate": 65,
"min_level": 30,
"max_level": 45
},
{
"pokeapi_id": 593,
"pokemon_name": "Jellicent",
"method": "surf",
"encounter_rate": 60,
"min_level": 30,
"max_level": 45
},
{
"pokeapi_id": 594,
"pokemon_name": "Alomomola",
"method": "surf",
"encounter_rate": 35,
"min_level": 30,
"max_level": 45
},
{
"pokeapi_id": 458,
"pokemon_name": "Mantyke",
"method": "surf",
"encounter_rate": 30,
"min_level": 30,
"max_level": 45
},
{
"pokeapi_id": 226,
"pokemon_name": "Mantine",
"method": "surf",
"encounter_rate": 5,
"min_level": 30,
"max_level": 45
},
{
"pokeapi_id": 224,
"pokemon_name": "Octillery",
"method": "fishing",
"encounter_rate": 5,
"min_level": 50,
"max_level": 70
},
{
"pokeapi_id": 223,
"pokemon_name": "Remoraid",
"method": "surf",
"encounter_rate": 5,
"min_level": 35,
"max_level": 45
}
]
},
{
"name": "Seaside Cave",
"order": 65,
"encounters": [
{
"pokeapi_id": 558,
"pokemon_name": "Crustle",
"method": "static",
"encounter_rate": 100,
"min_level": 42,
"max_level": 42
}
],
"children": [
{
"name": "Seaside Cave (1F)",
"order": 66,
"encounters": [
{
"pokeapi_id": 530,
"pokemon_name": "Excadrill",
"method": "walk",
"encounter_rate": 100,
"min_level": 34,
"max_level": 37
},
{
"pokeapi_id": 55,
"pokemon_name": "Golduck",
"method": "walk",
"encounter_rate": 35,
"min_level": 34,
"max_level": 36
},
{
"pokeapi_id": 527,
"pokemon_name": "Woobat",
"method": "walk",
"encounter_rate": 35,
"min_level": 34,
"max_level": 36
},
{
"pokeapi_id": 525,
"pokemon_name": "Boldore",
"method": "walk",
"encounter_rate": 15,
"min_level": 35,
"max_level": 35
},
{
"pokeapi_id": 86,
"pokemon_name": "Seel",
"method": "walk",
"encounter_rate": 10,
"min_level": 35,
"max_level": 35
},
{
"pokeapi_id": 602,
"pokemon_name": "Tynamo",
"method": "walk",
"encounter_rate": 5,
"min_level": 37,
"max_level": 37
}
]
},
{
"name": "Seaside Cave (B1F)",
"order": 67,
"encounters": [
{
"pokeapi_id": 530,
"pokemon_name": "Excadrill",
"method": "walk",
"encounter_rate": 100,
"min_level": 39,
"max_level": 42
},
{
"pokeapi_id": 370,
"pokemon_name": "Luvdisc",
"method": "fishing",
"encounter_rate": 100,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 90,
"pokemon_name": "Shellder",
"method": "fishing",
"encounter_rate": 95,
"min_level": 40,
"max_level": 70
},
{
"pokeapi_id": 86,
"pokemon_name": "Seel",
"method": "surf",
"encounter_rate": 90,
"min_level": 25,
"max_level": 40
},
{
"pokeapi_id": 592,
"pokemon_name": "Frillish",
"method": "surf",
"encounter_rate": 70,
"min_level": 25,
"max_level": 40
},
{
"pokeapi_id": 525,
"pokemon_name": "Boldore",
"method": "walk",
"encounter_rate": 35,
"min_level": 39,
"max_level": 42
},
{
"pokeapi_id": 527,
"pokemon_name": "Woobat",
"method": "walk",
"encounter_rate": 35,
"min_level": 39,
"max_level": 41
},
{
"pokeapi_id": 593,
"pokemon_name": "Jellicent",
"method": "surf",
"encounter_rate": 30,
"min_level": 25,
"max_level": 40
},
{
"pokeapi_id": 55,
"pokemon_name": "Golduck",
"method": "walk",
"encounter_rate": 20,
"min_level": 40,
"max_level": 40
},
{
"pokeapi_id": 87,
"pokemon_name": "Dewgong",
"method": "surf",
"encounter_rate": 10,
"min_level": 30,
"max_level": 40
},
{
"pokeapi_id": 91,
"pokemon_name": "Cloyster",
"method": "fishing",
"encounter_rate": 5,
"min_level": 50,
"max_level": 70
},
{
"pokeapi_id": 603,
"pokemon_name": "Eelektrik",
"method": "walk",
"encounter_rate": 5,
"min_level": 42,
"max_level": 42
},
{
"pokeapi_id": 213,
"pokemon_name": "Shuckle",
"method": "walk",
"encounter_rate": 5,
"min_level": 41,
"max_level": 41
}
]
}
]
},
{
"name": "Giant Chasm",
"order": 68,