 436c0a4104
			
		
	
	436c0a4104
	
	
	
		
			
			* Add connect_entrances * update ER docs * fix that test, but also ew * Add a test that asserts the new finalization * Rewrite test a bit * rewrite some more * blank line * rewrite rewrite rewrite * rewrite rewrite rewrite * RE. WRITE. * oops * Bruh * I guess, while we're at it * giga oops * It's been a long day * Switch KH1 over to this design with permission of GICU * Revert * Oops * Bc I like it * Update locations.py
		
			
				
	
	
		
			520 lines
		
	
	
		
			44 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			520 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))
 | |
| 
 | |
| 
 | |
| def connect_entrances(multiworld: MultiWorld, player: int):
 | |
|     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
 |