517 lines
		
	
	
		
			44 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			517 lines
		
	
	
		
			44 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from typing import Dict, List, NamedTuple, Optional | ||
|  | 
 | ||
|  | from BaseClasses import MultiWorld, Region, Entrance | ||
|  | from .Locations import KH1Location, location_table | ||
|  | 
 | ||
|  | 
 | ||
|  | class KH1RegionData(NamedTuple): | ||
|  |     locations: List[str] | ||
|  |     region_exits: Optional[List[str]] | ||
|  | 
 | ||
|  | 
 | ||
|  | def create_regions(multiworld: MultiWorld, player: int, options): | ||
|  |     regions: Dict[str, KH1RegionData] = { | ||
|  |         "Menu":             KH1RegionData([], ["Awakening", "Levels"]), | ||
|  |         "Awakening":        KH1RegionData([],   ["Destiny Islands"]), | ||
|  |         "Destiny Islands":  KH1RegionData([],   ["Traverse Town"]), | ||
|  |         "Traverse Town":    KH1RegionData([],   ["World Map"]), | ||
|  |         "Wonderland":       KH1RegionData([],   []), | ||
|  |         "Olympus Coliseum": KH1RegionData([],   []), | ||
|  |         "Deep Jungle":      KH1RegionData([],   []), | ||
|  |         "Agrabah":          KH1RegionData([],   []), | ||
|  |         "Monstro":          KH1RegionData([],   []), | ||
|  |         "Atlantica":        KH1RegionData([],   []), | ||
|  |         "Halloween Town":   KH1RegionData([],   []), | ||
|  |         "Neverland":        KH1RegionData([],   []), | ||
|  |         "Hollow Bastion":   KH1RegionData([],   []), | ||
|  |         "End of the World": KH1RegionData([],   []), | ||
|  |         "100 Acre Wood":    KH1RegionData([],   []), | ||
|  |         "Levels":           KH1RegionData([],   []), | ||
|  |         "World Map":        KH1RegionData([],   ["Wonderland", "Olympus Coliseum", "Deep Jungle", | ||
|  |                                          "Agrabah", "Monstro", "Atlantica", | ||
|  |                                          "Halloween Town", "Neverland", "Hollow Bastion", | ||
|  |                                          "End of the World", "100 Acre Wood"]) | ||
|  |     } | ||
|  | 
 | ||
