389 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			389 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from typing import Dict, TypedDict
 | |
| 
 | |
| 
 | |
| class LocationDict(TypedDict, total=False):
 | |
|     name: str
 | |
|     region: int 
 | |
| 
 | |
| 
 | |
| location_table: Dict[int, LocationDict] = {
 | |
|     # Waynehouse
 | |
|     200622: {'name': "Waynehouse: Toilet",
 | |
|              'region': 2},
 | |
|     200623: {'name': "Waynehouse: Basement Pot 1",
 | |
|              'region': 2},
 | |
|     200624: {'name': "Waynehouse: Basement Pot 2",
 | |
|              'region': 2},
 | |
|     200625: {'name': "Waynehouse: Basement Pot 3",
 | |
|              'region': 2},
 | |
|     200626: {'name': "Waynehouse: Sarcophagus",
 | |
|              'region': 2},
 | |
| 
 | |
|     # Afterlife
 | |
|     200628: {'name': "Afterlife: Mangled Wayne",
 | |
|              'region': 1},
 | |
|     200629: {'name': "Afterlife: Jar near Mangled Wayne",
 | |
|              'region': 1},
 | |
|     200630: {'name': "Afterlife: Jar under Pool",
 | |
|              'region': 1},
 | |
| 
 | |
|     # New Muldul
 | |
|     200632: {'name': "New Muldul: Shop Ceiling Pot 1",
 | |
|              'region': 4},
 | |
|     200633: {'name': "New Muldul: Shop Ceiling Pot 2",
 | |
|              'region': 4},
 | |
|     200634: {'name': "New Muldul: Flag Banana",
 | |
|              'region': 4},
 | |
|     200635: {'name': "New Muldul: Pot near Vault",
 | |
|              'region': 4},
 | |
|     200785: {'name': "New Muldul: Pot above Vault",
 | |
|              'region': 4},
 | |
|     200636: {'name': "New Muldul: Underground Pot",
 | |
|              'region': 4},
 | |
|     200637: {'name': "New Muldul: Underground Chest",
 | |
|              'region': 4},
 | |
|     200638: {'name': "New Muldul: Juice Trade",
 | |
|              'region': 4},
 | |
|     200639: {'name': "New Muldul: Basement Suitcase",
 | |
|              'region': 4},
 | |
|     200640: {'name': "New Muldul: Upper House Chest 1",
 | |
|              'region': 4},
 | |
|     200641: {'name': "New Muldul: Upper House Chest 2",
 | |
|              'region': 4},
 | |
| 
 | |
|     # New Muldul Vault
 | |
|     200643: {'name': "New Muldul: Talk to Pongorma",
 | |
|              'region': 4},
 | |
|     200645: {'name': "New Muldul: Rescued Blerol 1",
 | |
|              'region': 4},
 | |
|     200646: {'name': "New Muldul: Rescued Blerol 2",
 | |
|              'region': 4},
 | |
|     200647: {'name': "New Muldul: Vault Left Chest",
 | |
|              'region': 5},
 | |
|     200648: {'name': "New Muldul: Vault Right Chest",
 | |
|              'region': 5},
 | |
|     200649: {'name': "New Muldul: Vault Bomb",
 | |
|              'region': 5},
 | |
| 
 | |
|     # Viewax's Edifice
 | |
|     200650: {'name': "Viewax's Edifice: Fountain Banana",
 | |
|              'region': 6},
 | |
|     200651: {'name': "Viewax's Edifice: Dedusmuln's Suitcase",
 | |
|              'region': 6},
 | |
|     200652: {'name': "Viewax's Edifice: Dedusmuln's Campfire",
 | |
|              'region': 6},
 | |
|     200653: {'name': "Viewax's Edifice: Talk to Dedusmuln",
 | |
|              'region': 6},
 | |
|     200655: {'name': "Viewax's Edifice: Canopic Jar",
 | |
|              'region': 6},
 | |
|     200656: {'name': "Viewax's Edifice: Cave Sarcophagus",
 | |
|              'region': 6},
 | |
|     200657: {'name': "Viewax's Edifice: Shielded Key",
 | |
|              'region': 6},
 | |
|     200658: {'name': "Viewax's Edifice: Tower Pot",
 | |
|              'region': 6},
 | |
|     200659: {'name': "Viewax's Edifice: Tower Jar",
 | |
|              'region': 6},
 | |
|     200660: {'name': "Viewax's Edifice: Tower Chest",
 | |
|              'region': 6},
 | |
|     200661: {'name': "Viewax's Edifice: Sage Fridge",
 | |
|              'region': 6},
 | |
|     200662: {'name': "Viewax's Edifice: Sage Item 1",
 | |
|              'region': 6},
 | |
|     200663: {'name': "Viewax's Edifice: Sage Item 2",
 | |
|              'region': 6},
 | |
|     200664: {'name': "Viewax's Edifice: Viewax Pot",
 | |
|              'region': 6},
 | |
|     200665: {'name': "Viewax's Edifice: Defeat Viewax",
 | |
|              'region': 6},
 | |
| 
 | |
|     # Viewax Arcade Minigame
 | |
|     200667: {'name': "Arcade 1: Key",
 | |
|              'region': 6},
 | |
|     200668: {'name': "Arcade 1: Coin Dash",
 | |
|              'region': 6},
 | |
|     200669: {'name': "Arcade 1: Burrito Alcove 1",
 | |
|              'region': 6},
 | |
|     200670: {'name': "Arcade 1: Burrito Alcove 2",
 | |
|              'region': 6},
 | |
|     200671: {'name': "Arcade 1: Behind Spikes Banana",
 | |
|              'region': 6},
 | |
|     200672: {'name': "Arcade 1: Pyramid Banana",
 | |
|              'region': 6},
 | |
|     200673: {'name': "Arcade 1: Moving Platforms Muscle Applique",
 | |
|              'region': 6},
 | |
|     200674: {'name': "Arcade 1: Bed Banana",
 | |
|              'region': 6},
 | |
| 
 | |
|     # Airship
 | |
|     200675: {'name': "Airship: Talk to Somsnosa",
 | |
|              'region': 7},
 | |
|     
 | |
|     # Arcade Island
 | |
|     200676: {'name': "Arcade Island: Shielded Key",
 | |
|              'region': 8},
 | |
|     200677: {'name': "Arcade 2: Flying Machine Banana",
 | |
|              'region': 8},
 | |
|     200678: {'name': "Arcade 2: Paper Cup Detour",
 | |
|              'region': 8},
 | |
|     200679: {'name': "Arcade 2: Peak Muscle Applique",
 | |
|              'region': 8},
 | |
|     200680: {'name': "Arcade 2: Double Banana 1",
 | |
|              'region': 8},
 | |
|     200681: {'name': "Arcade 2: Double Banana 2",
 | |
|              'region': 8},
 | |
|     200682: {'name': "Arcade 2: Cave Burrito",
 | |
|              'region': 8},
 | |
| 
 | |
|     # Juice Ranch
 | |
|     200684: {'name': "Juice Ranch: Juice 1",
 | |
|              'region': 10},
 | |
|     200685: {'name': "Juice Ranch: Juice 2",
 | |
|              'region': 10},
 | |
|     200686: {'name': "Juice Ranch: Juice 3",
 | |
|              'region': 10},
 | |
|     200687: {'name': "Juice Ranch: Ledge Rancher",
 | |
|              'region': 10},
 | |
|     200688: {'name': "Juice Ranch: Battle with Somsnosa",
 | |
|              'region': 10},
 | |
|     200690: {'name': "Juice Ranch: Fridge",
 | |
|              'region': 10},
 | |
| 
 | |
|     # Worm Pod
 | |
|     200692: {'name': "Worm Pod: Key",
 | |
|              'region': 12},
 | |
| 
 | |
|     # Foglast
 | |
|     200693: {'name': "Foglast: West Sarcophagus",
 | |
|              'region': 13},
 | |
|     200694: {'name': "Foglast: Underground Sarcophagus",
 | |
|              'region': 13},
 | |
|     200695: {'name': "Foglast: Shielded Key",
 | |
|              'region': 13},
 | |
|     200696: {'name': "Foglast: Buy Clicker",
 | |
|              'region': 13},
 | |
|     200698: {'name': "Foglast: Shielded Chest",
 | |
|              'region': 13},
 | |
|     200699: {'name': "Foglast: Cave Fridge",
 | |
|              'region': 13},
 | |
|     200700: {'name': "Foglast: Roof Sarcophagus",
 | |
|              'region': 13},
 | |
|     200701: {'name': "Foglast: Under Lair Sarcophagus 1",
 | |
|              'region': 13},
 | |
|     200702: {'name': "Foglast: Under Lair Sarcophagus 2",
 | |
|              'region': 13},
 | |
|     200703: {'name': "Foglast: Under Lair Sarcophagus 3",
 | |
|              'region': 13},
 | |
|     200704: {'name': "Foglast: Sage Sarcophagus",
 | |
|              'region': 13},
 | |
|     200705: {'name': "Foglast: Sage Item 1",
 | |
|              'region': 13},
 | |
|     200706: {'name': "Foglast: Sage Item 2",
 | |
|              'region': 13},
 | |
| 
 | |
|     # Drill Castle
 | |
|     200707: {'name': "Drill Castle: Ledge Banana",
 | |
|              'region': 14},
 | |
|     200708: {'name': "Drill Castle: Island Banana",
 | |
|              'region': 14},
 | |
|     200709: {'name': "Drill Castle: Island Pot",
 | |
|              'region': 14},
 | |
|     200710: {'name': "Drill Castle: Cave Sarcophagus",
 | |
|              'region': 14},
 | |
|     200711: {'name': "Drill Castle: Roof Banana",
 | |
|              'region': 14},
 | |
| 
 | |
|     # Sage Labyrinth
 | |
|     200713: {'name': "Sage Labyrinth: 1F Chest Near Fountain",
 | |
|              'region': 15},
 | |
|     200714: {'name': "Sage Labyrinth: 1F Hidden Sarcophagus",
 | |
|              'region': 15},
 | |
|     200715: {'name': "Sage Labyrinth: 1F Four Statues Chest 1",
 | |
|              'region': 15},
 | |
|     200716: {'name': "Sage Labyrinth: 1F Four Statues Chest 2",
 | |
|              'region': 15},
 | |
|     200717: {'name': "Sage Labyrinth: B1 Double Chest 1",
 | |
|              'region': 15},
 | |
|     200718: {'name': "Sage Labyrinth: B1 Double Chest 2",
 | |
|              'region': 15},
 | |
|     200719: {'name': "Sage Labyrinth: B1 Single Chest",
 | |
|              'region': 15},
 | |
|     200720: {'name': "Sage Labyrinth: B1 Enemy Chest",
 | |
|              'region': 15},
 | |
|     200721: {'name': "Sage Labyrinth: B1 Hidden Sarcophagus",
 | |
|              'region': 15},
 | |
|     200722: {'name': "Sage Labyrinth: B1 Hole Chest",
 | |
|              'region': 15},
 | |
|     200723: {'name': "Sage Labyrinth: B2 Hidden Sarcophagus 1",
 | |
|              'region': 15},
 | |
|     200724: {'name': "Sage Labyrinth: B2 Hidden Sarcophagus 2",
 | |
|              'region': 15},
 | |
|     200754: {'name': "Sage Labyrinth: 2F Sarcophagus",
 | |
|              'region': 15},
 | |
|     200786: {'name': "Sage Labyrinth: Boss Secret Chest 1",
 | |
|              'region': 15},
 | |
|     200787: {'name': "Sage Labyrinth: Boss Secret Chest 2",
 | |
|              'region': 15},
 | |
|     200725: {'name': "Sage Labyrinth: Motor Hunter Sarcophagus",
 | |
|              'region': 15},
 | |
|     200726: {'name': "Sage Labyrinth: Sage Item 1",
 | |
|              'region': 15},
 | |
|     200727: {'name': "Sage Labyrinth: Sage Item 2",
 | |
|              'region': 15},
 | |
|     200728: {'name': "Sage Labyrinth: Sage Left Arm",
 | |
|              'region': 15},
 | |
|     200729: {'name': "Sage Labyrinth: Sage Right Arm",
 | |
|              'region': 15},
 | |
|     200730: {'name': "Sage Labyrinth: Sage Left Leg",
 | |
|              'region': 15},
 | |
|     200731: {'name': "Sage Labyrinth: Sage Right Leg",
 | |
|              'region': 15},
 | |
| 
 | |
|     # Sage Airship
 | |
|     200732: {'name': "Sage Airship: Bottom Level Pot",
 | |
|              'region': 16},
 | |
|     200733: {'name': "Sage Airship: Flesh Pot",
 | |
|              'region': 16},
 | |
|     200734: {'name': "Sage Airship: Top Jar",
 | |
|              'region': 16},
 | |
| 
 | |
|     # Hylemxylem
 | |
|     200736: {'name': "Hylemxylem: Jar",
 | |
|              'region': 17},
 | |
|     200737: {'name': "Hylemxylem: Lower Reservoir Key",
 | |
|              'region': 17},
 | |
|     200738: {'name': "Hylemxylem: Fountain Banana",
 | |
|              'region': 17},
 | |
|     200739: {'name': "Hylemxylem: East Island Banana",
 | |
|              'region': 17},
 | |
|     200740: {'name': "Hylemxylem: East Island Chest",
 | |
|              'region': 17},
 | |
|     200741: {'name': "Hylemxylem: Upper Chamber Banana",
 | |
|              'region': 17},
 | |
|     200742: {'name': "Hylemxylem: Across Upper Reservoir Chest",
 | |
|              'region': 17},
 | |
|     200743: {'name': "Hylemxylem: Drained Lower Reservoir Chest",
 | |
|              'region': 17},
 | |
|     200744: {'name': "Hylemxylem: Drained Lower Reservoir Burrito 1",
 | |
|              'region': 17},
 | |
|     200745: {'name': "Hylemxylem: Drained Lower Reservoir Burrito 2",
 | |
|              'region': 17},
 | |
|     200746: {'name': "Hylemxylem: Lower Reservoir Hole Pot 1",
 | |
|              'region': 17},
 | |
|     200747: {'name': "Hylemxylem: Lower Reservoir Hole Pot 2",
 | |
|              'region': 17},
 | |
|     200748: {'name': "Hylemxylem: Lower Reservoir Hole Pot 3",
 | |
|              'region': 17},
 | |
|     200749: {'name': "Hylemxylem: Lower Reservoir Hole Sarcophagus",
 | |
|              'region': 17},
 | |
|     200750: {'name': "Hylemxylem: Drained Upper Reservoir Burrito 1",
 | |
|              'region': 17},
 | |
|     200751: {'name': "Hylemxylem: Drained Upper Reservoir Burrito 2",
 | |
|              'region': 17},
 | |
|     200752: {'name': "Hylemxylem: Drained Upper Reservoir Burrito 3",
 | |
|              'region': 17},
 | |
|     200753: {'name': "Hylemxylem: Upper Reservoir Hole Key",
 | |
|              'region': 17}
 | |
| }
 | |
