Merge branch 'OverworldShuffleDev' into OverworldShuffle

This commit is contained in:
codemann8
2022-10-29 11:35:43 -05:00
24 changed files with 1338 additions and 660 deletions

View File

@@ -3,10 +3,11 @@ from collections import OrderedDict, defaultdict
from DungeonGenerator import GenerationException
from BaseClasses import OWEdge, WorldType, RegionType, Direction, Terrain, PolSlot, Entrance
from Regions import mark_dark_world_regions, mark_light_world_regions
from OWEdges import OWTileRegions, OWEdgeGroups, OWExitTypes, OpenStd, parallel_links, IsParallel
from OWEdges import OWTileRegions, OWEdgeGroups, OWEdgeGroupsTerrain, OWExitTypes, OpenStd, parallel_links, IsParallel
from OverworldGlitchRules import create_owg_connections
from Utils import bidict
version_number = '0.2.10.1'
version_number = '0.2.11.0'
# branch indicator is intentionally different across branches
version_branch = ''
@@ -106,7 +107,7 @@ def link_overworld(world, player):
return new_groups
tile_groups = define_tile_groups(world, player, False)
trimmed_groups = copy.deepcopy(OWEdgeGroups)
trimmed_groups = copy.deepcopy(OWEdgeGroupsTerrain if world.owTerrain[player] else OWEdgeGroups)
swapped_edges = list()
# restructure Maze Race/Suburb/Frog/Dig Game manually due to NP/P relationship
@@ -176,6 +177,9 @@ def link_overworld(world, player):
connect_simple(world, exitname, regionname, player)
categorize_world_regions(world, player)
if world.logic[player] in ('owglitches', 'nologic'):
create_owg_connections(world, player)
# crossed shuffle
logging.getLogger('').debug('Crossing overworld edges')
@@ -639,9 +643,9 @@ def shuffle_tiles(world, groups, result_list, do_grouped, player):
if not world.owKeepSimilar[player]:
parity[1] += 2*parity[2]
parity[2] = 0
# if crossed terrain:
# parity[1] += parity[3]
# parity[3] = 0
if world.owTerrain[player]:
parity[1] += parity[3]
parity[3] = 0
parity[4] %= 2 # actual parity
if (world.owCrossed[player] == 'none' or do_grouped) and parity[:5] != [0, 0, 0, 0, 0]:
attempts -= 1
@@ -775,6 +779,8 @@ def reorganize_groups(world, groups, player):
new_group = list(group)
if world.mode[player] != "standard":
new_group[0] = None
if world.owTerrain[player]:
new_group[3] = None
if world.owShuffle[player] != 'parallel':
new_group[4] = None
if not world.owKeepSimilar[player]:
@@ -1019,7 +1025,11 @@ def validate_layout(world, player):
'Turtle Rock Area': ['Dark Death Mountain Ledge',
'Dark Death Mountain Isolated Ledge'],
'Dark Death Mountain Ledge': ['Turtle Rock Area'],
'Dark Death Mountain Isolated Ledge': ['Turtle Rock Area']
'Dark Death Mountain Isolated Ledge': ['Turtle Rock Area'],
'Mountain Entry Entrance': ['West Death Mountain (Bottom)'],
'Mountain Entry Ledge': ['West Death Mountain (Bottom)'],
'West Death Mountain (Bottom)': ['Mountain Entry Ledge'],
'Bumper Cave Entrance': ['Bumper Cave Ledge']
}
sane_connectors = {
# guaranteed dungeon access
@@ -1030,23 +1040,6 @@ def validate_layout(world, player):
'Pyramid Area': ['Pyramid Exit Ledge']
}
if not world.is_tile_swapped(0x0a, player):
if not world.is_tile_swapped(0x03, player):
entrance_connectors['Mountain Entry Entrance'] = ['West Death Mountain (Bottom)']
entrance_connectors['Mountain Entry Ledge'] = ['West Death Mountain (Bottom)']
entrance_connectors['West Death Mountain (Bottom)'] = ['Mountain Entry Ledge']
else:
entrance_connectors['Mountain Entry Entrance'] = ['West Dark Death Mountain (Bottom)']
entrance_connectors['Bumper Cave Entrance'] = ['Bumper Cave Ledge']
else:
if not world.is_tile_swapped(0x03, player):
entrance_connectors['Bumper Cave Entrance'] = ['West Death Mountain (Bottom)']
entrance_connectors['Bumper Cave Ledge'] = ['West Death Mountain (Bottom)']
entrance_connectors['West Death Mountain (Bottom)'] = ['Bumper Cave Ledge']
else:
entrance_connectors['Bumper Cave Entrance'] = ['West Dark Death Mountain (Bottom)']
entrance_connectors['Mountain Entry Entrance'] = ['Mountain Entry Ledge']
from Main import copy_world_limited
from Utils import stack_size3a
from EntranceShuffle import default_dungeon_connections, default_connector_connections, default_item_connections, default_shop_connections, default_drop_connections, default_dropexit_connections
@@ -1237,7 +1230,6 @@ mandatory_connections = [# Intra-tile OW Connections
('Bombos Tablet Drop', 'Desert Area'),
('Flute Boy Bush (North)', 'Flute Boy Approach Area'), #pearl
('Flute Boy Bush (South)', 'Flute Boy Bush Entry'), #pearl
('Cave 45 Ledge Drop', 'Flute Boy Approach Area'),
('C Whirlpool Water Entry', 'C Whirlpool Water'), #flippers
('C Whirlpool Landing', 'C Whirlpool Area'),
('C Whirlpool Rock (Bottom)', 'C Whirlpool Outer Area'), #glove
@@ -1339,58 +1331,15 @@ mandatory_connections = [# Intra-tile OW Connections
('Bomber Corner Waterfall Water Drop', 'Bomber Corner Water'), #flippers
('Bomber Corner Pier', 'Bomber Corner Area'),
# OWG Connections
('Sand Dunes Ledge Drop', 'Sand Dunes Area'),
('Stone Bridge East Ledge Drop', 'Stone Bridge Area'),
('Tree Line Ledge Drop', 'Tree Line Area'),
('Eastern Palace Ledge Drop', 'Eastern Palace Area'),
('Links House Cliff Ledge Drop', 'Links House Area'),
('Central Bonk Rocks Cliff Ledge Drop', 'Central Bonk Rocks Area'),
('Stone Bridge Cliff Ledge Drop', 'Stone Bridge Area'),
('Lake Hylia Area Cliff Ledge Drop', 'Lake Hylia Area'),
('C Whirlpool Cliff Ledge Drop', 'C Whirlpool Area'),
('C Whirlpool Outer Cliff Ledge Drop', 'C Whirlpool Outer Area'),
('South Teleporter Cliff Ledge Drop', 'Dark Central Cliffs'),
('Statues Cliff Ledge Drop', 'Statues Area'),
('Lake Hylia Island FAWT Ledge Drop', 'Lake Hylia Island'),
# OWG In-Bounds Connections
('Stone Bridge EC Cliff Water Drop', 'Stone Bridge Water'), #fake flipper
('Tree Line WC Cliff Water Drop', 'Tree Line Water'), #fake flipper
('Desert Boss Cliff Ledge Drop', 'Desert Palace Entrance (North) Spot'),
('Checkerboard Cliff Ledge Drop', 'Desert Checkerboard Ledge'),
('Suburb Cliff Ledge Drop', 'Kakariko Suburb Area'),
('Cave 45 Cliff Ledge Drop', 'Cave 45 Ledge'),
('Desert Pass Cliff Ledge Drop', 'Desert Pass Area'),
('Desert Pass Southeast Cliff Ledge Drop', 'Desert Pass Southeast'),
('Desert C Whirlpool Cliff Ledge Drop', 'C Whirlpool Outer Area'),
('Dam Cliff Ledge Drop', 'Dam Area'),
('Tree Line WC Cliff Water Drop', 'Tree Line Water'), #fake flipper,
('Dark Dunes Ledge Drop', 'Dark Dunes Area'),
('Hammer Bridge North Ledge Drop', 'Hammer Bridge North Area'),
('Dark Tree Line Ledge Drop', 'Dark Tree Line Area'),
('Palace of Darkness Ledge Drop', 'Palace of Darkness Area'),
('Mire Cliff Ledge Drop', 'Misery Mire Area'),
('Archery Game Cliff Ledge Drop', 'Archery Game Area'),
('Stumpy Approach Cliff Ledge Drop', 'Stumpy Approach Area'),
('Swamp Nook Cliff Ledge Drop', 'Swamp Nook Area'),
('Mire C Whirlpool Cliff Ledge Drop', 'Dark C Whirlpool Outer Area'),
('Swamp Cliff Ledge Drop', 'Swamp Area'),
('Bomb Shop Cliff Ledge Drop', 'Big Bomb Shop Area'),
('Dark Bonk Rocks Cliff Ledge Drop', 'Dark Bonk Rocks Area'),
('Hammer Bridge South Cliff Ledge Drop', 'Hammer Bridge South Area'),
('Ice Lake Area Cliff Ledge Drop', 'Ice Lake Area'),
('Ice Lake Northeast Pier Hop', 'Ice Lake Northeast Bank'),
('Ice Lake Moat Bomb Jump', 'Ice Lake Moat'),
('Dark C Whirlpool Cliff Ledge Drop', 'Dark C Whirlpool Area'),
('Dark C Whirlpool Outer Cliff Ledge Drop', 'Dark C Whirlpool Outer Area'),
('Hype Cliff Ledge Drop', 'Hype Cave Area'),
('Ice Palace Island FAWT Ledge Drop', 'Ice Lake Moat'),
('Hammer Bridge EC Cliff Water Drop', 'Hammer Bridge Water'), #fake flipper
('Dark Tree Line WC Cliff Water Drop', 'Dark Tree Line Water') #fake flipper
]
('Dark Tree Line WC Cliff Water Drop', 'Dark Tree Line Water'), #fake flipper
('Ice Lake Northeast Pier Hop', 'Ice Lake Northeast Bank'),
('Ice Lake Moat Bomb Jump', 'Ice Lake Moat')
]
default_whirlpool_connections = [
((0x33, 'C Whirlpool', 'C Whirlpool Water'), (0x15, 'River Bend Whirlpool', 'River Bend Water')),
@@ -1593,9 +1542,13 @@ ow_connections = {
('Broken Bridge Northeast Mirror Spot', 'Broken Bridge Northeast')
]),
0x1e: ([
('Eastern Palace Mirror Spot', 'Eastern Palace Area')
('Eastern Palace Mirror Spot', 'Eastern Palace Area'),
('Eastern Palace Ledge Drop', 'Eastern Palace Area'), # OWG
('Palace of Darkness Ledge Drop', 'Palace of Darkness Area') # OWG
], [
('Palace of Darkness Mirror Spot', 'Palace of Darkness Area')
('Palace of Darkness Mirror Spot', 'Palace of Darkness Area'),
('Eastern Palace Ledge Drop', 'Palace of Darkness Area'), # OWG
('Palace of Darkness Ledge Drop', 'Eastern Palace Area') # OWG
]),
0x22: ([
('Blacksmith Mirror Spot', 'Blacksmith Area'),
@@ -1606,9 +1559,13 @@ ow_connections = {
('Hammer Pegs Entry Mirror Spot', 'Hammer Pegs Entry')
]),
0x25: ([
('Sand Dunes Mirror Spot', 'Sand Dunes Area')
('Sand Dunes Mirror Spot', 'Sand Dunes Area'),
('Sand Dunes Ledge Drop', 'Sand Dunes Area'), # OWG
('Dark Dunes Ledge Drop', 'Dark Dunes Area') # OWG
], [
('Dark Dunes Mirror Spot', 'Dark Dunes Area')
('Dark Dunes Mirror Spot', 'Dark Dunes Area'),
('Sand Dunes Ledge Drop', 'Dark Dunes Area'), # OWG
('Dark Dunes Ledge Drop', 'Sand Dunes Area') # OWG
]),
0x28: ([
('Maze Race Mirror Spot', 'Maze Race Ledge'),
@@ -1619,11 +1576,15 @@ ow_connections = {
]),
0x29: ([
('Kakariko Suburb Mirror Spot', 'Kakariko Suburb Area'),
('Kakariko Suburb South Mirror Spot', 'Kakariko Suburb Area')
('Kakariko Suburb South Mirror Spot', 'Kakariko Suburb Area'),
('Suburb Cliff Ledge Drop', 'Kakariko Suburb Area'), # OWG
('Archery Game Cliff Ledge Drop', 'Archery Game Area') # OWG
], [
('Frog Mirror Spot', 'Frog Area'),
('Frog Prison Mirror Spot', 'Frog Prison'),
('Archery Game Mirror Spot', 'Archery Game Area')
('Archery Game Mirror Spot', 'Archery Game Area'),
('Suburb Cliff Ledge Drop', 'Archery Game Area'), # OWG
('Archery Game Cliff Ledge Drop', 'Kakariko Suburb Area') # OWG
]),
0x2a: ([
('Flute Boy Mirror Spot', 'Flute Boy Area'),
@@ -1633,28 +1594,48 @@ ow_connections = {
('Stumpy Pass Mirror Spot', 'Stumpy Pass')
]),
0x2b: ([
('Central Bonk Rocks Mirror Spot', 'Central Bonk Rocks Area')
('Central Bonk Rocks Mirror Spot', 'Central Bonk Rocks Area'),
('Central Bonk Rocks Cliff Ledge Drop', 'Central Bonk Rocks Area'), # OWG
('Dark Bonk Rocks Cliff Ledge Drop', 'Dark Bonk Rocks Area') # OWG
], [
('Dark Bonk Rocks Mirror Spot', 'Dark Bonk Rocks Area')
('Dark Bonk Rocks Mirror Spot', 'Dark Bonk Rocks Area'),
('Central Bonk Rocks Cliff Ledge Drop', 'Dark Bonk Rocks Area'), # OWG
('Dark Bonk Rocks Cliff Ledge Drop', 'Central Bonk Rocks Area') # OWG
]),
0x2c: ([
('Links House Mirror Spot', 'Links House Area')
('Links House Mirror Spot', 'Links House Area'),
('Links House Cliff Ledge Drop', 'Links House Area'), # OWG
('Bomb Shop Cliff Ledge Drop', 'Big Bomb Shop Area') # OWG
], [
('Big Bomb Shop Mirror Spot', 'Big Bomb Shop Area')
('Big Bomb Shop Mirror Spot', 'Big Bomb Shop Area'),
('Links House Cliff Ledge Drop', 'Big Bomb Shop Area'), # OWG
('Bomb Shop Cliff Ledge Drop', 'Links House Area') # OWG
]),
0x2d: ([
('Stone Bridge Mirror Spot', 'Stone Bridge Area'),
('Stone Bridge South Mirror Spot', 'Stone Bridge Area'),
('Hobo Mirror Spot', 'Stone Bridge Water')
('Hobo Mirror Spot', 'Stone Bridge Water'),
('Stone Bridge East Ledge Drop', 'Stone Bridge Area'), # OWG
('Hammer Bridge North Ledge Drop', 'Hammer Bridge North Area'), # OWG
('Stone Bridge Cliff Ledge Drop', 'Stone Bridge Area'), # OWG
('Hammer Bridge South Cliff Ledge Drop', 'Hammer Bridge South Area') # OWG
], [
('Hammer Bridge North Mirror Spot', 'Hammer Bridge North Area'),
('Hammer Bridge South Mirror Spot', 'Hammer Bridge South Area'),
('Dark Hobo Mirror Spot', 'Hammer Bridge Water')
('Dark Hobo Mirror Spot', 'Hammer Bridge Water'),
('Stone Bridge East Ledge Drop', 'Hammer Bridge North Area'), # OWG
('Hammer Bridge North Ledge Drop', 'Stone Bridge Area'), # OWG
('Stone Bridge Cliff Ledge Drop', 'Hammer Bridge South Area'), # OWG
('Hammer Bridge South Cliff Ledge Drop', 'Stone Bridge Area') # OWG
]),
0x2e: ([
('Tree Line Mirror Spot', 'Tree Line Area')
('Tree Line Mirror Spot', 'Tree Line Area'),
('Tree Line Ledge Drop', 'Tree Line Area'), # OWG
('Dark Tree Line Ledge Drop', 'Dark Tree Line Area') # OWG
], [
('Dark Tree Line Mirror Spot', 'Dark Tree Line Area')
('Dark Tree Line Mirror Spot', 'Dark Tree Line Area'),
('Tree Line Ledge Drop', 'Dark Tree Line Area'), # OWG
('Dark Tree Line Ledge Drop', 'Tree Line Area') # OWG
]),
0x2f: ([
('Eastern Nook Mirror Spot', 'Eastern Nook Area'),
@@ -1670,7 +1651,10 @@ ow_connections = {
('DP Stairs Mirror Spot', 'Desert Palace Stairs'),
('DP Entrance (North) Mirror Spot', 'Desert Palace Entrance (North) Spot'),
('Bombos Tablet Ledge Mirror Spot', 'Bombos Tablet Ledge'),
('Desert Teleporter', 'Misery Mire Teleporter Ledge')
('Desert Teleporter', 'Misery Mire Teleporter Ledge'),
('Desert Boss Cliff Ledge Drop', 'Desert Palace Entrance (North) Spot'), # OWG
('Mire Cliff Ledge Drop', 'Misery Mire Area'), # OWG
('Checkerboard Cliff Ledge Drop', 'Desert Checkerboard Ledge') # OWG
], [
('Checkerboard Ledge Approach', 'Desert Checkerboard Ledge'),
('Checkerboard Ledge Leave', 'Desert Area'),
@@ -1678,31 +1662,54 @@ ow_connections = {
('Misery Mire Ledge Mirror Spot', 'Misery Mire Area'),
('Misery Mire Blocked Mirror Spot', 'Misery Mire Area'),
('Misery Mire Main Mirror Spot', 'Misery Mire Area'),
('Misery Mire Teleporter', 'Desert Palace Teleporter Ledge')
('Misery Mire Teleporter', 'Desert Palace Teleporter Ledge'),
('Desert Boss Cliff Ledge Drop', 'Misery Mire Area'), # OWG
('Mire Cliff Ledge Drop', 'Desert Palace Entrance (North) Spot'), # OWG
('Dark Checkerboard Cliff Ledge Drop', 'Desert Checkerboard Ledge') # OWG
]),
0x32: ([
('Cave 45 Ledge Drop', 'Flute Boy Approach Area'),
('Flute Boy Entry Mirror Spot', 'Flute Boy Bush Entry'),
('Cave 45 Mirror Spot', 'Cave 45 Ledge')
('Cave 45 Mirror Spot', 'Cave 45 Ledge'),
('Cave 45 Cliff Ledge Drop', 'Cave 45 Ledge'), # OWG
('Stumpy Approach Cliff Ledge Drop', 'Stumpy Approach Area') # OWG
], [
('Cave 45 Inverted Leave', 'Flute Boy Approach Area'),
('Cave 45 Inverted Approach', 'Cave 45 Ledge'),
('Stumpy Approach Mirror Spot', 'Stumpy Approach Area'),
('Stumpy Bush Entry Mirror Spot', 'Stumpy Approach Bush Entry')
('Stumpy Bush Entry Mirror Spot', 'Stumpy Approach Bush Entry'),
('Cave 45 Cliff Ledge Drop', 'Stumpy Approach Area'), # OWG
('Stumpy Approach Cliff Ledge Drop', 'Cave 45 Ledge') # OWG
]),
0x33: ([
('C Whirlpool Mirror Spot', 'C Whirlpool Area'),
('C Whirlpool Outer Mirror Spot', 'C Whirlpool Outer Area'),
('South Hyrule Teleporter', 'Dark C Whirlpool Area')
('South Hyrule Teleporter', 'Dark C Whirlpool Area'),
('C Whirlpool Cliff Ledge Drop', 'C Whirlpool Area'), # OWG
('Dark C Whirlpool Cliff Ledge Drop', 'Dark C Whirlpool Area'), # OWG
('C Whirlpool Outer Cliff Ledge Drop', 'C Whirlpool Outer Area'), # OWG
('Dark C Whirlpool Outer Cliff Ledge Drop', 'Dark C Whirlpool Outer Area'), # OWG
('Desert C Whirlpool Cliff Ledge Drop', 'C Whirlpool Outer Area'), # OWG
('Mire C Whirlpool Cliff Ledge Drop', 'Dark C Whirlpool Outer Area') # OWG
], [
('Dark C Whirlpool Mirror Spot', 'Dark C Whirlpool Area'),
('Dark C Whirlpool Outer Mirror Spot', 'Dark C Whirlpool Outer Area'),
('South Dark World Teleporter', 'C Whirlpool Area'),
('Dark South Teleporter Cliff Ledge Drop', 'Central Cliffs') #OWG only, needs glove
('C Whirlpool Cliff Ledge Drop', 'Dark C Whirlpool Area'), # OWG
('Dark C Whirlpool Cliff Ledge Drop', 'C Whirlpool Area'), # OWG
('C Whirlpool Outer Cliff Ledge Drop', 'Dark C Whirlpool Outer Area'), # OWG
('Dark C Whirlpool Outer Cliff Ledge Drop', 'C Whirlpool Outer Area'), # OWG
('Desert C Whirlpool Cliff Ledge Drop', 'Dark C Whirlpool Outer Area'), # OWG
('Mire C Whirlpool Cliff Ledge Drop', 'C Whirlpool Outer Area') # OWG
]),
0x34: ([
('Statues Mirror Spot', 'Statues Area')
('Statues Mirror Spot', 'Statues Area'),
('Statues Cliff Ledge Drop', 'Statues Area'), # OWG
('Hype Cliff Ledge Drop', 'Hype Cave Area') # OWG
], [
('Hype Cave Mirror Spot', 'Hype Cave Area')
('Hype Cave Mirror Spot', 'Hype Cave Area'),
('Statues Cliff Ledge Drop', 'Hype Cave Area'), # OWG
('Hype Cliff Ledge Drop', 'Statues Area') # OWG
]),
0x35: ([
('Lake Hylia Mirror Spot', 'Lake Hylia Area'),
@@ -1713,7 +1720,12 @@ ow_connections = {
('Lake Hylia Central Island Mirror Spot', 'Lake Hylia Central Island'),
('Lake Hylia Water Mirror Spot', 'Lake Hylia Water'),
('Lake Hylia Water D Mirror Spot', 'Lake Hylia Water D'),
('Lake Hylia Teleporter', 'Ice Palace Area')
('Lake Hylia Teleporter', 'Ice Palace Area'),
#('Ice Palace Ledge Drop', 'Ice Lake Moat'),
('Lake Hylia Area Cliff Ledge Drop', 'Lake Hylia Area'), # OWG
('Ice Lake Area Cliff Ledge Drop', 'Ice Lake Area'), # OWG
('Lake Hylia Island FAWT Ledge Drop', 'Lake Hylia Island'), # OWG
('Ice Palace Island FAWT Ledge Drop', 'Ice Lake Moat') # OWG
], [
('Lake Hylia Island Pier', 'Lake Hylia Island'),
('Ice Lake Mirror Spot', 'Ice Lake Area'),
@@ -1722,7 +1734,11 @@ ow_connections = {
('Ice Lake Northeast Mirror Spot', 'Ice Lake Northeast Bank'),
('Ice Palace Mirror Spot', 'Ice Palace Area'),
('Ice Lake Moat Mirror Spot', 'Ice Lake Moat'),
('Ice Palace Teleporter', 'Lake Hylia Water D')
('Ice Palace Teleporter', 'Lake Hylia Water D'),
('Lake Hylia Area Cliff Ledge Drop', 'Ice Lake Area'), # OWG
('Ice Lake Area Cliff Ledge Drop', 'Lake Hylia Area'), # OWG
('Lake Hylia Island FAWT Ledge Drop', 'Ice Lake Moat'), # OWG
('Ice Palace Island FAWT Ledge Drop', 'Lake Hylia Island') # OWG
]),
0x37: ([
('Ice Cave Mirror Spot', 'Ice Cave Area')
@@ -1731,18 +1747,26 @@ ow_connections = {
]),
0x3a: ([
('Desert Pass Ledge Mirror Spot', 'Desert Pass Ledge'),
('Desert Pass Mirror Spot', 'Desert Pass Area')
('Desert Pass Mirror Spot', 'Desert Pass Area'),
('Desert Pass Cliff Ledge Drop', 'Desert Pass Area'), # OWG
('Swamp Nook Cliff Ledge Drop', 'Swamp Nook Area') # OWG
], [
('Desert Pass Ladder (North)', 'Desert Pass Area'),
('Desert Pass Ladder (South)', 'Desert Pass Ledge'),
('Swamp Nook Mirror Spot', 'Swamp Nook Area'),
('Swamp Nook Southeast Mirror Spot', 'Swamp Nook Area'),
('Swamp Nook Pegs Mirror Spot', 'Swamp Nook Area')
('Swamp Nook Pegs Mirror Spot', 'Swamp Nook Area'),
('Desert Pass Cliff Ledge Drop', 'Swamp Nook Area'), # OWG
('Swamp Nook Cliff Ledge Drop', 'Desert Pass Area') # OWG
]),
0x3b: ([
('Dam Mirror Spot', 'Dam Area')
('Dam Mirror Spot', 'Dam Area'),
('Dam Cliff Ledge Drop', 'Dam Area'), # OWG
('Swamp Cliff Ledge Drop', 'Swamp Area') # OWG
], [
('Swamp Mirror Spot', 'Swamp Area')
('Swamp Mirror Spot', 'Swamp Area'),
('Dam Cliff Ledge Drop', 'Swamp Area'), # OWG
('Swamp Cliff Ledge Drop', 'Dam Area') # OWG
]),
0x3c: ([
('South Pass Mirror Spot', 'South Pass Area')
@@ -1919,7 +1943,9 @@ isolated_regions = [
'Dark Death Mountain Ledge',
'Dark Death Mountain Isolated Ledge',
'Bumper Cave Ledge',
'Pyramid Exit Ledge'
'Pyramid Exit Ledge',
'Hyrule Castle Water',
'Pyramid Water'
]
flute_data = {