|  |     # Set up locations | ||
|  |     regions["Agrabah"].locations.append("Agrabah Aladdin's House Main Street Entrance Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Aladdin's House Plaza Entrance Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Alley Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Bazaar Across Windows Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Bazaar High Corner Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Bottomless Hall Across Chasm Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Bottomless Hall Pillar Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Bottomless Hall Raised Platform Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Dark Chamber Abu Gem Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Dark Chamber Across from Relic Chamber Entrance Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Dark Chamber Bridge Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Dark Chamber Near Save Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Entrance Left Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Entrance Tall Tower Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Entrance White Trinity Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Hall High Left Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Hall Near Bottomless Hall Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Hidden Room Left Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Hidden Room Right Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Relic Chamber Jump from Stairs Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Relic Chamber Stairs Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Silent Chamber Blue Trinity Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Treasure Room Above Fire Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Treasure Room Across Platforms Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Treasure Room Large Treasure Pile Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Cave of Wonders Treasure Room Small Treasure Pile Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Defeat Jafar Blizzard Event") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Defeat Jafar Genie Ansem's Report 1") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Defeat Jafar Genie Fire Event") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Defeat Pot Centipede Ray of Light Event") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Main Street High Above Alley Entrance Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Main Street High Above Palace Gates Entrance Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Main Street Right Palace Entrance Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Palace Gates High Close to Palace Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Palace Gates High Opposite Palace Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Palace Gates Low Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Plaza By Storage Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Plaza Raised Terrace Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Plaza Top Corner Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Seal Keyhole Genie Event") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Seal Keyhole Green Trinity Event") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Seal Keyhole Three Wishes Event") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Storage Behind Barrel Chest") | ||
|  |     regions["Agrabah"].locations.append("Agrabah Storage Green Trinity Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Bamboo Thicket Save Gorillas") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Camp Blue Trinity Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Camp Ether Experiment") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Camp Hi-Potion Experiment") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Camp Replication Experiment") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Camp Save Gorillas") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Cavern of Hearts Navi-G Piece Event") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Cavern of Hearts White Trinity Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Cliff Right Cliff Left Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Cliff Right Cliff Right Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Cliff Save Gorillas") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Climbing Trees Blue Trinity Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Climbing Trees Save Gorillas") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Defeat Clayton Cure Event") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Defeat Sabor White Fang Event") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Hippo's Lagoon Center Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Hippo's Lagoon Left Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Hippo's Lagoon Right Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Jungle Slider 10 Fruits") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Jungle Slider 20 Fruits") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Jungle Slider 30 Fruits") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Jungle Slider 40 Fruits") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Jungle Slider 50 Fruits") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Seal Keyhole Jungle King Event") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Seal Keyhole Red Trinity Event") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Tent Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Tent Protect-G Event") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Tree House Beneath Tree House Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Tree House Rooftop Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Tree House Save Gorillas") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Tree House Suspended Boat Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Tunnel Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Vines 2 Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Vines Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Waterfall Cavern High Middle Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Waterfall Cavern High Wall Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Waterfall Cavern Low Chest") | ||
|  |     regions["Deep Jungle"].locations.append("Deep Jungle Waterfall Cavern Middle Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Defeat Chernabog Superglide Event") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Dimension 10th Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Dimension 1st Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Dimension 2nd Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Dimension 3rd Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Dimension 4th Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Dimension 5th Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Dimension 6th Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Dimension 7th Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Dimension 8th Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Dimension 9th Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Final Rest Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Giant Crevasse 1st Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Giant Crevasse 2nd Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Giant Crevasse 3rd Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Giant Crevasse 4th Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World Giant Crevasse 5th Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World World Terminus 100 Acre Wood Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World World Terminus Agrabah Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World World Terminus Atlantica Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World World Terminus Deep Jungle Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World World Terminus Halloween Town Chest") | ||
|  |     #regions["End of the World"].locations.append("End of the World World Terminus Hollow Bastion Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World World Terminus Neverland Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World World Terminus Olympus Coliseum Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World World Terminus Traverse Town Chest") | ||
|  |     regions["End of the World"].locations.append("End of the World World Terminus Wonderland Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Boneyard Tombstone Puzzle Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Bridge Left of Gate Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Bridge Right of Gate Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Bridge Under Bridge") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Cemetery Behind Grave Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Cemetery Between Graves Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Cemetery By Cat Shape Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Cemetery By Striped Grave Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Defeat Oogie Boogie Ansem's Report 7") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Defeat Oogie Boogie Holy Circlet Event") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Defeat Oogie's Manor Gravity Event") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Graveyard Forget-Me-Not Event") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Guillotine Square High Tower Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Guillotine Square Pumpkin Structure Left Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Guillotine Square Pumpkin Structure Right Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Guillotine Square Ring Jack's Doorbell 3 Times") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Guillotine Square Under Jack's House Stairs Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Lab Torn Page") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Moonlight Hill White Trinity Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Oogie's Manor Entrance Steps Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Oogie's Manor Grounds Red Trinity Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Oogie's Manor Hollow Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Oogie's Manor Inside Entrance Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Oogie's Manor Lower Iron Cage Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Oogie's Manor Upper Iron Cage Chest") | ||
|  |     regions["Halloween Town"].locations.append("Halloween Town Seal Keyhole Pumpkinhead Event") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Base Level Bubble Under the Wall Platform Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Base Level Near Crystal Switch Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Base Level Platform Near Entrance Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Castle Gates Freestanding Pillar Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Castle Gates Gravity Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Castle Gates High Pillar Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Defeat Behemoth Omega Arts Event") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Defeat Dragon Maleficent Fireglow Event") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Defeat Maleficent Ansem's Report 5") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Defeat Maleficent Donald Cheer Event") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Defeat Riku I White Trinity Event") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Defeat Riku II Ragnarok Event") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Dungeon By Candles Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Dungeon Corner Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Entrance Hall Emblem Piece (Chest)") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Entrance Hall Emblem Piece (Flame)") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Entrance Hall Emblem Piece (Fountain)") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Entrance Hall Emblem Piece (Statue)") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Entrance Hall Left of Emblem Door Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Grand Hall Left of Gate Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Grand Hall Oblivion Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Grand Hall Steps Right Side Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Great Crest After Battle Platform Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Great Crest Lower Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion High Tower 1st Gravity Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion High Tower 2nd Gravity Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion High Tower Above Sliding Blocks Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Library 1st Floor Turn the Carousel Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Library 2nd Floor Turn the Carousel 1st Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Library 2nd Floor Turn the Carousel 2nd Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Library Speak to Aerith Cure") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Library Speak to Belle Divine Rose") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Library Top of Bookshelf Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Library Top of Bookshelf Turn the Carousel Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Lift Stop Heartless Sigil Door Gravity Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Lift Stop Library Node After High Tower Switch Gravity Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Lift Stop Library Node Gravity Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Lift Stop Outside Library Gravity Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Lift Stop Under High Tower Sliding Blocks Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Rising Falls Floating Platform Near Bubble Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Rising Falls Floating Platform Near Save Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Rising Falls High Platform Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Rising Falls Under Water 1st Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Rising Falls Under Water 2nd Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Rising Falls Water's Surface Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Rising Falls White Trinity Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Speak to Princesses Fire Event") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Speak with Aerith Ansem's Report 10") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Speak with Aerith Ansem's Report 2") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Speak with Aerith Ansem's Report 4") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Speak with Aerith Ansem's Report 6") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Waterway Blizzard on Bubble Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Waterway Near Save Chest") | ||
|  |     regions["Hollow Bastion"].locations.append("Hollow Bastion Waterway Unlock Passage from Base Level Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 2 Ground Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 2 Platform Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 3 Ground Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 3 Near Chamber 6 Entrance Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 3 Platform Above Chamber 2 Entrance Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 3 Platform Near Chamber 6 Entrance Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 5 Atop Barrel Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 5 Low 1st Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 5 Low 2nd Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 5 Platform Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 6 Low Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 6 Other Platform Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 6 Platform Near Chamber 5 Entrance Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 6 Raised Area Near Chamber 1 Entrance Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Chamber 6 White Trinity Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Defeat Parasite Cage I Goofy Cheer Event") | ||
|  |     regions["Monstro"].locations.append("Monstro Defeat Parasite Cage II Stop Event") | ||
|  |     regions["Monstro"].locations.append("Monstro Mouth Boat Deck Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Mouth Green Trinity Top of Boat Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Mouth High Platform Across from Boat Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Mouth High Platform Boat Side Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Mouth High Platform Near Teeth Chest") | ||
|  |     regions["Monstro"].locations.append("Monstro Mouth Near Ship Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Cabin Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Captain's Cabin Chest") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 01:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 02:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 03:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 04:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 05:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 06:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 07:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 08:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 09:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 10:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 11:00 Door") | ||
|  |     #regions["Neverland"].locations.append("Neverland Clock Tower 12:00 Door") | ||
|  |     regions["Neverland"].locations.append("Neverland Clock Tower Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Defeat Anti Sora Raven's Claw Event") | ||
|  |     regions["Neverland"].locations.append("Neverland Defeat Captain Hook Ars Arcanum Event") | ||
|  |     regions["Neverland"].locations.append("Neverland Defeat Hook Ansem's Report 9") | ||
|  |     regions["Neverland"].locations.append("Neverland Encounter Hook Cure Event") | ||
|  |     regions["Neverland"].locations.append("Neverland Galley Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Hold Aero Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Hold Flight 1st Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Hold Flight 2nd Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Hold Yellow Trinity Green Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Hold Yellow Trinity Left Blue Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Hold Yellow Trinity Right Blue Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Pirate Ship Crows Nest Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Pirate Ship Deck White Trinity Chest") | ||
|  |     regions["Neverland"].locations.append("Neverland Seal Keyhole Fairy Harp Event") | ||
|  |     regions["Neverland"].locations.append("Neverland Seal Keyhole Glide Event") | ||
|  |     regions["Neverland"].locations.append("Neverland Seal Keyhole Tinker Bell Event") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Clear Phil's Training Thunder Event") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Cloud Sonic Blade Event") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Coliseum Gates Blizzaga Chest") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Coliseum Gates Blizzara Chest") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Coliseum Gates Entry Pass Event") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Coliseum Gates Green Trinity") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Coliseum Gates Hero's License Event") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Coliseum Gates Left Behind Columns Chest") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Coliseum Gates Left Blue Trinity Chest") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Coliseum Gates Right Blue Trinity Chest") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Coliseum Gates White Trinity Chest") | ||
|  |     regions["Olympus Coliseum"].locations.append("Olympus Coliseum Defeat Cerberus Inferno Band Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town 1st District Accessory Shop Roof Chest") | ||
|  |     #regions["Traverse Town"].locations.append("Traverse Town 1st District Aerith Gift") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town 1st District Blue Trinity Balcony Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town 1st District Candle Puzzle Chest") | ||
|  |     #regions["Traverse Town"].locations.append("Traverse Town 1st District Leon Gift") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town 1st District Safe Postcard") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town 1st District Speak with Cid Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town 2nd District Boots and Shoes Awning Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town 2nd District Gizmo Shop Facade Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town 2nd District Rooftop Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town 3rd District Balcony Postcard") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Accessory Shop Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Alleyway Balcony Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Alleyway Behind Crates Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Alleyway Blue Room Awning Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Alleyway Corner Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Defeat Guard Armor Blue Trinity Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Defeat Guard Armor Brave Warrior Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Defeat Guard Armor Dodge Roll Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Defeat Guard Armor Fire Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Defeat Opposite Armor Aero Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Geppetto's House Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Geppetto's House Geppetto All Summons Reward") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Geppetto's House Geppetto Reward 1") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Geppetto's House Geppetto Reward 2") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Geppetto's House Geppetto Reward 3") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Geppetto's House Geppetto Reward 4") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Geppetto's House Geppetto Reward 5") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Geppetto's House Postcard") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Geppetto's House Talk to Pinocchio") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Gizmo Shop Postcard 1") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Gizmo Shop Postcard 2") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Green Room Clock Puzzle Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Green Room Table Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Item Shop Postcard") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Item Workshop Left Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Item Workshop Postcard") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Item Workshop Right Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Kairi Secret Waterway Oathkeeper Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Leon Secret Waterway Earthshine Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Magician's Study Obtained All Arts Items") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Magician's Study Obtained All LV1 Magic") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Magician's Study Obtained All LV3 Magic") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mail Postcard 01 Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mail Postcard 02 Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mail Postcard 03 Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mail Postcard 04 Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mail Postcard 05 Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mail Postcard 06 Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mail Postcard 07 Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mail Postcard 08 Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mail Postcard 09 Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mail Postcard 10 Event") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mystical House Glide Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Mystical House Yellow Trinity Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 10 Puppies") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 20 Puppies") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 30 Puppies") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 40 Puppies") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 50 Puppies Reward 1") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 50 Puppies Reward 2") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 60 Puppies") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 70 Puppies") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 80 Puppies") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 90 Puppies") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 99 Puppies Reward 1") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Piano Room Return 99 Puppies Reward 2") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Red Room Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Secret Waterway Near Stairs Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Secret Waterway White Trinity Chest") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Synth Cloth") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Synth Fish") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Synth Log") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Synth Mushroom") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Synth Rope") | ||
|  |     regions["Traverse Town"].locations.append("Traverse Town Synth Seagull Egg") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Bizarre Room Green Trinity Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Bizarre Room Lamp Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Bizarre Room Navi-G Piece Event") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Bizarre Room Read Book") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Defeat Trickmaster Blizzard Event") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Defeat Trickmaster Ifrit's Horn Event") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Lotus Forest Corner Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Lotus Forest Glide Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Lotus Forest Nut Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Lotus Forest Through the Painting Thunder Plant Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Lotus Forest Through the Painting White Trinity Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Lotus Forest Thunder Plant Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Queen's Castle Hedge Left Red Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Queen's Castle Hedge Right Blue Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Queen's Castle Hedge Right Red Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Rabbit Hole Defeat Heartless 1 Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Rabbit Hole Defeat Heartless 2 Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Rabbit Hole Defeat Heartless 3 Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Rabbit Hole Green Trinity Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Tea Party Garden Above Lotus Forest Entrance 1st Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Tea Party Garden Above Lotus Forest Entrance 2nd Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Tea Party Garden Across From Bizarre Room Entrance Chest") | ||
|  |     regions["Wonderland"].locations.append("Wonderland Tea Party Garden Bear and Clock Puzzle Chest") | ||
|  |     if options.hundred_acre_wood: | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Meadow Inside Log Chest") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Bouncing Spot Left Cliff Chest") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Bouncing Spot Right Tree Alcove Chest") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Bouncing Spot Under Giant Pot Chest") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Bouncing Spot Turn in Rare Nut 1") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Bouncing Spot Turn in Rare Nut 2") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Bouncing Spot Turn in Rare Nut 3") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Bouncing Spot Turn in Rare Nut 4") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Bouncing Spot Turn in Rare Nut 5") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Pooh's House Owl Cheer") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Convert Torn Page 1") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Convert Torn Page 2") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Convert Torn Page 3") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Convert Torn Page 4") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Convert Torn Page 5") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Pooh's House Start Fire") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Pooh's Room Cabinet") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Pooh's Room Chimney") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Bouncing Spot Break Log") | ||
|  |         regions["100 Acre Wood"].locations.append("100 Acre Wood Bouncing Spot Fall Through Top of Tree Next to Pooh") | ||
|  |     if options.atlantica: | ||
|  |         regions["Atlantica"].locations.append("Atlantica Sunken Ship In Flipped Boat Chest") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Sunken Ship Seabed Chest") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Sunken Ship Inside Ship Chest") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Ariel's Grotto High Chest") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Ariel's Grotto Middle Chest") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Ariel's Grotto Low Chest") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Ursula's Lair Use Fire on Urchin Chest") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Gorge Jammed by Ariel's Grotto Chest") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Triton's Palace White Trinity Chest") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Defeat Ursula I Mermaid Kick Event") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Defeat Ursula II Thunder Event") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Seal Keyhole Crabclaw Event") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Gorge Blizzard Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Gorge Ocean Floor Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Valley Higher Cave Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Valley Lower Cave Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Valley Fire Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Valley Wall Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Valley Pillar Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Valley Ocean Floor Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Triton's Palace Thunder Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Triton's Palace Wall Right Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Triton's Palace Near Path Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Triton's Palace Wall Left Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Cavern Nook Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Below Deck Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Garden Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Undersea Cave Clam") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Sunken Ship Crystal Trident Event") | ||
|  |         regions["Atlantica"].locations.append("Atlantica Defeat Ursula II Ansem's Report 3") | ||
|  |     if options.cups: | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Phil Cup") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Phil Cup Solo") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Phil Cup Time Trial") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Pegasus Cup") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Pegasus Cup Solo") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Pegasus Cup Time Trial") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Hercules Cup") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Hercules Cup Solo") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Hercules Cup Time Trial") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Hades Cup") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Hades Cup Solo") | ||
|  |         regions["Olympus Coliseum"].locations.append("Complete Hades Cup Time Trial") | ||
|  |         regions["Olympus Coliseum"].locations.append("Hades Cup Defeat Cloud and Leon Event") | ||
|  |         regions["Olympus Coliseum"].locations.append("Hades Cup Defeat Yuffie Event") | ||
|  |         regions["Olympus Coliseum"].locations.append("Hades Cup Defeat Cerberus Event") | ||
|  |         regions["Olympus Coliseum"].locations.append("Hades Cup Defeat Behemoth Event") | ||
|  |         regions["Olympus Coliseum"].locations.append("Hades Cup Defeat Hades Event") | ||
|  |         regions["Olympus Coliseum"].locations.append("Hercules Cup Defeat Cloud Event") | ||
|  |         regions["Olympus Coliseum"].locations.append("Hercules Cup Yellow Trinity Event") | ||
|  |         regions["Olympus Coliseum"].locations.append("Olympus Coliseum Defeat Hades Ansem's Report 8") | ||
|  |         regions["Olympus Coliseum"].locations.append("Olympus Coliseum Olympia Chest") | ||
|  |         regions["Olympus Coliseum"].locations.append("Olympus Coliseum Defeat Ice Titan Diamond Dust Event") | ||
|  |         regions["Olympus Coliseum"].locations.append("Olympus Coliseum Gates Purple Jar After Defeating Hades") | ||
|  |     if options.super_bosses: | ||
|  |         regions["Neverland"].locations.append("Neverland Defeat Phantom Stop Event") | ||
|  |         regions["Agrabah"].locations.append("Agrabah Defeat Kurt Zisa Zantetsuken Event") | ||
|  |         regions["Agrabah"].locations.append("Agrabah Defeat Kurt Zisa Ansem's Report 11") | ||
|  |     if options.super_bosses or options.goal.current_key == "sephiroth": | ||
|  |         regions["Olympus Coliseum"].locations.append("Olympus Coliseum Defeat Sephiroth Ansem's Report 12") | ||
|  |         regions["Olympus Coliseum"].locations.append("Olympus Coliseum Defeat Sephiroth One-Winged Angel Event") | ||
|  |     if options.super_bosses or options.goal.current_key == "unknown": | ||
|  |         regions["Hollow Bastion"].locations.append("Hollow Bastion Defeat Unknown Ansem's Report 13") | ||
|  |         regions["Hollow Bastion"].locations.append("Hollow Bastion Defeat Unknown EXP Necklace Event") | ||
|  |     for i in range(options.level_checks): | ||
|  |         regions["Levels"].locations.append("Level " + str(i+1).rjust(3, '0')) | ||
|  |     if options.goal.current_key == "final_ansem": | ||
|  |         regions["End of the World"].locations.append("Final Ansem") | ||
|  | 
 | ||
