Fix duplicate sub-areas caused by PokeAPI casing (e.g. 1f vs 1F)
PokeAPI returns both lowercase and uppercase floor names as separate sub-areas with identical encounter data, causing 649 duplicate routes across all 22 seed files. Merged case-insensitive duplicates, keeping the uppercase name and deduplicating encounters. Re-seed required. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3400,114 +3400,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Terminus Cave (1f)",
|
||||
"order": 49,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 75,
|
||||
"pokemon_name": "Graveler",
|
||||
"method": "rock-smash",
|
||||
"encounter_rate": 95,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 632,
|
||||
"pokemon_name": "Durant",
|
||||
"method": "walk",
|
||||
"encounter_rate": 40,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 75,
|
||||
"pokemon_name": "Graveler",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 305,
|
||||
"pokemon_name": "Lairon",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 28,
|
||||
"pokemon_name": "Sandslash",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 213,
|
||||
"pokemon_name": "Shuckle",
|
||||
"method": "rock-smash",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Terminus Cave (B1f Left)",
|
||||
"order": 50,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 75,
|
||||
"pokemon_name": "Graveler",
|
||||
"method": "rock-smash",
|
||||
"encounter_rate": 95,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 632,
|
||||
"pokemon_name": "Durant",
|
||||
"method": "walk",
|
||||
"encounter_rate": 40,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 75,
|
||||
"pokemon_name": "Graveler",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 305,
|
||||
"pokemon_name": "Lairon",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 28,
|
||||
"pokemon_name": "Sandslash",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 213,
|
||||
"pokemon_name": "Shuckle",
|
||||
"method": "rock-smash",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Terminus Cave (B1F Left)",
|
||||
"order": 50,
|
||||
@@ -3562,60 +3454,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Terminus Cave (B1f Right)",
|
||||
"order": 51,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 75,
|
||||
"pokemon_name": "Graveler",
|
||||
"method": "rock-smash",
|
||||
"encounter_rate": 95,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 632,
|
||||
"pokemon_name": "Durant",
|
||||
"method": "walk",
|
||||
"encounter_rate": 40,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 75,
|
||||
"pokemon_name": "Graveler",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 305,
|
||||
"pokemon_name": "Lairon",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 28,
|
||||
"pokemon_name": "Sandslash",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 213,
|
||||
"pokemon_name": "Shuckle",
|
||||
"method": "rock-smash",
|
||||
"encounter_rate": 5,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Terminus Cave (B1F Right)",
|
||||
"order": 51,
|
||||
@@ -3708,44 +3546,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Terminus Cave (B2f)",
|
||||
"order": 52,
|
||||
"encounters": [
|
||||
{
|
||||
"pokeapi_id": 632,
|
||||
"pokemon_name": "Durant",
|
||||
"method": "walk",
|
||||
"encounter_rate": 40,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 75,
|
||||
"pokemon_name": "Graveler",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 44,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 305,
|
||||
"pokemon_name": "Lairon",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 46
|
||||
},
|
||||
{
|
||||
"pokeapi_id": 28,
|
||||
"pokemon_name": "Sandslash",
|
||||
"method": "walk",
|
||||
"encounter_rate": 20,
|
||||
"min_level": 45,
|
||||
"max_level": 46
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Terminus Cave (Zygardes Chamber)",
|
||||
"order": 53,
|
||||
|
||||
Reference in New Issue
Block a user