722 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			722 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								from typing import Dict, Set
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from .data import LocationCategory, data
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Item Groups
							 | 
						||
| 
								 | 
							
								ITEM_GROUPS: Dict[str, Set[str]] = {}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								for item in data.items.values():
							 | 
						||
| 
								 | 
							
								    for tag in item.tags:
							 | 
						||
| 
								 | 
							
								        if tag not in ITEM_GROUPS:
							 | 
						||
| 
								 | 
							
								            ITEM_GROUPS[tag] = set()
							 | 
						||
| 
								 | 
							
								        ITEM_GROUPS[tag].add(item.label)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Location Groups
							 | 
						||
| 
								 | 
							
								_LOCATION_GROUP_MAPS = {
							 | 
						||
| 
								 | 
							
								    "Abandoned Ship": {
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_CAPTAINS_OFFICE",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_CORRIDORS_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_CORRIDORS_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_DECK",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_ROOMS2_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_ROOMS2_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_ROOMS_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_ROOMS_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_ROOM_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_UNDERWATER1",
							 | 
						||
| 
								 | 
							
								        "MAP_ABANDONED_SHIP_UNDERWATER2",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Aqua Hideout": {
							 | 
						||
| 
								 | 
							
								        "MAP_AQUA_HIDEOUT_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_AQUA_HIDEOUT_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_AQUA_HIDEOUT_B2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Battle Frontier": {
							 | 
						||
| 
								 | 
							
								        "MAP_ARTISAN_CAVE_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_ARTISAN_CAVE_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_LOUNGE1",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_LOUNGE2",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_LOUNGE3",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_LOUNGE4",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_LOUNGE5",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_LOUNGE6",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_LOUNGE7",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_LOUNGE8",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_LOUNGE9",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_OUTSIDE_EAST",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_OUTSIDE_WEST",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_RANKING_HALL",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_RECEPTION_GATE",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_FRONTIER_SCOTTS_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE01",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE02",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE03",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE04",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE05",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE06",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE07",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE08",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE09",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE10",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE11",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE12",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE13",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE14",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE15",
							 | 
						||
| 
								 | 
							
								        "MAP_BATTLE_PYRAMID_SQUARE16",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Birth Island": {
							 | 
						||
| 
								 | 
							
								        "MAP_BIRTH_ISLAND_EXTERIOR",
							 | 
						||
| 
								 | 
							
								        "MAP_BIRTH_ISLAND_HARBOR",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Contest Hall": {
							 | 
						||
| 
								 | 
							
								        "MAP_CONTEST_HALL",
							 | 
						||
| 
								 | 
							
								        "MAP_CONTEST_HALL_BEAUTY",
							 | 
						||
| 
								 | 
							
								        "MAP_CONTEST_HALL_COOL",
							 | 
						||
| 
								 | 
							
								        "MAP_CONTEST_HALL_CUTE",
							 | 
						||
| 
								 | 
							
								        "MAP_CONTEST_HALL_SMART",
							 | 
						||
| 
								 | 
							
								        "MAP_CONTEST_HALL_TOUGH",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Dewford Town": {
							 | 
						||
| 
								 | 
							
								        "MAP_DEWFORD_TOWN",
							 | 
						||
| 
								 | 
							
								        "MAP_DEWFORD_TOWN_GYM",
							 | 
						||
| 
								 | 
							
								        "MAP_DEWFORD_TOWN_HALL",
							 | 
						||
| 
								 | 
							
								        "MAP_DEWFORD_TOWN_HOUSE1",
							 | 
						||
| 
								 | 
							
								        "MAP_DEWFORD_TOWN_HOUSE2",
							 | 
						||
| 
								 | 
							
								        "MAP_DEWFORD_TOWN_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_DEWFORD_TOWN_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Ever Grande City": {
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_DRAKES_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_GLACIAS_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_HALL1",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_HALL2",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_HALL3",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_HALL4",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_HALL5",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_HALL_OF_FAME",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_PHOEBES_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Fallarbor Town": {
							 | 
						||
| 
								 | 
							
								        "MAP_FALLARBOR_TOWN",
							 | 
						||
| 
								 | 
							
								        "MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_FALLARBOR_TOWN_COZMOS_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_FALLARBOR_TOWN_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Faraway Island": {
							 | 
						||
| 
								 | 
							
								        "MAP_FARAWAY_ISLAND_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_FARAWAY_ISLAND_INTERIOR",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Fiery Path": {"MAP_FIERY_PATH"},
							 | 
						||
| 
								 | 
							
								    "Fortree City": {
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY",
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY_DECORATION_SHOP",
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY_GYM",
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY_HOUSE1",
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY_HOUSE2",
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY_HOUSE3",
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY_HOUSE4",
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY_HOUSE5",
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_FORTREE_CITY_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Granite Cave": {
							 | 
						||
| 
								 | 
							
								        "MAP_GRANITE_CAVE_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_GRANITE_CAVE_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_GRANITE_CAVE_B2F",
							 | 
						||
| 
								 | 
							
								        "MAP_GRANITE_CAVE_STEVENS_ROOM",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Jagged Pass": {"MAP_JAGGED_PASS"},
							 | 
						||
| 
								 | 
							
								    "Lavaridge Town": {
							 | 
						||
| 
								 | 
							
								        "MAP_LAVARIDGE_TOWN",
							 | 
						||
| 
								 | 
							
								        "MAP_LAVARIDGE_TOWN_GYM_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_LAVARIDGE_TOWN_GYM_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_LAVARIDGE_TOWN_HERB_SHOP",
							 | 
						||
| 
								 | 
							
								        "MAP_LAVARIDGE_TOWN_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_LAVARIDGE_TOWN_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Lilycove City": {
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_CONTEST_HALL",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_CONTEST_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_HARBOR",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_HOUSE1",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_HOUSE2",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_HOUSE3",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_HOUSE4",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Littleroot Town": {
							 | 
						||
| 
								 | 
							
								        "MAP_INSIDE_OF_TRUCK",
							 | 
						||
| 
								 | 
							
								        "MAP_LITTLEROOT_TOWN",
							 | 
						||
| 
								 | 
							
								        "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Magma Hideout": {
							 | 
						||
| 
								 | 
							
								        "MAP_MAGMA_HIDEOUT_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_MAGMA_HIDEOUT_2F_1R",
							 | 
						||
| 
								 | 
							
								        "MAP_MAGMA_HIDEOUT_2F_2R",
							 | 
						||
| 
								 | 
							
								        "MAP_MAGMA_HIDEOUT_2F_3R",
							 | 
						||
| 
								 | 
							
								        "MAP_MAGMA_HIDEOUT_3F_1R",
							 | 
						||
| 
								 | 
							
								        "MAP_MAGMA_HIDEOUT_3F_2R",
							 | 
						||
| 
								 | 
							
								        "MAP_MAGMA_HIDEOUT_3F_3R",
							 | 
						||
| 
								 | 
							
								        "MAP_MAGMA_HIDEOUT_4F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Marine Cave": {
							 | 
						||
| 
								 | 
							
								        "MAP_MARINE_CAVE_END",
							 | 
						||
| 
								 | 
							
								        "MAP_MARINE_CAVE_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_MARINE_CAVE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Mauville City": {
							 | 
						||
| 
								 | 
							
								        "MAP_MAUVILLE_CITY",
							 | 
						||
| 
								 | 
							
								        "MAP_MAUVILLE_CITY_BIKE_SHOP",
							 | 
						||
| 
								 | 
							
								        "MAP_MAUVILLE_CITY_GAME_CORNER",
							 | 
						||
| 
								 | 
							
								        "MAP_MAUVILLE_CITY_GYM",
							 | 
						||
| 
								 | 
							
								        "MAP_MAUVILLE_CITY_HOUSE1",
							 | 
						||
| 
								 | 
							
								        "MAP_MAUVILLE_CITY_HOUSE2",
							 | 
						||
| 
								 | 
							
								        "MAP_MAUVILLE_CITY_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_MAUVILLE_CITY_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_MAUVILLE_CITY_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Meteor Falls": {
							 | 
						||
| 
								 | 
							
								        "MAP_METEOR_FALLS_1F_1R",
							 | 
						||
| 
								 | 
							
								        "MAP_METEOR_FALLS_1F_2R",
							 | 
						||
| 
								 | 
							
								        "MAP_METEOR_FALLS_B1F_1R",
							 | 
						||
| 
								 | 
							
								        "MAP_METEOR_FALLS_B1F_2R",
							 | 
						||
| 
								 | 
							
								        "MAP_METEOR_FALLS_STEVENS_CAVE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Mirage Tower": {
							 | 
						||
| 
								 | 
							
								        "MAP_MIRAGE_TOWER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_MIRAGE_TOWER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_MIRAGE_TOWER_3F",
							 | 
						||
| 
								 | 
							
								        "MAP_MIRAGE_TOWER_4F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Mossdeep City": {
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_GAME_CORNER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_GAME_CORNER_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_GYM",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_HOUSE1",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_HOUSE2",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_HOUSE3",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_HOUSE4",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_SPACE_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_SPACE_CENTER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_MOSSDEEP_CITY_STEVENS_HOUSE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Mt. Chimney": {
							 | 
						||
| 
								 | 
							
								        "MAP_MT_CHIMNEY",
							 | 
						||
| 
								 | 
							
								        "MAP_MT_CHIMNEY_CABLE_CAR_STATION",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Mt. Pyre": {
							 | 
						||
| 
								 | 
							
								        "MAP_MT_PYRE_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_MT_PYRE_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_MT_PYRE_3F",
							 | 
						||
| 
								 | 
							
								        "MAP_MT_PYRE_4F",
							 | 
						||
| 
								 | 
							
								        "MAP_MT_PYRE_5F",
							 | 
						||
| 
								 | 
							
								        "MAP_MT_PYRE_6F",
							 | 
						||
| 
								 | 
							
								        "MAP_MT_PYRE_EXTERIOR",
							 | 
						||
| 
								 | 
							
								        "MAP_MT_PYRE_SUMMIT",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Navel Rock": {
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_BOTTOM",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN01",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN02",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN03",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN04",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN05",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN06",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN07",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN08",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN09",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN10",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_DOWN11",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_EXTERIOR",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_FORK",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_HARBOR",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_TOP",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_UP1",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_UP2",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_UP3",
							 | 
						||
| 
								 | 
							
								        "MAP_NAVEL_ROCK_UP4",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "New Mauville": {
							 | 
						||
| 
								 | 
							
								        "MAP_NEW_MAUVILLE_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_NEW_MAUVILLE_INSIDE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Oldale Town": {
							 | 
						||
| 
								 | 
							
								        "MAP_OLDALE_TOWN",
							 | 
						||
| 
								 | 
							
								        "MAP_OLDALE_TOWN_HOUSE1",
							 | 
						||
| 
								 | 
							
								        "MAP_OLDALE_TOWN_HOUSE2",
							 | 
						||
| 
								 | 
							
								        "MAP_OLDALE_TOWN_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_OLDALE_TOWN_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_OLDALE_TOWN_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Pacifidlog Town": {
							 | 
						||
| 
								 | 
							
								        "MAP_PACIFIDLOG_TOWN",
							 | 
						||
| 
								 | 
							
								        "MAP_PACIFIDLOG_TOWN_HOUSE1",
							 | 
						||
| 
								 | 
							
								        "MAP_PACIFIDLOG_TOWN_HOUSE2",
							 | 
						||
| 
								 | 
							
								        "MAP_PACIFIDLOG_TOWN_HOUSE3",
							 | 
						||
| 
								 | 
							
								        "MAP_PACIFIDLOG_TOWN_HOUSE4",
							 | 
						||
| 
								 | 
							
								        "MAP_PACIFIDLOG_TOWN_HOUSE5",
							 | 
						||
| 
								 | 
							
								        "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Petalburg City": {
							 | 
						||
| 
								 | 
							
								        "MAP_PETALBURG_CITY",
							 | 
						||
| 
								 | 
							
								        "MAP_PETALBURG_CITY_GYM",
							 | 
						||
| 
								 | 
							
								        "MAP_PETALBURG_CITY_HOUSE1",
							 | 
						||
| 
								 | 
							
								        "MAP_PETALBURG_CITY_HOUSE2",
							 | 
						||
| 
								 | 
							
								        "MAP_PETALBURG_CITY_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_PETALBURG_CITY_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_PETALBURG_CITY_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_PETALBURG_CITY_WALLYS_HOUSE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Petalburg Woods": {"MAP_PETALBURG_WOODS"},
							 | 
						||
| 
								 | 
							
								    "Route 101": {"MAP_ROUTE101"},
							 | 
						||
| 
								 | 
							
								    "Route 102": {"MAP_ROUTE102"},
							 | 
						||
| 
								 | 
							
								    "Route 103": {"MAP_ROUTE103"},
							 | 
						||
| 
								 | 
							
								    "Route 104": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE104",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE104_MR_BRINEYS_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 105": {
							 | 
						||
| 
								 | 
							
								        "MAP_ISLAND_CAVE",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE105",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_ROUTE105",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 106": {"MAP_ROUTE106"},
							 | 
						||
| 
								 | 
							
								    "Route 107": {"MAP_ROUTE107"},
							 | 
						||
| 
								 | 
							
								    "Route 108": {"MAP_ROUTE108"},
							 | 
						||
| 
								 | 
							
								    "Route 109": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE109",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE109_SEASHORE_HOUSE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 110": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Trick House": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_END",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_PUZZLE1",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_PUZZLE2",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_PUZZLE3",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_PUZZLE4",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_PUZZLE5",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_PUZZLE6",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_PUZZLE7",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE110_TRICK_HOUSE_PUZZLE8",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 111": {
							 | 
						||
| 
								 | 
							
								        "MAP_DESERT_RUINS",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE111",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE111_OLD_LADYS_REST_STOP",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 112": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE112",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE112_CABLE_CAR_STATION",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 113": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE113",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE113_GLASS_WORKSHOP",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 114": {
							 | 
						||
| 
								 | 
							
								        "MAP_DESERT_UNDERPASS",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE114",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE114_FOSSIL_MANIACS_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE114_LANETTES_HOUSE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 115": {"MAP_ROUTE115"},
							 | 
						||
| 
								 | 
							
								    "Route 116": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE116",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE116_TUNNELERS_REST_HOUSE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 117": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE117",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE117_POKEMON_DAY_CARE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 118": {"MAP_ROUTE118"},
							 | 
						||
| 
								 | 
							
								    "Route 119": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE119",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE119_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE119_WEATHER_INSTITUTE_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE119_WEATHER_INSTITUTE_2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 120": {
							 | 
						||
| 
								 | 
							
								        "MAP_ANCIENT_TOMB",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE120",
							 | 
						||
| 
								 | 
							
								        "MAP_SCORCHED_SLAB",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 121": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE121",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 122": {"MAP_ROUTE122"},
							 | 
						||
| 
								 | 
							
								    "Route 123": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE123",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE123_BERRY_MASTERS_HOUSE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 124": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE124",
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_ROUTE124",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 125": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE125",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_ROUTE125",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 126": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE126",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_ROUTE126",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 127": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE127",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_ROUTE127",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 128": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE128",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_ROUTE128",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 129": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE129",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_ROUTE129",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Route 130": {"MAP_ROUTE130"},
							 | 
						||
| 
								 | 
							
								    "Route 131": {"MAP_ROUTE131"},
							 | 
						||
| 
								 | 
							
								    "Route 132": {"MAP_ROUTE132"},
							 | 
						||
| 
								 | 
							
								    "Route 133": {"MAP_ROUTE133"},
							 | 
						||
| 
								 | 
							
								    "Route 134": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE134",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_ROUTE134",
							 | 
						||
| 
								 | 
							
								        "MAP_SEALED_CHAMBER_INNER_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_SEALED_CHAMBER_OUTER_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_SEALED_CHAMBER",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Rustboro City": {
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_CUTTERS_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_DEVON_CORP_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_DEVON_CORP_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_DEVON_CORP_3F",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_FLAT1_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_FLAT1_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_FLAT2_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_FLAT2_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_FLAT2_3F",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_GYM",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_HOUSE1",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_HOUSE2",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_HOUSE3",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_RUSTBORO_CITY_POKEMON_SCHOOL",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Rusturf Tunnel": {"MAP_RUSTURF_TUNNEL"},
							 | 
						||
| 
								 | 
							
								    "Safari Zone": {
							 | 
						||
| 
								 | 
							
								        "MAP_ROUTE121_SAFARI_ZONE_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_SAFARI_ZONE_NORTH",
							 | 
						||
| 
								 | 
							
								        "MAP_SAFARI_ZONE_NORTHEAST",
							 | 
						||
| 
								 | 
							
								        "MAP_SAFARI_ZONE_NORTHWEST",
							 | 
						||
| 
								 | 
							
								        "MAP_SAFARI_ZONE_REST_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_SAFARI_ZONE_SOUTH",
							 | 
						||
| 
								 | 
							
								        "MAP_SAFARI_ZONE_SOUTHEAST",
							 | 
						||
| 
								 | 
							
								        "MAP_SAFARI_ZONE_SOUTHWEST",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Seafloor Cavern": {
							 | 
						||
| 
								 | 
							
								        "MAP_SEAFLOOR_CAVERN_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_SEAFLOOR_CAVERN_ROOM1",
							 | 
						||
| 
								 | 
							
								        "MAP_SEAFLOOR_CAVERN_ROOM2",
							 | 
						||
| 
								 | 
							
								        "MAP_SEAFLOOR_CAVERN_ROOM3",
							 | 
						||
| 
								 | 
							
								        "MAP_SEAFLOOR_CAVERN_ROOM4",
							 | 
						||
| 
								 | 
							
								        "MAP_SEAFLOOR_CAVERN_ROOM5",
							 | 
						||
| 
								 | 
							
								        "MAP_SEAFLOOR_CAVERN_ROOM6",
							 | 
						||
| 
								 | 
							
								        "MAP_SEAFLOOR_CAVERN_ROOM7",
							 | 
						||
| 
								 | 
							
								        "MAP_SEAFLOOR_CAVERN_ROOM8",
							 | 
						||
| 
								 | 
							
								        "MAP_SEAFLOOR_CAVERN_ROOM9",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_SEAFLOOR_CAVERN",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Shoal Cave": {
							 | 
						||
| 
								 | 
							
								        "MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Sky Pillar": {
							 | 
						||
| 
								 | 
							
								        "MAP_SKY_PILLAR_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_SKY_PILLAR_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_SKY_PILLAR_3F",
							 | 
						||
| 
								 | 
							
								        "MAP_SKY_PILLAR_4F",
							 | 
						||
| 
								 | 
							
								        "MAP_SKY_PILLAR_5F",
							 | 
						||
| 
								 | 
							
								        "MAP_SKY_PILLAR_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_SKY_PILLAR_OUTSIDE",
							 | 
						||
| 
								 | 
							
								        "MAP_SKY_PILLAR_TOP",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Slateport City": {
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_HARBOR",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Sootopolis City": {
							 | 
						||
| 
								 | 
							
								        "MAP_CAVE_OF_ORIGIN_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_CAVE_OF_ORIGIN_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_CAVE_OF_ORIGIN_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_GYM_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_GYM_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_HOUSE1",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_HOUSE2",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_HOUSE3",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_HOUSE4",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_HOUSE5",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_HOUSE6",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_HOUSE7",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_UNDERWATER_SOOTOPOLIS_CITY",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Southern Island": {
							 | 
						||
| 
								 | 
							
								        "MAP_SOUTHERN_ISLAND_EXTERIOR",
							 | 
						||
| 
								 | 
							
								        "MAP_SOUTHERN_ISLAND_INTERIOR",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "S.S. Tidal": {
							 | 
						||
| 
								 | 
							
								        "MAP_SS_TIDAL_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_SS_TIDAL_LOWER_DECK",
							 | 
						||
| 
								 | 
							
								        "MAP_SS_TIDAL_ROOMS",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Terra Cave": {
							 | 
						||
| 
								 | 
							
								        "MAP_TERRA_CAVE_END",
							 | 
						||
| 
								 | 
							
								        "MAP_TERRA_CAVE_ENTRANCE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Trainer Hill": {
							 | 
						||
| 
								 | 
							
								        "MAP_TRAINER_HILL_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_TRAINER_HILL_3F",
							 | 
						||
| 
								 | 
							
								        "MAP_TRAINER_HILL_4F",
							 | 
						||
| 
								 | 
							
								        "MAP_TRAINER_HILL_ELEVATOR",
							 | 
						||
| 
								 | 
							
								        "MAP_TRAINER_HILL_ENTRANCE",
							 | 
						||
| 
								 | 
							
								        "MAP_TRAINER_HILL_ROOF",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Verdanturf Town": {
							 | 
						||
| 
								 | 
							
								        "MAP_VERDANTURF_TOWN",
							 | 
						||
| 
								 | 
							
								        "MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM",
							 | 
						||
| 
								 | 
							
								        "MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR",
							 | 
						||
| 
								 | 
							
								        "MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY",
							 | 
						||
| 
								 | 
							
								        "MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_VERDANTURF_TOWN_HOUSE",
							 | 
						||
| 
								 | 
							
								        "MAP_VERDANTURF_TOWN_MART",
							 | 
						||
| 
								 | 
							
								        "MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F",
							 | 
						||
| 
								 | 
							
								        "MAP_VERDANTURF_TOWN_WANDAS_HOUSE",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    "Victory Road": {
							 | 
						||
| 
								 | 
							
								        "MAP_VICTORY_ROAD_1F",
							 | 
						||
| 
								 | 
							
								        "MAP_VICTORY_ROAD_B1F",
							 | 
						||
| 
								 | 
							
								        "MAP_VICTORY_ROAD_B2F",
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								_LOCATION_CATEGORY_TO_GROUP_NAME = {
							 | 
						||
| 
								 | 
							
								    LocationCategory.BADGE: "Badges",
							 | 
						||
| 
								 | 
							
								    LocationCategory.HM: "HMs",
							 | 
						||
| 
								 | 
							
								    LocationCategory.KEY: "Key Items",
							 | 
						||
| 
								 | 
							
								    LocationCategory.ROD: "Fishing Rods",
							 | 
						||
| 
								 | 
							
								    LocationCategory.BIKE: "Bikes",
							 | 
						||
| 
								 | 
							
								    LocationCategory.TICKET: "Tickets",
							 | 
						||
| 
								 | 
							
								    LocationCategory.OVERWORLD_ITEM: "Overworld Items",
							 | 
						||
| 
								 | 
							
								    LocationCategory.HIDDEN_ITEM: "Hidden Items",
							 | 
						||
| 
								 | 
							
								    LocationCategory.GIFT: "NPC Gifts",
							 | 
						||
| 
								 | 
							
								    LocationCategory.BERRY_TREE: "Berry Trees",
							 | 
						||
| 
								 | 
							
								    LocationCategory.TRAINER: "Trainers",
							 | 
						||
| 
								 | 
							
								    LocationCategory.POKEDEX: "Pokedex",
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								LOCATION_GROUPS: Dict[str, Set[str]] = {group_name: set() for group_name in _LOCATION_CATEGORY_TO_GROUP_NAME.values()}
							 | 
						||
| 
								 | 
							
								for location in data.locations.values():
							 | 
						||
| 
								 | 
							
								    # Category groups
							 | 
						||
| 
								 | 
							
								    LOCATION_GROUPS[_LOCATION_CATEGORY_TO_GROUP_NAME[location.category]].add(location.label)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # Tag groups
							 | 
						||
| 
								 | 
							
								    for tag in location.tags:
							 | 
						||
| 
								 | 
							
								        if tag not in LOCATION_GROUPS:
							 | 
						||
| 
								 | 
							
								            LOCATION_GROUPS[tag] = set()
							 | 
						||
| 
								 | 
							
								        LOCATION_GROUPS[tag].add(location.label)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # Geographic groups
							 | 
						||
| 
								 | 
							
								    if location.parent_region != "REGION_POKEDEX":
							 | 
						||
| 
								 | 
							
								        map_name = data.regions[location.parent_region].parent_map.name
							 | 
						||
| 
								 | 
							
								        for group, maps in _LOCATION_GROUP_MAPS.items():
							 | 
						||
| 
								 | 
							
								            if map_name in maps:
							 | 
						||
| 
								 | 
							
								                if group not in LOCATION_GROUPS:
							 | 
						||
| 
								 | 
							
								                    LOCATION_GROUPS[group] = set()
							 | 
						||
| 
								 | 
							
								                LOCATION_GROUPS[group].add(location.label)
							 | 
						||
| 
								 | 
							
								                break
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Meta-groups
							 | 
						||
| 
								 | 
							
								LOCATION_GROUPS["Cities"] = {
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Littleroot Town", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Oldale Town", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Petalburg City", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Rustboro City", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Dewford Town", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Slateport City", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Mauville City", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Verdanturf Town", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Fallarbor Town", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Lavaridge Town", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Fortree City", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Mossdeep City", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Sootopolis City", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Pacifidlog Town", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Ever Grande City", set()),
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								LOCATION_GROUPS["Dungeons"] = {
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Petalburg Woods", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Rusturf Tunnel", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Granite Cave", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Fiery Path", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Meteor Falls", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Jagged Pass", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Mt. Chimney", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Abandoned Ship", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("New Mauville", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Mt. Pyre", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Seafloor Cavern", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Sky Pillar", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Victory Road", set()),
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								LOCATION_GROUPS["Routes"] = {
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 101", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 102", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 103", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 104", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 105", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 106", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 107", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 108", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 109", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 110", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 111", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 112", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 113", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 114", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 115", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 116", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 117", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 118", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 119", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 120", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 121", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 122", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 123", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 124", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 125", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 126", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 127", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 128", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 129", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 130", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 131", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 132", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 133", set()),
							 | 
						||
| 
								 | 
							
								    *LOCATION_GROUPS.get("Route 134", set()),
							 | 
						||
| 
								 | 
							
								}
							 |