Add starter, gift, and fossil encounters to seed data

Define special encounter data (starters, gifts, fossils) in a new
special_encounters module and merge them into route seed JSON during
generation. Add new route locations to ROUTE_ORDER for cities that
previously had no wild encounters (Saffron City, Pewter City, etc.).
Show colored method badges in the EncounterModal UI for special
encounter types.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-07 13:50:49 +01:00
parent 73d4a1831c
commit d488c252b8
21 changed files with 7430 additions and 5384 deletions

View File

@@ -1 +1,134 @@
[]
[
{
"name": "Pallet Town",
"order": 1,
"encounters": [
{
"national_dex": 1,
"pokemon_name": "bulbasaur",
"method": "starter",
"encounter_rate": 100,
"min_level": 5,
"max_level": 5
},
{
"national_dex": 4,
"pokemon_name": "charmander",
"method": "starter",
"encounter_rate": 100,
"min_level": 5,
"max_level": 5
},
{
"national_dex": 7,
"pokemon_name": "squirtle",
"method": "starter",
"encounter_rate": 100,
"min_level": 5,
"max_level": 5
}
]
},
{
"name": "Route 4",
"order": 2,
"encounters": [
{
"national_dex": 129,
"pokemon_name": "magikarp",
"method": "gift",
"encounter_rate": 100,
"min_level": 5,
"max_level": 5
}
]
},
{
"name": "Celadon City",
"order": 3,
"encounters": [
{
"national_dex": 133,
"pokemon_name": "eevee",
"method": "gift",
"encounter_rate": 100,
"min_level": 25,
"max_level": 25
}
]
},
{
"name": "Saffron City",
"order": 4,
"encounters": [
{
"national_dex": 131,
"pokemon_name": "lapras",
"method": "gift",
"encounter_rate": 100,
"min_level": 25,
"max_level": 25
},
{
"national_dex": 106,
"pokemon_name": "hitmonlee",
"method": "gift",
"encounter_rate": 100,
"min_level": 25,
"max_level": 25
},
{
"national_dex": 107,
"pokemon_name": "hitmonchan",
"method": "gift",
"encounter_rate": 100,
"min_level": 25,
"max_level": 25
}
]
},
{
"name": "Cinnabar Island",
"order": 5,
"encounters": [
{
"national_dex": 138,
"pokemon_name": "omanyte",
"method": "fossil",
"encounter_rate": 100,
"min_level": 5,
"max_level": 5
},
{
"national_dex": 140,
"pokemon_name": "kabuto",
"method": "fossil",
"encounter_rate": 100,
"min_level": 5,
"max_level": 5
},
{
"national_dex": 142,
"pokemon_name": "aerodactyl",
"method": "fossil",
"encounter_rate": 100,
"min_level": 5,
"max_level": 5
}
]
},
{
"name": "Water Labyrinth",
"order": 6,
"encounters": [
{
"national_dex": 175,
"pokemon_name": "togepi",
"method": "gift",
"encounter_rate": 100,
"min_level": 5,
"max_level": 5
}
]
}
]