|  |     # Set up the regions correctly. | ||
|  |     for name, data in regions.items(): | ||
|  |         multiworld.regions.append(create_region(multiworld, player, name, data)) | ||
|  | 
 | ||
|  |     multiworld.get_entrance("Awakening", player).connect(multiworld.get_region("Awakening", player)) | ||
|  |     multiworld.get_entrance("Destiny Islands", player).connect(multiworld.get_region("Destiny Islands", player)) | ||
|  |     multiworld.get_entrance("Traverse Town", player).connect(multiworld.get_region("Traverse Town", player)) | ||
|  |     multiworld.get_entrance("Wonderland", player).connect(multiworld.get_region("Wonderland", player)) | ||
|  |     multiworld.get_entrance("Olympus Coliseum", player).connect(multiworld.get_region("Olympus Coliseum", player)) | ||
|  |     multiworld.get_entrance("Deep Jungle", player).connect(multiworld.get_region("Deep Jungle", player)) | ||
|  |     multiworld.get_entrance("Agrabah", player).connect(multiworld.get_region("Agrabah", player)) | ||
|  |     multiworld.get_entrance("Monstro", player).connect(multiworld.get_region("Monstro", player)) | ||
|  |     multiworld.get_entrance("Atlantica", player).connect(multiworld.get_region("Atlantica", player)) | ||
|  |     multiworld.get_entrance("Halloween Town", player).connect(multiworld.get_region("Halloween Town", player)) | ||
|  |     multiworld.get_entrance("Neverland", player).connect(multiworld.get_region("Neverland", player)) | ||
|  |     multiworld.get_entrance("Hollow Bastion", player).connect(multiworld.get_region("Hollow Bastion", player)) | ||
|  |     multiworld.get_entrance("End of the World", player).connect(multiworld.get_region("End of the World", player)) | ||
|  |     multiworld.get_entrance("100 Acre Wood", player).connect(multiworld.get_region("100 Acre Wood", player)) | ||
|  |     multiworld.get_entrance("World Map", player).connect(multiworld.get_region("World Map", player)) | ||
|  |     multiworld.get_entrance("Levels", player).connect(multiworld.get_region("Levels", player)) | ||
|  | 
 | ||
|  | def create_region(multiworld: MultiWorld, player: int, name: str, data: KH1RegionData): | ||
|  |     region = Region(name, player, multiworld) | ||
|  |     if data.locations: | ||
|  |         for loc_name in data.locations: | ||
|  |             loc_data = location_table.get(loc_name) | ||
|  |             location = KH1Location(player, loc_name, loc_data.code if loc_data else None, region) | ||
|  |             region.locations.append(location) | ||
|  | 
 | ||
|  |     if data.region_exits: | ||
|  |         for exit in data.region_exits: | ||
|  |             entrance = Entrance(player, exit, region) | ||
|  |             region.exits.append(entrance) | ||
|  | 
 | ||
|  |     return region |