| 
 | |
| 
 | |
| tv_location_table: Dict[int, LocationDict] = {
 | |
|     200627: {'name': "Waynehouse: TV",
 | |
|              'region': 2},
 | |
|     200631: {'name': "Afterlife: TV",
 | |
|              'region': 1},
 | |
|     200642: {'name': "New Muldul: TV",
 | |
|              'region': 4},
 | |
|     200666: {'name': "Viewax's Edifice: TV",
 | |
|              'region': 6},
 | |
|     200683: {'name': "TV Island: TV",
 | |
|              'region': 9},
 | |
|     200691: {'name': "Juice Ranch: TV",
 | |
|              'region': 10},
 | |
|     200697: {'name': "Foglast: TV",
 | |
|              'region': 13},
 | |
|     200712: {'name': "Drill Castle: TV",
 | |
|              'region': 14},
 | |
|     200735: {'name': "Sage Airship: TV",
 | |
|              'region': 16}
 | |
| }
 | |
| 
 | |
| 
 | |
| party_location_table: Dict[int, LocationDict] = {
 | |
|     200644: {'name': "New Muldul: Pongorma Joins",
 | |
|              'region': 4},
 | |
|     200654: {'name': "Viewax's Edifice: Dedusmuln Joins",
 | |
|              'region': 6},
 | |
|     200689: {'name': "Juice Ranch: Somsnosa Joins",
 | |
|              'region': 10}
 | |
| }
 | |
| 
 | |
| 
 | |
| medallion_location_table: Dict[int, LocationDict] = {
 | |
|     200755: {'name': "New Muldul: Upper House Medallion",
 | |
|              'region': 4},
 | |
| 
 | |
|     200756: {'name': "New Muldul: Vault Rear Left Medallion",
 | |
|              'region': 5},
 | |
|     200757: {'name': "New Muldul: Vault Rear Right Medallion",
 | |
|              'region': 5},
 | |
|     200758: {'name': "New Muldul: Vault Center Medallion",
 | |
|              'region': 5},
 | |
|     200759: {'name': "New Muldul: Vault Front Left Medallion",
 | |
|              'region': 5},
 | |
|     200760: {'name': "New Muldul: Vault Front Right Medallion",
 | |
|              'region': 5},
 | |
| 
 | |
|     200761: {'name': "Viewax's Edifice: Fort Wall Medallion",
 | |
|              'region': 6},
 | |
|     200762: {'name': "Viewax's Edifice: Jar Medallion",
 | |
|              'region': 6},
 | |
|     200763: {'name': "Viewax's Edifice: Sage Chair Medallion",
 | |
|              'region': 6},
 | |
|     200764: {'name': "Arcade 1: Lonely Medallion",
 | |
|              'region': 6},
 | |
|     200765: {'name': "Arcade 1: Alcove Medallion",
 | |
|              'region': 6},
 | |
|     200766: {'name': "Arcade 1: Lava Medallion",
 | |
|              'region': 6},
 | |
| 
 | |
|     200767: {'name': "Arcade 2: Flying Machine Medallion",
 | |
|              'region': 8},
 | |
|     200768: {'name': "Arcade 2: Guarded Medallion",
 | |
|              'region': 8},
 | |
|     200769: {'name': "Arcade 2: Spinning Medallion",
 | |
|              'region': 8},
 | |
|     200770: {'name': "Arcade 2: Hook Medallion",
 | |
|              'region': 8},
 | |
|     200771: {'name': "Arcade 2: Flag Medallion",
 | |
|              'region': 8},
 | |
| 
 | |
|     200772: {'name': "Foglast: Under Lair Medallion",
 | |
|              'region': 13},
 | |
|     200773: {'name': "Foglast: Mid-Air Medallion",
 | |
|              'region': 13},
 | |
|     200774: {'name': "Foglast: Top of Tower Medallion",
 | |
|              'region': 13},
 | |
| 
 | |
|     200775: {'name': "Sage Airship: Walkway Medallion",
 | |
|              'region': 16},
 | |
|     200776: {'name': "Sage Airship: Flesh Medallion",
 | |
|              'region': 16},
 | |
|     200777: {'name': "Sage Airship: Top of Ship Medallion",
 | |
|              'region': 16},
 | |
|     200778: {'name': "Sage Airship: Hidden Medallion 1",
 | |
|              'region': 16},
 | |
|     200779: {'name': "Sage Airship: Hidden Medallion 2",
 | |
|              'region': 16},
 | |
|     200780: {'name': "Sage Airship: Hidden Medallion 3",
 | |
|              'region': 16},
 | |
| 
 | |
|     200781: {'name': "Hylemxylem: Lower Reservoir Medallion",
 | |
|              'region': 17},
 | |
|     200782: {'name': "Hylemxylem: Lower Reservoir Hole Medallion",
 | |
|              'region': 17},
 | |
|     200783: {'name': "Hylemxylem: Drain Switch Medallion",
 | |
|              'region': 17},
 | |
|     200784: {'name': "Hylemxylem: Warpo Medallion",
 | |
|              'region': 17}
 | |
| } | 
