Added Mixed OWG Logic
This commit is contained in:
4
Main.py
4
Main.py
@@ -163,8 +163,6 @@ def main(args, seed=None, fish=None):
|
|||||||
|
|
||||||
for player in range(1, world.players + 1):
|
for player in range(1, world.players + 1):
|
||||||
create_regions(world, player)
|
create_regions(world, player)
|
||||||
if world.logic[player] in ('owglitches', 'nologic'):
|
|
||||||
create_owg_connections(world, player)
|
|
||||||
create_dungeon_regions(world, player)
|
create_dungeon_regions(world, player)
|
||||||
create_owedges(world, player)
|
create_owedges(world, player)
|
||||||
create_shops(world, player)
|
create_shops(world, player)
|
||||||
@@ -189,6 +187,8 @@ def main(args, seed=None, fish=None):
|
|||||||
link_overworld(world, player)
|
link_overworld(world, player)
|
||||||
create_shops(world, player)
|
create_shops(world, player)
|
||||||
update_world_regions(world, player)
|
update_world_regions(world, player)
|
||||||
|
if world.logic[player] in ('owglitches', 'nologic'):
|
||||||
|
create_owg_connections(world, player)
|
||||||
create_flute_exits(world, player)
|
create_flute_exits(world, player)
|
||||||
|
|
||||||
logger.info(world.fish.translate("cli","cli","shuffling.world"))
|
logger.info(world.fish.translate("cli","cli","shuffling.world"))
|
||||||
|
|||||||
@@ -1087,6 +1087,7 @@ OWTileRegions = bidict({
|
|||||||
'Hyrule Castle Courtyard Northeast': 0x1b,
|
'Hyrule Castle Courtyard Northeast': 0x1b,
|
||||||
'Hyrule Castle Ledge': 0x1b,
|
'Hyrule Castle Ledge': 0x1b,
|
||||||
'Hyrule Castle East Entry': 0x1b,
|
'Hyrule Castle East Entry': 0x1b,
|
||||||
|
'Hyrule Castle Water': 0x1b,
|
||||||
|
|
||||||
'Wooden Bridge Area': 0x1d,
|
'Wooden Bridge Area': 0x1d,
|
||||||
'Wooden Bridge Northeast': 0x1d,
|
'Wooden Bridge Northeast': 0x1d,
|
||||||
@@ -1227,6 +1228,7 @@ OWTileRegions = bidict({
|
|||||||
'Pyramid Crack': 0x5b,
|
'Pyramid Crack': 0x5b,
|
||||||
'Pyramid Exit Ledge': 0x5b,
|
'Pyramid Exit Ledge': 0x5b,
|
||||||
'Pyramid Pass': 0x5b,
|
'Pyramid Pass': 0x5b,
|
||||||
|
'Pyramid Water': 0x5b,
|
||||||
|
|
||||||
'Broken Bridge Area': 0x5d,
|
'Broken Bridge Area': 0x5d,
|
||||||
'Broken Bridge Northeast': 0x5d,
|
'Broken Bridge Northeast': 0x5d,
|
||||||
@@ -1491,7 +1493,6 @@ OWExitTypes = {
|
|||||||
'Cave 45 Cliff Ledge Drop',
|
'Cave 45 Cliff Ledge Drop',
|
||||||
'Desert C Whirlpool Cliff Ledge Drop',
|
'Desert C Whirlpool Cliff Ledge Drop',
|
||||||
'Desert Pass Cliff Ledge Drop',
|
'Desert Pass Cliff Ledge Drop',
|
||||||
'Desert Pass Southeast Cliff Ledge Drop',
|
|
||||||
'Dam Cliff Ledge Drop',
|
'Dam Cliff Ledge Drop',
|
||||||
'Bombos Tablet Drop',
|
'Bombos Tablet Drop',
|
||||||
'Cave 45 Ledge Drop',
|
'Cave 45 Ledge Drop',
|
||||||
@@ -1540,6 +1541,7 @@ OWExitTypes = {
|
|||||||
'Dark South Teleporter Cliff Ledge Drop',
|
'Dark South Teleporter Cliff Ledge Drop',
|
||||||
'Misery Mire Teleporter Ledge Drop',
|
'Misery Mire Teleporter Ledge Drop',
|
||||||
'Mire Cliff Ledge Drop',
|
'Mire Cliff Ledge Drop',
|
||||||
|
'Dark Checkerboard Cliff Ledge Drop',
|
||||||
'Archery Game Cliff Ledge Drop',
|
'Archery Game Cliff Ledge Drop',
|
||||||
'Stumpy Approach Cliff Ledge Drop',
|
'Stumpy Approach Cliff Ledge Drop',
|
||||||
'Mire C Whirlpool Cliff Ledge Drop',
|
'Mire C Whirlpool Cliff Ledge Drop',
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ Helper functions to deliver entrance/exit/region sets to OWG rules.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from BaseClasses import Entrance
|
from BaseClasses import Entrance
|
||||||
|
from OWEdges import OWTileRegions
|
||||||
|
|
||||||
|
|
||||||
def get_sword_required_superbunny_mirror_regions():
|
def get_sword_required_superbunny_mirror_regions():
|
||||||
@@ -25,6 +26,8 @@ def get_boots_required_superbunny_mirror_locations():
|
|||||||
yield 'Sahasrahla\'s Hut - Middle'
|
yield 'Sahasrahla\'s Hut - Middle'
|
||||||
yield 'Sahasrahla\'s Hut - Right'
|
yield 'Sahasrahla\'s Hut - Right'
|
||||||
|
|
||||||
|
# TODO: Add pottery locations
|
||||||
|
|
||||||
|
|
||||||
def get_invalid_mirror_bunny_entrances():
|
def get_invalid_mirror_bunny_entrances():
|
||||||
"""
|
"""
|
||||||
@@ -98,7 +101,7 @@ def get_superbunny_accessible_locations():
|
|||||||
yield location
|
yield location
|
||||||
|
|
||||||
|
|
||||||
def get_non_mandatory_exits(inverted):
|
def get_non_mandatory_exits(world, player):
|
||||||
"""
|
"""
|
||||||
Entrances that can be reached with full equipment using overworld glitches and don't need to be an exit.
|
Entrances that can be reached with full equipment using overworld glitches and don't need to be an exit.
|
||||||
The following are still be mandatory exits:
|
The following are still be mandatory exits:
|
||||||
@@ -116,257 +119,169 @@ def get_non_mandatory_exits(inverted):
|
|||||||
yield 'Death Mountain Return Cave (West)'
|
yield 'Death Mountain Return Cave (West)'
|
||||||
yield 'Hookshot Cave Back Entrance'
|
yield 'Hookshot Cave Back Entrance'
|
||||||
|
|
||||||
if inverted:
|
if world.is_tile_swapped(0x30, player):
|
||||||
yield 'Desert Palace Entrance (North)'
|
yield 'Desert Palace Entrance (North)'
|
||||||
yield 'Desert Palace Entrance (West)'
|
yield 'Desert Palace Entrance (West)'
|
||||||
|
else:
|
||||||
|
yield 'Desert Palace Entrance (East)'
|
||||||
|
|
||||||
|
if world.is_tile_swapped(0x1b, player):
|
||||||
yield 'Agahnims Tower'
|
yield 'Agahnims Tower'
|
||||||
yield 'Hyrule Castle Entrance (West)'
|
yield 'Hyrule Castle Entrance (West)'
|
||||||
yield 'Hyrule Castle Entrance (East)'
|
yield 'Hyrule Castle Entrance (East)'
|
||||||
else:
|
|
||||||
|
if not world.is_tile_swapped(0x05, player):
|
||||||
yield 'Dark Death Mountain Ledge (West)'
|
yield 'Dark Death Mountain Ledge (West)'
|
||||||
yield 'Dark Death Mountain Ledge (East)'
|
yield 'Dark Death Mountain Ledge (East)'
|
||||||
yield 'Mimic Cave'
|
#yield 'Mimic Cave' #TODO: This was here, I don't think this is true
|
||||||
yield 'Desert Palace Entrance (East)'
|
|
||||||
|
|
||||||
|
|
||||||
def get_boots_clip_exits_lw(inverted = False):
|
def get_boots_clip_exits_lw(world, player):
|
||||||
"""
|
"""
|
||||||
Special Light World region exits that require boots clips.
|
Special Light World region exits that require boots clips.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
yield ('Lumberjack DMA Clip', 'Lumberjack Area', 'West Death Mountain (Bottom)')
|
for name, parent_region, target_region in boots_clips_local:
|
||||||
yield ('Lumberjack DMD Clip', 'West Death Mountain (Top)', 'Lumberjack Area')
|
if not world.is_tile_swapped(OWTileRegions[parent_region], player):
|
||||||
yield ('DM Glitched Bridge Clip', 'West Death Mountain (Bottom)', 'East Death Mountain (Top East)')
|
yield(name, parent_region, target_region)
|
||||||
yield ('WDM to EDM Top Clip', 'West Death Mountain (Top)', 'East Death Mountain (Top West)')
|
|
||||||
yield ('Hera Ascent Clip', 'West Death Mountain (Bottom)', 'West Death Mountain (Top)') #cannot guarantee camera correction, but a bomb clip exists
|
|
||||||
yield ('Sanctuary DMD Clip', 'West Death Mountain (Bottom)', 'Sanctuary Area')
|
|
||||||
yield ('Graveyard Ledge DMD Clip', 'West Death Mountain (Bottom)', 'Graveyard Ledge')
|
|
||||||
yield ('Kings Grave DMD Clip', 'West Death Mountain (Bottom)', 'Kings Grave Area')
|
|
||||||
yield ('EDM to WDM Top Clip', 'East Death Mountain (Top West)', 'West Death Mountain (Top)')
|
|
||||||
yield ('EDM East Dropdown Clip', 'East Death Mountain (Top East)', 'East Death Mountain (Bottom Left)')
|
|
||||||
yield ('EDM To TR Pegs Clip', 'East Death Mountain (Top East)', 'Death Mountain TR Pegs')
|
|
||||||
yield ('EDM DMD FAWT Clip', 'East Death Mountain (Bottom)', 'Potion Shop Area')
|
|
||||||
yield ('WDM To EDM Bottom Clip', 'East Death Mountain (Bottom Left)', 'East Death Mountain (Bottom)')
|
|
||||||
yield ('WDM DMD To River Bend Clip', 'East Death Mountain (Bottom Left)', 'River Bend Area')
|
|
||||||
yield ('EDM DMD To River Bend Clip', 'East Death Mountain (Bottom)', 'River Bend Area')
|
|
||||||
yield ('TR Pegs Ledge Clip', 'Death Mountain TR Pegs', 'Death Mountain TR Pegs Ledge')
|
|
||||||
yield ('TR Pegs Ledge Descent Clip', 'Death Mountain TR Pegs Ledge', 'Death Mountain TR Pegs')
|
|
||||||
yield ('TR Pegs To EDM Clip', 'Death Mountain TR Pegs', 'East Death Mountain (Top East)')
|
|
||||||
yield ('Zora DMD Clip', 'Death Mountain TR Pegs', 'Zora Waterfall Area')
|
|
||||||
yield ('Mountain Entry To Ledge Clip', 'Mountain Entry Area', 'Mountain Entry Ledge')
|
|
||||||
yield ('Mountain Ledge Drop Clip', 'Mountain Entry Ledge', 'Mountain Entry Entrance')
|
|
||||||
yield ('Mountain Entry To Pond Clip', 'Mountain Entry Area', 'Kakariko Pond Area')
|
|
||||||
yield ('Zora Waterfall Ledge Clip', 'Zora Waterfall Area', 'Zora Approach Area')
|
|
||||||
|
|
||||||
#yield ('Pond DMA Clip', 'Kakariko Pond Area', 'West Death Mountain (Bottom)') #cannot guarantee camera correction
|
for name, parent_region, target_region in boots_clips:
|
||||||
yield ('Pond To Mountain Entry Clip', 'Kakariko Pond Area', 'Mountain Entry Area')
|
parent_swapped, target_swapped = get_swapped_status(world, player, parent_region, target_region)
|
||||||
yield ('Pond To Bonk Rocks Clip', 'Kakariko Pond Area', 'Bonk Rock Ledge')
|
if parent_region[0] and not parent_swapped:
|
||||||
yield ('River Bend To Potion Shop Clip', 'River Bend East Bank', 'Potion Shop Area')
|
if target_region[0] and not target_swapped:
|
||||||
yield ('River Bend To Wooden Bridge Clip', 'River Bend East Bank', 'Wooden Bridge Area')
|
yield(name[0], parent_region[0], target_region[0])
|
||||||
yield ('Potion Shop To EP Clip', 'Potion Shop Area', 'Eastern Palace Area')
|
elif target_region[1]:
|
||||||
yield ('Potion Shop To River Bend Clip', 'Potion Shop Area', 'River Bend East Bank')
|
yield(name[0], parent_region[0], target_region[1])
|
||||||
yield ('Potion Shop To Zora Approach Clip', 'Potion Shop Northeast', 'Zora Approach Area')
|
elif parent_region[1]:
|
||||||
yield ('Zora Approach To Potion Shop Clip', 'Zora Approach Area', 'Potion Shop Area')
|
if target_region[0] and not target_swapped:
|
||||||
|
yield(name[1], parent_region[1], target_region[0])
|
||||||
|
elif target_region[1]:
|
||||||
|
yield(name[1], parent_region[1], target_region[1])
|
||||||
|
|
||||||
yield ('Kakariko Bomb Hut Clip', 'Kakariko Area', 'Maze Race Area')
|
def get_boots_clip_exits_dw(world, player):
|
||||||
yield ('Forgotten Forest To Blacksmith Clip', 'Forgotten Forest Area', 'Blacksmith Area') #fake flipper
|
|
||||||
yield ('Hyrule Castle To Blacksmith Clip', 'Hyrule Castle Area', 'Blacksmith Area') #fake flipper
|
|
||||||
yield ('Wooden Bridge To Dunes Clip', 'Wooden Bridge Area', 'Sand Dunes Area')
|
|
||||||
yield ('Eastern Palace To Zora Approach Clip', 'Eastern Palace Area', 'Zora Approach Area')
|
|
||||||
yield ('Eastern Palace To Nook Clip', 'Eastern Palace Area', 'Eastern Nook Area')
|
|
||||||
yield ('Eastern Palace To Cliff Clip', 'Eastern Palace Area', 'Eastern Cliff')
|
|
||||||
#yield ('Bat Cave River Clip Spot', 'Blacksmith Area', 'Bat Cave Ledge') #cannot guarantee camera correction
|
|
||||||
yield ('Sand Dunes To Cliff Clip', 'Sand Dunes Area', 'Eastern Cliff')
|
|
||||||
|
|
||||||
yield ('Maze Race Item Get Ledge Clip', 'Maze Race Area', 'Maze Race Prize')
|
|
||||||
yield ('Maze Race To Desert Ledge Clip', 'Maze Race Area', 'Desert Ledge')
|
|
||||||
yield ('Maze Race To Desert Boss Clip', 'Maze Race Area', 'Desert Palace Entrance (North) Spot')
|
|
||||||
yield ('Suburb To Cliff Clip', 'Kakariko Suburb Area', 'Desert Northeast Cliffs')
|
|
||||||
yield ('Central Bonk Rocks To Cliff Clip', 'Central Bonk Rocks Area', 'Central Cliffs')
|
|
||||||
yield ('Links House To Cliff Clip', 'Links House Area', 'Central Cliffs')
|
|
||||||
yield ('Stone Bridge To Cliff Clip', 'Stone Bridge Area', 'Central Cliffs')
|
|
||||||
yield ('Tree Line Water Clip', 'Tree Line Area', 'Tree Line Water') #requires flippers
|
|
||||||
yield ('Eastern Nook To Eastern Clip', 'Eastern Nook Area', 'Eastern Palace Area')
|
|
||||||
yield ('Eastern Nook To Ice Cave FAWT Clip', 'Eastern Nook Area', 'Ice Cave Area')
|
|
||||||
|
|
||||||
yield ('Desert To Maze Race Clip', 'Desert Ledge', 'Maze Race Area')
|
|
||||||
yield ('Desert Ledge To Cliff Clip', 'Desert Ledge', 'Desert Northeast Cliffs') #requires gloves
|
|
||||||
yield ('Checkerboard To Cliff Clip', 'Desert Checkerboard Ledge', 'Desert Northeast Cliffs')
|
|
||||||
yield ('Desert To Cliff Clip', 'Desert Area', 'Desert Northeast Cliffs')
|
|
||||||
yield ('Desert To Teleporter Clip', 'Desert Area', 'Desert Palace Teleporter Ledge')
|
|
||||||
yield ('Desert To Bombos Tablet Clip', 'Desert Area', 'Bombos Tablet Ledge')
|
|
||||||
|
|
||||||
yield ('Flute Boy To Cliff Clip', 'Flute Boy Approach Area', 'Desert Northeast Cliffs')
|
|
||||||
yield ('Cave 45 To Cliff Clip', 'Cave 45 Ledge', 'Desert Northeast Cliffs')
|
|
||||||
yield ('C Whirlpool To Cliff Clip', 'C Whirlpool Area', 'Central Cliffs')
|
|
||||||
yield ('C Whirlpool Outer To Cliff Clip', 'C Whirlpool Outer Area', 'Central Cliffs')
|
|
||||||
yield ('Statues To Cliff Clip', 'Statues Area', 'Central Cliffs')
|
|
||||||
yield ('Lake Hylia To Statues Clip', 'Lake Hylia Area', 'Statues Area')
|
|
||||||
yield ('Lake Hylia To South Pass Clip', 'Lake Hylia Area', 'South Pass Area')
|
|
||||||
yield ('Lake Hylia To Shore Clip', 'Lake Hylia Area', 'Lake Hylia South Shore')
|
|
||||||
yield ('Desert Pass To Cliff Clip', 'Desert Pass Area', 'Desert Northeast Cliffs')
|
|
||||||
yield ('Desert Pass Southeast To Cliff Clip', 'Desert Pass Southeast', 'Desert Northeast Cliffs')
|
|
||||||
#yield ('Desert Pass To Zora Clip', 'Desert Pass Area', 'Zoras Domain') #revisit when Zora is shuffled
|
|
||||||
yield ('Dam To Cliff Clip', 'Dam Area', 'Desert Northeast Cliffs')
|
|
||||||
yield ('South Pass To Lake Hylia Clip', 'South Pass Area', 'Lake Hylia Area')
|
|
||||||
yield ('South Pass To Shore Clip', 'South Pass Area', 'Lake Hylia South Shore')
|
|
||||||
#yield ('Octoballoon To Shore Clip', 'Octoballoon Area', 'Lake Hylia South Shore') #map wrap hardlock risk
|
|
||||||
|
|
||||||
if not inverted:
|
|
||||||
yield ('Spectacle Rock Ledge Clip', 'West Death Mountain (Top)', 'Spectacle Rock Ledge')
|
|
||||||
yield ('Floating Island Clip', 'East Death Mountain (Top East)', 'Death Mountain Floating Island')
|
|
||||||
yield ('Floating Island Return Clip', 'Death Mountain Floating Island', 'East Death Mountain (Top East)')
|
|
||||||
|
|
||||||
def get_boots_clip_exits_dw(inverted):
|
|
||||||
"""
|
"""
|
||||||
Special Dark World region exits that require boots clips.
|
Special Dark World region exits that require boots clips.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
yield ('Dark Lumberjack DMA Clip', 'Dark Lumberjack Area', 'West Dark Death Mountain (Bottom)')
|
for name, parent_region, target_region in boots_clips_local:
|
||||||
yield ('DDM Glitched Bridge Clip', 'West Dark Death Mountain (Bottom)', 'East Dark Death Mountain (Top)')
|
if world.is_tile_swapped(OWTileRegions[parent_region], player):
|
||||||
yield ('Chapel DMD Clip', 'West Dark Death Mountain (Bottom)', 'Dark Chapel Area')
|
yield(name, parent_region, target_region)
|
||||||
yield ('Dark Graveyard DMD Clip', 'West Dark Death Mountain (Bottom)', 'Dark Graveyard Area')
|
|
||||||
yield ('EDDM West Dropdown Clip', 'East Dark Death Mountain (Top)', 'East Dark Death Mountain (Bottom Left)')
|
|
||||||
yield ('EDDM To WDDM Clip', 'East Dark Death Mountain (Top)', 'West Dark Death Mountain (Top)')
|
|
||||||
yield ('TR Bridge Clip', 'East Dark Death Mountain (Top)', 'Dark Death Mountain Ledge')
|
|
||||||
yield ('Dark Witch DMD FAWT Clip', 'East Dark Death Mountain (Bottom)', 'Dark Witch Area')
|
|
||||||
yield ('Qirn Jump DMD Clip', 'East Dark Death Mountain (Bottom Left)', 'Qirn Jump Area')
|
|
||||||
yield ('WDDM To EDDM Clip', 'East Dark Death Mountain (Bottom Left)', 'East Dark Death Mountain (Bottom)')
|
|
||||||
#yield ('DW Floating Island Clip', 'East Dark Death Mountain (Bottom)', 'Dark Death Mountain Floating Island') #cannot guarantee camera correction
|
|
||||||
yield ('TR To EDDM Clip', 'Turtle Rock Area', 'East Dark Death Mountain (Top)')
|
|
||||||
yield ('Catfish DMD Clip', 'Turtle Rock Area', 'Catfish Area')
|
|
||||||
yield ('Bumper Cave Ledge Clip', 'Bumper Cave Area', 'Bumper Cave Ledge')
|
|
||||||
yield ('Bumper Cave Ledge Drop Clip', 'Bumper Cave Ledge', 'Bumper Cave Entrance')
|
|
||||||
yield ('Bumper Cave To Pond Clip', 'Bumper Cave Area', 'Outcast Pond Area')
|
|
||||||
yield ('Catfish Ledge Clip', 'Catfish Area', 'Catfish Approach Area')
|
|
||||||
|
|
||||||
#yield ('Dark Pond DMA Clip', 'Outcast Pond Area', 'West Dark Death Mountain (Bottom)') #cannot guarantee camera correction
|
for name, parent_region, target_region in boots_clips:
|
||||||
yield ('Pond To Bumper Cave Clip', 'Outcast Pond Area', 'Bumper Cave Area')
|
parent_swapped, target_swapped = get_swapped_status(world, player, parent_region, target_region)
|
||||||
yield ('Pond To Chapel Clip', 'Outcast Pond Area', 'Dark Chapel Area')
|
if parent_region[0] and parent_swapped:
|
||||||
yield ('Qirn Jump To Dark Witch Clip', 'Qirn Jump East Bank', 'Dark Witch Area')
|
if target_region[0] and target_swapped:
|
||||||
yield ('Qirn Jump To Broken Bridge North Clip', 'Qirn Jump East Bank', 'Broken Bridge Northeast')
|
yield(name[0], parent_region[0], target_region[0])
|
||||||
yield ('Qirn Jump To Broken Bridge Clip', 'Qirn Jump East Bank', 'Broken Bridge Area')
|
elif target_region[1]:
|
||||||
yield ('Dark Witch To PoD Clip', 'Dark Witch Area', 'Palace of Darkness Area')
|
yield(name[0], parent_region[0], target_region[1])
|
||||||
yield ('Dark Witch To Qirn Jump Clip', 'Dark Witch Area', 'Qirn Jump East Bank')
|
elif parent_region[1]:
|
||||||
yield ('Dark Witch To Catfish Approach Clip', 'Dark Witch Northeast', 'Catfish Approach Area')
|
if target_region[0] and target_swapped:
|
||||||
yield ('Catfish Approach To Dark Witch Clip', 'Catfish Approach Area', 'Dark Witch Area')
|
yield(name[1], parent_region[1], target_region[0])
|
||||||
yield ('Catfish Approach To PoD Clip', 'Catfish Approach Area', 'Palace of Darkness Area')
|
elif target_region[1]:
|
||||||
|
yield(name[1], parent_region[1], target_region[1])
|
||||||
yield ('VoO To Dig Game Clip', 'Village of Outcasts Area', 'Dig Game Area')
|
|
||||||
yield ('VoO To Dig Game Hook Clip', 'Village of Outcasts Area', 'Dig Game Ledge') #requires hookshot
|
|
||||||
yield ('Broken Bridge To Dunes Clip', 'Broken Bridge West', 'Dark Dunes Area')
|
|
||||||
yield ('Broken Bridge To Hammer Pegs Clip', 'Broken Bridge West', 'Hammer Pegs Area') #fake flipper
|
|
||||||
yield ('Broken Bridge To Bomb Shop Clip', 'Broken Bridge West', 'Big Bomb Shop Area') #fake flipper
|
|
||||||
yield ('PoD To Cliff Clip', 'Palace of Darkness Area', 'Darkness Cliff')
|
|
||||||
yield ('Dark Dunes To Cliff Clip', 'Dark Dunes Area', 'Darkness Cliff')
|
|
||||||
yield ('Dark Dunes To Hammer Pegs Clip', 'Dark Dunes Area', 'Hammer Pegs Area')
|
|
||||||
yield ('Dark Dunes To Bomb Shop Clip', 'Dark Dunes Area', 'Big Bomb Shop Area')
|
|
||||||
|
|
||||||
yield ('Dig Game To Mire Clip', 'Dig Game Area', 'Misery Mire Area')
|
|
||||||
yield ('Archery Game To Cliff Clip', 'Archery Game Area', 'Mire Northeast Cliffs')
|
|
||||||
yield ('Dark Bonk Rocks To Cliff Clip', 'Dark Bonk Rocks Area', 'Dark Central Cliffs')
|
|
||||||
yield ('Bomb Shop To Cliff Clip', 'Big Bomb Shop Area', 'Dark Central Cliffs')
|
|
||||||
yield ('Bomb Shop To Hammer Bridge FAWT Clip', 'Big Bomb Shop Area', 'Hammer Bridge North Area')
|
|
||||||
yield ('Hammer Bridge To Bomb Shop Clip', 'Hammer Bridge North Area', 'Big Bomb Shop Area')
|
|
||||||
yield ('Hammer Bridge To Hammer Pegs Clip', 'Hammer Bridge North Area', 'Hammer Pegs Area')
|
|
||||||
yield ('Hammer Bridge To Cliff Clip', 'Hammer Bridge South Area', 'Dark Central Cliffs')
|
|
||||||
yield ('Dark Tree Line Water Clip', 'Dark Tree Line Area', 'Dark Tree Line Water') #requires flippers
|
|
||||||
yield ('PoD Nook To Shopping Mall FAWT Clip', 'Palace of Darkness Nook Area', 'Shopping Mall Area')
|
|
||||||
|
|
||||||
yield ('Mire To Cliff Clip', 'Misery Mire Area', 'Mire Northeast Cliffs')
|
|
||||||
yield ('Mire To Teleporter Clip', 'Misery Mire Area', 'Misery Mire Teleporter Ledge')
|
|
||||||
yield ('Stumpy To Cliff Clip', 'Stumpy Approach Area', 'Mire Northeast Cliffs')
|
|
||||||
yield ('Dark C Whirlpool To Cliff Clip', 'Dark C Whirlpool Area', 'Dark Central Cliffs')
|
|
||||||
yield ('Dark C Whirlpool Outer To Cliff Clip', 'Dark C Whirlpool Outer Area', 'Dark Central Cliffs')
|
|
||||||
yield ('Hype To Cliff Clip', 'Hype Cave Area', 'Dark Central Cliffs')
|
|
||||||
yield ('Ice Lake To Hype Clip', 'Ice Lake Area', 'Hype Cave Area')
|
|
||||||
yield ('Ice Lake To South Pass Clip', 'Ice Lake Area', 'Dark South Pass Area')
|
|
||||||
yield ('Ice Lake To Shore Clip', 'Ice Lake Area', 'Ice Lake Ledge (West)')
|
|
||||||
|
|
||||||
yield ('Swamp Nook To Cliff Clip', 'Swamp Nook Area', 'Mire Northeast Cliffs')
|
|
||||||
yield ('Swamp To Cliff Clip', 'Swamp Area', 'Mire Northeast Cliffs')
|
|
||||||
yield ('South Pass To Ice Lake Clip', 'Dark South Pass Area', 'Ice Lake Area')
|
|
||||||
yield ('South Pass To Dark Shore Clip', 'Dark South Pass Area', 'Ice Lake Ledge (West)')
|
|
||||||
#yield ('Bomber Corner To Shore Clip', 'Bomber Corner Area', 'Ice Lake Ledge (East)') #map wrap hardlock risk
|
|
||||||
|
|
||||||
if not inverted:
|
|
||||||
yield ('Ganons Tower Screen Wrap Clip', 'West Dark Death Mountain (Bottom)', 'GT Approach') # This only gets you to the GT entrance
|
|
||||||
yield ('WDDM Bomb Clip', 'West Dark Death Mountain (Bottom)', 'West Dark Death Mountain (Top)') #cannot guarantee camera correction, but a bomb clip exists
|
|
||||||
yield ('Turtle Rock Ledge Clip', 'Turtle Rock Area', 'Turtle Rock Ledge')
|
|
||||||
else:
|
|
||||||
yield ('Misery Mire Teleporter Clip', 'Misery Mire Area', 'Misery Mire Teleporter Ledge')
|
|
||||||
|
|
||||||
|
|
||||||
def get_glitched_speed_drops_lw(inverted = False):
|
def get_glitched_speed_drops_lw(world, player):
|
||||||
"""
|
"""
|
||||||
Light World drop-down ledges that require glitched speed.
|
Light World drop-down ledges that require glitched speed.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def get_glitched_speed_drops_dw(world, player):
|
||||||
def get_glitched_speed_drops_dw(inverted = False):
|
|
||||||
"""
|
"""
|
||||||
Dark World drop-down ledges that require glitched speed.
|
Dark World drop-down ledges that require glitched speed.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def get_mirror_clip_spots_dw():
|
def get_mirror_clip_spots(world, player):
|
||||||
"""
|
"""
|
||||||
Out of bounds transitions using the mirror
|
Out of bounds transitions using the mirror
|
||||||
"""
|
"""
|
||||||
yield ('Qirn Jump Bunny DMD Clip', 'East Dark Death Mountain (Bottom Left)', 'Qirn Jump Area')
|
|
||||||
yield ('EDDM Mirror Clip', 'East Dark Death Mountain (Bottom Left)', 'East Dark Death Mountain (Bottom)')
|
for name, parent_region, target_region in mirror_clips_local:
|
||||||
yield ('Desert East Mirror Clip', 'Misery Mire Area', 'Desert Palace Mouth')
|
if not world.is_tile_swapped(OWTileRegions[parent_region], player):
|
||||||
|
yield(name, parent_region, target_region)
|
||||||
|
|
||||||
|
for name, parent_region, target_region in mirror_clips:
|
||||||
|
parent_swapped, target_swapped = get_swapped_status(world, player, parent_region, target_region)
|
||||||
|
if parent_region[0] and not parent_swapped:
|
||||||
|
if target_region[0] and not target_region:
|
||||||
|
yield(name[0], parent_region[0], target_region[0])
|
||||||
|
elif target_region[1]:
|
||||||
|
yield(name[0], parent_region[0], target_region[1])
|
||||||
|
elif parent_region[1]:
|
||||||
|
if target_region[0] and not target_region:
|
||||||
|
yield(name[1], parent_region[1], target_region[0])
|
||||||
|
elif target_region[1]:
|
||||||
|
yield(name[1], parent_region[1], target_region[1])
|
||||||
|
|
||||||
|
|
||||||
def get_mirror_offset_spots_dw():
|
def get_mirror_offset_spots(world, player):
|
||||||
"""
|
"""
|
||||||
Mirror shenanigans placing a mirror portal with a broken camera
|
Mirror shenanigans placing a mirror portal with a broken camera
|
||||||
"""
|
"""
|
||||||
yield ('Dark Death Mountain Offset Mirror', 'West Dark Death Mountain (Bottom)', 'Pyramid Area')
|
|
||||||
|
# TODO: These really should check to see if there is a mirrorless path to the mirror portal
|
||||||
|
# but being that OWG is very very open, it's very unlikely there isn't a path, but possible
|
||||||
|
|
||||||
|
for name, parent_region, target_region, path_to in mirror_offsets:
|
||||||
|
parent_swapped, target_swapped = get_swapped_status(world, player, parent_region, target_region)
|
||||||
|
if parent_region[0] and not parent_swapped:
|
||||||
|
if target_region[0] and not target_region:
|
||||||
|
yield(name[0], parent_region[0], target_region[0])
|
||||||
|
elif target_region[1]:
|
||||||
|
yield(name[0], parent_region[0], target_region[1])
|
||||||
|
elif parent_region[1]:
|
||||||
|
if target_region[0] and not target_region:
|
||||||
|
yield(name[1], parent_region[1], target_region[0])
|
||||||
|
elif target_region[1]:
|
||||||
|
yield(name[1], parent_region[1], target_region[1])
|
||||||
|
|
||||||
|
|
||||||
def get_mirror_offset_spots_lw(player):
|
def get_swapped_status(world, player, parents, targets):
|
||||||
"""
|
if parents[0]:
|
||||||
Mirror shenanigans placing a mirror portal with a broken camera
|
parent_swapped = world.is_tile_swapped(OWTileRegions[parents[0]], player)
|
||||||
"""
|
else:
|
||||||
#yield ('Death Mountain Offset Mirror', 'West Death Mountain (Bottom)', 'Hyrule Castle Courtyard') #revisit when we can guarantee walk access to Pyramid Area
|
parent_swapped = world.is_tile_swapped(OWTileRegions[parents[1]], player)
|
||||||
#yield ('Death Mountain Offset Mirror (Houlihan Exit)', 'West Death Mountain (Bottom)', 'Hyrule Castle Ledge', lambda state: state.has_Mirror(player) and state.can_boots_clip_dw(player) and state.has_Pearl(player))
|
|
||||||
|
if targets[0] and targets[0] in (glitch_regions[0] + glitch_regions[1]):
|
||||||
|
target_swapped = targets[0] in glitch_regions[1]
|
||||||
|
else:
|
||||||
|
if targets[0]:
|
||||||
|
target_swapped = world.is_tile_swapped(OWTileRegions[targets[0]], player)
|
||||||
|
else:
|
||||||
|
target_swapped = world.is_tile_swapped(OWTileRegions[targets[1]], player)
|
||||||
|
|
||||||
|
return parent_swapped, target_swapped
|
||||||
|
|
||||||
|
|
||||||
def create_owg_connections(world, player):
|
def create_owg_connections(world, player):
|
||||||
"""
|
"""
|
||||||
Add OWG transitions to player's world without logic
|
Add OWG transitions to player's world without logic
|
||||||
"""
|
"""
|
||||||
create_no_logic_connections(player, world, get_boots_clip_exits_lw(world.mode[player] == 'inverted'))
|
create_no_logic_connections(player, world, get_boots_clip_exits_lw(world, player))
|
||||||
create_no_logic_connections(player, world, get_boots_clip_exits_dw(world.mode[player] == 'inverted'))
|
create_no_logic_connections(player, world, get_boots_clip_exits_dw(world, player))
|
||||||
|
|
||||||
# Glitched speed drops.
|
# Glitched speed drops.
|
||||||
#create_no_logic_connections(player, world, get_glitched_speed_drops_lw(world.mode[player] == 'inverted'))
|
#create_no_logic_connections(player, world, get_glitched_speed_drops_lw(world, player))
|
||||||
#create_no_logic_connections(player, world, get_glitched_speed_drops_dw(world.mode[player] == 'inverted'))
|
#create_no_logic_connections(player, world, get_glitched_speed_drops_dw(world, player))
|
||||||
|
|
||||||
# Mirror clip spots.
|
# Mirror clip spots.
|
||||||
if world.mode[player] != 'inverted':
|
create_no_logic_connections(player, world, get_mirror_clip_spots(world, player))
|
||||||
create_no_logic_connections(player, world, get_mirror_clip_spots_dw())
|
create_no_logic_connections(player, world, get_mirror_offset_spots(world, player))
|
||||||
create_no_logic_connections(player, world, get_mirror_offset_spots_dw())
|
|
||||||
#else:
|
|
||||||
#create_no_logic_connections(player, world, get_mirror_offset_spots_lw(player))
|
|
||||||
|
|
||||||
|
|
||||||
def overworld_glitches_rules(world, player):
|
def overworld_glitches_rules(world, player):
|
||||||
# Boots-accessible locations.
|
# Boots-accessible locations.
|
||||||
set_owg_rules(player, world, get_boots_clip_exits_lw(world.mode[player] == 'inverted'), lambda state: state.can_boots_clip_lw(player))
|
set_owg_rules(player, world, get_boots_clip_exits_lw(world, player), lambda state: state.can_boots_clip_lw(player))
|
||||||
set_owg_rules(player, world, get_boots_clip_exits_dw(world.mode[player] == 'inverted'), lambda state: state.can_boots_clip_dw(player))
|
set_owg_rules(player, world, get_boots_clip_exits_dw(world, player), lambda state: state.can_boots_clip_dw(player))
|
||||||
|
|
||||||
# Glitched speed drops.
|
# Glitched speed drops.
|
||||||
#set_owg_rules(player, world, get_glitched_speed_drops_lw(world.mode[player] == 'inverted'), lambda state: state.can_get_glitched_speed_lw(player))
|
#set_owg_rules(player, world, get_glitched_speed_drops_lw(world, player), lambda state: state.can_get_glitched_speed_lw(player))
|
||||||
#set_owg_rules(player, world, get_glitched_speed_drops_dw(world.mode[player] == 'inverted'), lambda state: state.can_get_glitched_speed_dw(player))
|
#set_owg_rules(player, world, get_glitched_speed_drops_dw(world, player), lambda state: state.can_get_glitched_speed_dw(player))
|
||||||
|
|
||||||
# Mirror clip spots.
|
# Mirror clip spots.
|
||||||
if world.mode[player] != 'inverted':
|
set_owg_rules(player, world, get_mirror_clip_spots(world, player), lambda state: state.has_Mirror(player))
|
||||||
set_owg_rules(player, world, get_mirror_clip_spots_dw(), lambda state: state.has_Mirror(player))
|
set_owg_rules(player, world, get_mirror_offset_spots(world, player), lambda state: state.has_Mirror(player) and state.can_boots_clip_lw(player))
|
||||||
set_owg_rules(player, world, get_mirror_offset_spots_dw(), lambda state: state.has_Mirror(player) and state.can_boots_clip_lw(player))
|
|
||||||
#else:
|
|
||||||
#set_owg_rules(player, world, get_mirror_offset_spots_lw(player), lambda state: state.has_Mirror(player) and state.can_boots_clip_dw(player))
|
|
||||||
|
|
||||||
# Regions that require the boots and some other stuff.
|
# Regions that require the boots and some other stuff.
|
||||||
# TODO: Revisit below when we can guarantee water walk
|
# TODO: Revisit below when we can guarantee water walk
|
||||||
@@ -378,18 +293,9 @@ def overworld_glitches_rules(world, player):
|
|||||||
# Zora's Ledge via waterwalk setup.
|
# Zora's Ledge via waterwalk setup.
|
||||||
#add_alternate_rule(world.get_location('Zora\'s Ledge', player), lambda state: state.has_Boots(player)) #revisit when we can guarantee water walk
|
#add_alternate_rule(world.get_location('Zora\'s Ledge', player), lambda state: state.has_Boots(player)) #revisit when we can guarantee water walk
|
||||||
|
|
||||||
# Regions that can bypass item requirements
|
|
||||||
add_alternate_rule(world.get_entrance('DM Hammer Bridge (West)', player), lambda state: state.can_boots_clip_lw(player))
|
|
||||||
add_alternate_rule(world.get_entrance('DM Broken Bridge (West)', player), lambda state: state.can_boots_clip_lw(player))
|
|
||||||
add_alternate_rule(world.get_entrance('Potion Shop Rock (North)', player), lambda state: state.can_boots_clip_lw(player))
|
|
||||||
add_alternate_rule(world.get_entrance('Potion Shop Rock (South)', player), lambda state: state.can_boots_clip_lw(player))
|
|
||||||
add_alternate_rule(world.get_entrance('Dark Witch Rock (North)', player), lambda state: state.can_boots_clip_dw(player))
|
|
||||||
add_alternate_rule(world.get_entrance('Dark Witch Rock (South)', player), lambda state: state.can_boots_clip_dw(player))
|
|
||||||
|
|
||||||
# Adding additional item requirements to OWG Clips
|
# Adding additional item requirements to OWG Clips
|
||||||
add_additional_rule(world.get_entrance('Tree Line Water Clip', player), lambda state: state.has('Flippers', player))
|
|
||||||
add_additional_rule(world.get_entrance('Desert Ledge To Cliff Clip', player), lambda state: state.can_lift_rocks(player))
|
|
||||||
add_additional_rule(world.get_entrance('VoO To Dig Game Hook Clip', player), lambda state: state.has('Hookshot', player))
|
add_additional_rule(world.get_entrance('VoO To Dig Game Hook Clip', player), lambda state: state.has('Hookshot', player))
|
||||||
|
add_additional_rule(world.get_entrance('Tree Line Water Clip', player), lambda state: state.has('Flippers', player))
|
||||||
add_additional_rule(world.get_entrance('Dark Tree Line Water Clip', player), lambda state: state.has('Flippers', player))
|
add_additional_rule(world.get_entrance('Dark Tree Line Water Clip', player), lambda state: state.has('Flippers', player))
|
||||||
|
|
||||||
|
|
||||||
@@ -417,3 +323,171 @@ def set_owg_rules(player, world, connections, default_rule):
|
|||||||
connection = world.get_entrance(entrance, player)
|
connection = world.get_entrance(entrance, player)
|
||||||
rule = rule_override[0] if len(rule_override) > 0 else default_rule
|
rule = rule_override[0] if len(rule_override) > 0 else default_rule
|
||||||
connection.access_rule = rule
|
connection.access_rule = rule
|
||||||
|
|
||||||
|
|
||||||
|
glitch_regions = (['Central Cliffs', 'Eastern Cliff', 'Desert Northeast Cliffs'],
|
||||||
|
['Dark Central Cliffs', 'Darkness Cliff', 'Mire Northeast Cliffs'])
|
||||||
|
|
||||||
|
# same screen clips, no OWR tile swap implications
|
||||||
|
boots_clips_local = [ # (name, from_region, to_region)
|
||||||
|
('Hera Ascent Clip', 'West Death Mountain (Bottom)', 'West Death Mountain (Top)'), #cannot guarantee camera correction, but a bomb clip exists
|
||||||
|
('WDDM Bomb Clip', 'West Dark Death Mountain (Bottom)', 'West Dark Death Mountain (Top)'), #cannot guarantee camera correction, but a bomb clip exists
|
||||||
|
('Ganons Tower Screen Wrap Clip', 'West Dark Death Mountain (Bottom)', 'GT Approach'), # This only gets you to the GT entrance
|
||||||
|
('Spectacle Rock Ledge Clip', 'West Death Mountain (Top)', 'Spectacle Rock Ledge'),
|
||||||
|
|
||||||
|
('Floating Island Clip', 'East Death Mountain (Top East)', 'Death Mountain Floating Island'),
|
||||||
|
('Floating Island Return Clip', 'Death Mountain Floating Island', 'East Death Mountain (Top East)'),
|
||||||
|
#('DW Floating Island Clip', 'East Dark Death Mountain (Bottom)', 'Dark Death Mountain Floating Island'), #cannot guarantee camera correction
|
||||||
|
('EDM East Dropdown Clip', 'East Death Mountain (Top East)', 'East Death Mountain (Bottom Left)'),
|
||||||
|
('EDM Hammer Bypass Teleport', 'East Death Mountain (Top West)', 'East Death Mountain (Top East)'),
|
||||||
|
('EDDM West Dropdown Clip', 'East Dark Death Mountain (Top)', 'East Dark Death Mountain (Bottom Left)'),
|
||||||
|
('WDM To EDM Bottom Clip', 'East Death Mountain (Bottom Left)', 'East Death Mountain (Bottom)'),
|
||||||
|
('WDDM To EDDM Bottom Clip', 'East Dark Death Mountain (Bottom Left)', 'East Dark Death Mountain (Bottom)'),
|
||||||
|
('TR Bridge Clip', 'East Dark Death Mountain (Top)', 'Dark Death Mountain Ledge'),
|
||||||
|
|
||||||
|
('TR Pegs Ledge Clip', 'Death Mountain TR Pegs', 'Death Mountain TR Pegs Ledge'),
|
||||||
|
('TR Pegs Ledge Descent Clip', 'Death Mountain TR Pegs Ledge', 'Death Mountain TR Pegs'), # inverted only, but doesn't hurt to exist always
|
||||||
|
('Turtle Rock Ledge Clip', 'Turtle Rock Area', 'Turtle Rock Ledge'),
|
||||||
|
|
||||||
|
('Mountain Entry To Ledge Clip', 'Mountain Entry Area', 'Mountain Entry Ledge'),
|
||||||
|
('Bumper Cave Ledge Clip', 'Bumper Cave Area', 'Bumper Cave Ledge'),
|
||||||
|
('Mountain Ledge Drop Clip', 'Mountain Entry Ledge', 'Mountain Entry Entrance'),
|
||||||
|
('Bumper Cave Ledge Drop Clip', 'Bumper Cave Ledge', 'Bumper Cave Entrance'),
|
||||||
|
|
||||||
|
('Potion Shop Northbound Rock Bypass Clip', 'Potion Shop Area', 'Potion Shop Northeast'),
|
||||||
|
('Potion Shop Southbound Rock Bypass Clip', 'Potion Shop Northeast', 'Potion Shop Area'),
|
||||||
|
('Dark Witch Northbound Rock Bypass Clip', 'Dark Witch Area', 'Dark Witch Northeast'),
|
||||||
|
('Dark Witch Southbound Rock Bypass Clip', 'Dark Witch Northeast', 'Dark Witch Area'),
|
||||||
|
|
||||||
|
('Hyrule Castle To Water Clip', 'Hyrule Castle Area', 'Hyrule Castle Water'), #fake flipper
|
||||||
|
|
||||||
|
#('Bat Cave River Clip Spot', 'Blacksmith Area', 'Bat Cave Ledge'), #cannot guarantee camera correction
|
||||||
|
|
||||||
|
('Maze Race Item Get Ledge Clip', 'Maze Race Area', 'Maze Race Prize'),
|
||||||
|
|
||||||
|
('Tree Line Water Clip', 'Tree Line Area', 'Tree Line Water'), #requires flippers
|
||||||
|
('Dark Tree Line Water Clip', 'Dark Tree Line Area', 'Dark Tree Line Water'), #requires flippers
|
||||||
|
|
||||||
|
('Desert To Teleporter Clip', 'Desert Area', 'Desert Palace Teleporter Ledge'),
|
||||||
|
('Mire To Teleporter Clip', 'Misery Mire Area', 'Misery Mire Teleporter Ledge'),
|
||||||
|
('Desert To Bombos Tablet Clip', 'Desert Area', 'Bombos Tablet Ledge'),
|
||||||
|
|
||||||
|
('Lake Hylia To Shore Clip', 'Lake Hylia Area', 'Lake Hylia South Shore'),
|
||||||
|
('Ice Lake To Shore Clip', 'Ice Lake Area', 'Ice Lake Ledge (West)')
|
||||||
|
|
||||||
|
#('Desert Pass To Zora Clip', 'Desert Pass Area', 'Zoras Domain', ) #revisit when Zora is shuffled
|
||||||
|
]
|
||||||
|
|
||||||
|
# Common structure for cross-screen connections:
|
||||||
|
# (name, from_region, to_region) <- each three consists of [LW, DW]
|
||||||
|
# This is so OWR Tile Swap can properly connect both connections, and simultaneously be aware of which one requires pearl
|
||||||
|
# Note: Some clips have no way to reach the OOB area, and others have no way to get from the OOB area
|
||||||
|
# to a proper destination, these are marked with 'None'; these connections will not be made
|
||||||
|
boots_clips = [
|
||||||
|
(['Lumberjack DMA Clip', 'Dark Lumberjack DMA Clip'], ['Lumberjack Area', 'Dark Lumberjack Area'], ['West Death Mountain (Bottom)', 'West Dark Death Mountain (Bottom)']),
|
||||||
|
|
||||||
|
(['Lumberjack DMD Clip', None], ['West Death Mountain (Top)', None], ['Lumberjack Area', 'Dark Lumberjack Area']),
|
||||||
|
(['DM Glitched Bridge Clip', 'DDM Glitched Bridge Clip'], ['West Death Mountain (Bottom)', 'West Dark Death Mountain (Bottom)'], ['East Death Mountain (Top East)', 'East Dark Death Mountain (Top)']),
|
||||||
|
(['WDM to EDM Top Clip', 'WDDM to EDDM Top Clip'], ['West Death Mountain (Top)', 'West Dark Death Mountain (Top)'], ['East Death Mountain (Top West)', None]),
|
||||||
|
(['Sanctuary DMD Clip', 'Chapel DMD Clip'], ['West Death Mountain (Bottom)', 'West Dark Death Mountain (Bottom)'], ['Sanctuary Area', 'Dark Chapel Area']),
|
||||||
|
(['Graveyard Ledge DMD Clip', 'Dark Graveyard DMD Clip', ], ['West Death Mountain (Bottom)', 'West Dark Death Mountain (Bottom)'], ['Graveyard Ledge', 'Dark Graveyard North']),
|
||||||
|
(['Kings Grave DMD Clip', 'Dark Kings Grave DMD Clip'], ['West Death Mountain (Bottom)', 'West Dark Death Mountain (Bottom)'], ['Kings Grave Area', None]),
|
||||||
|
|
||||||
|
(['EDM to WDM Top Clip', 'EDDM To WDDM Clip'], ['East Death Mountain (Top West)', 'East Dark Death Mountain (Top)'], ['West Death Mountain (Top)', 'West Dark Death Mountain (Top)']),
|
||||||
|
(['EDM To TR Pegs Clip', 'EDDM To TR Clip'], ['East Death Mountain (Top East)', 'East Dark Death Mountain (Top)'], ['Death Mountain TR Pegs', None]),
|
||||||
|
(['EDM DMD FAWT Clip', 'Dark Witch DMD FAWT Clip'], ['East Death Mountain (Bottom)', 'East Dark Death Mountain (Bottom)'], ['Potion Shop Area', 'Dark Witch Area']),
|
||||||
|
(['WDM DMD To River Bend Clip', 'WDDM DMD To Qirn Jump Clip'], ['East Death Mountain (Bottom Left)', 'East Dark Death Mountain (Bottom Left)'], ['River Bend Area', 'Qirn Jump Area']),
|
||||||
|
(['EDM DMD To River Bend Clip', 'EDDM DMD To Qirn Jump Clip'], ['East Death Mountain (Bottom)', 'East Dark Death Mountain (Bottom)'], ['River Bend Area', 'Qirn Jump Area']),
|
||||||
|
|
||||||
|
(['TR Pegs To EDM Clip', 'TR To EDDM Clip'], ['Death Mountain TR Pegs', 'Turtle Rock Area'], ['East Death Mountain (Top East)', 'East Dark Death Mountain (Top)']),
|
||||||
|
(['Zora DMD Clip', 'Catfish DMD Clip'], ['Death Mountain TR Pegs', 'Turtle Rock Area'], ['Zora Waterfall Area', 'Catfish Area']),
|
||||||
|
|
||||||
|
(['Mountain Entry To Pond Clip', 'Bumper Cave To Pond Clip'], ['Mountain Entry Area', 'Bumper Cave Area'], ['Kakariko Pond Area', 'Outcast Pond Area']),
|
||||||
|
|
||||||
|
(['Zora Waterfall Ledge Clip', 'Catfish Ledge Clip'], ['Zora Waterfall Area', 'Catfish Area'], ['Zora Approach Area', 'Catfish Approach Area']),
|
||||||
|
|
||||||
|
#(['Pond DMA Clip', 'Dark Pond DMA Clip'], ['Kakariko Pond Area', 'Outcast Pond Area'], ['West Death Mountain (Bottom)', 'West Dark Death Mountain (Bottom)']), #cannot guarantee camera correction
|
||||||
|
(['Pond To Mountain Entry Clip', 'Pond To Bumper Cave Clip'], ['Kakariko Pond Area', 'Outcast Pond Area'], ['Mountain Entry Area', 'Bumper Cave Area']),
|
||||||
|
(['Pond To Bonk Rocks Clip', 'Pond To Chapel Clip'], ['Kakariko Pond Area', 'Outcast Pond Area'], ['Bonk Rock Ledge', 'Dark Chapel Area']),
|
||||||
|
|
||||||
|
(['River Bend To Potion Shop Clip', 'Qirn Jump To Dark Witch Clip'], ['River Bend East Bank', 'Qirn Jump East Bank'], ['Potion Shop Area', 'Dark Witch Area']),
|
||||||
|
(['River Bend To Wooden Bridge Clip', 'Qirn Jump To Broken Bridge North Clip'], ['River Bend East Bank', 'Qirn Jump East Bank'], ['Wooden Bridge Area', 'Broken Bridge Northeast']),
|
||||||
|
(['River Bend To Broken Bridge Clip', 'Qirn Jump To Broken Bridge Clip'], ['River Bend East Bank', 'Qirn Jump East Bank'], [None, 'Broken Bridge Area']),
|
||||||
|
|
||||||
|
(['Potion Shop To EP Clip', 'Dark Witch To PoD Clip'], ['Potion Shop Area', 'Dark Witch Area'], ['Eastern Palace Area', 'Palace of Darkness Area']),
|
||||||
|
(['Potion Shop To River Bend Clip', 'Dark Witch To Qirn Jump Clip'], ['Potion Shop Area', 'Dark Witch Area'], ['River Bend East Bank', 'Qirn Jump East Bank']),
|
||||||
|
(['Potion Shop To Zora Approach Clip', 'Dark Witch To Catfish Approach Clip'], ['Potion Shop Northeast', 'Dark Witch Northeast'], ['Zora Approach Area', 'Catfish Approach Area']),
|
||||||
|
|
||||||
|
(['Zora Approach To Potion Shop Clip', 'Catfish Approach To Dark Witch Clip'], ['Zora Approach Area', 'Catfish Approach Area'], ['Potion Shop Area', 'Dark Witch Area']),
|
||||||
|
(['Zora Approach To PoD Clip', 'Catfish Approach To PoD Clip'], ['Zora Approach Area', 'Catfish Approach Area'], [None, 'Palace of Darkness Area']),
|
||||||
|
|
||||||
|
(['Kakariko Bomb Hut Clip', 'VoO To Dig Game Clip'], ['Kakariko Southwest', 'Village of Outcasts Area'], ['Maze Race Area', 'Dig Game Area']),
|
||||||
|
(['Kakariko To Dig Game Hook Clip', 'VoO To Dig Game Hook Clip'], ['Kakariko Southwest', 'Village of Outcasts Area'], [None, 'Dig Game Ledge']), #requires hookshot
|
||||||
|
|
||||||
|
(['Forgotten Forest To Blacksmith Clip', None], ['Forgotten Forest Area', None], ['Hyrule Castle Water', 'Pyramid Water']), #fake flipper
|
||||||
|
|
||||||
|
(['Wooden Bridge To Dunes Clip', 'Broken Bridge To Dunes Clip'], ['Wooden Bridge Area', 'Broken Bridge West'], ['Sand Dunes Area', 'Dark Dunes Area']),
|
||||||
|
(['Wooden Bridge To Water Clip', 'Broken Bridge To Water Clip'], ['Wooden Bridge Area', 'Broken Bridge West'], [None, 'Pyramid Water']), #fake flipper
|
||||||
|
|
||||||
|
(['Eastern Palace To Zora Approach Clip', None], ['Eastern Palace Area', None], ['Zora Approach Area', 'Catfish Approach Area']),
|
||||||
|
(['Eastern Palace To Nook Clip', None], ['Eastern Palace Area', None], ['Eastern Nook Area', 'Palace of Darkness Nook Area']),
|
||||||
|
(['Eastern Palace To Cliff Clip', 'PoD To Cliff Clip'], ['Eastern Palace Area', 'Palace of Darkness Area'], ['Eastern Cliff', 'Darkness Cliff']),
|
||||||
|
|
||||||
|
(['Sand Dunes To Cliff Clip', 'Dark Dunes To Cliff Clip'], ['Sand Dunes Area', 'Dark Dunes Area'], ['Eastern Cliff', 'Darkness Cliff']),
|
||||||
|
(['Sand Dunes To Water Clip', 'Dark Dunes To Water Clip'], ['Sand Dunes Area', 'Dark Dunes Area'], [None, 'Pyramid Water']), #fake flipper
|
||||||
|
|
||||||
|
(['Maze Race To Desert Ledge Clip', 'Dig Game To Mire Clip'], ['Maze Race Area', 'Dig Game Area'], ['Desert Ledge', 'Misery Mire Area']),
|
||||||
|
(['Maze Race To Desert Boss Clip', 'Dig Game To Desert Boss Clip'], ['Maze Race Area', 'Dig Game Area'], ['Desert Palace Entrance (North) Spot', None]),
|
||||||
|
(['Suburb To Cliff Clip', 'Archery Game To Cliff Clip'], ['Kakariko Suburb Area', 'Archery Game Area'], ['Desert Northeast Cliffs', 'Mire Northeast Cliffs']),
|
||||||
|
(['Central Bonk Rocks To Cliff Clip', 'Dark Bonk Rocks To Cliff Clip'], ['Central Bonk Rocks Area', 'Dark Bonk Rocks Area'], ['Central Cliffs', 'Dark Central Cliffs']),
|
||||||
|
(['Links House To Cliff Clip', 'Bomb Shop To Cliff Clip'], ['Links House Area', 'Big Bomb Shop Area'], ['Central Cliffs', 'Dark Central Cliffs']),
|
||||||
|
(['Stone Bridge To Cliff Clip', 'Hammer Bridge To Cliff Clip'], ['Stone Bridge Area', 'Hammer Bridge South Area'], ['Central Cliffs', 'Dark Central Cliffs']),
|
||||||
|
(['Eastern Nook To Eastern Clip', None], ['Eastern Nook Area', None], ['Eastern Palace Area', 'Palace of Darkness Area']),
|
||||||
|
(['Eastern Nook To Ice Cave FAWT Clip', 'PoD Nook To Shopping Mall FAWT Clip'], ['Eastern Nook Area', 'Palace of Darkness Nook Area'], ['Ice Cave Area', 'Shopping Mall Area']),
|
||||||
|
|
||||||
|
(['Links To Bridge FAWT Clip', 'Bomb Shop To Hammer Bridge FAWT Clip'], ['Links House Area', 'Big Bomb Shop Area'], ['Stone Bridge Area', 'Hammer Bridge North Area']), #fake flipper
|
||||||
|
|
||||||
|
(['Stone Bridge To Water Clip', 'Hammer Bridge To Water Clip'], ['Stone Bridge Area', 'Hammer Bridge North Area'], [None, 'Pyramid Water']), #fake flipper
|
||||||
|
|
||||||
|
(['Desert To Maze Race Clip', None], ['Desert Ledge', None], ['Maze Race Area', 'Dig Game Area']),
|
||||||
|
(['Desert To Cliff Clip', 'Mire To Cliff Clip'], ['Desert Area', 'Misery Mire Area'], ['Desert Northeast Cliffs', 'Mire Northeast Cliffs']),
|
||||||
|
|
||||||
|
(['Flute Boy To Cliff Clip', 'Stumpy To Cliff Clip'], ['Flute Boy Approach Area', 'Stumpy Approach Area'], ['Desert Northeast Cliffs', 'Mire Northeast Cliffs']),
|
||||||
|
(['Cave 45 To Cliff Clip', None], ['Cave 45 Ledge', None], ['Desert Northeast Cliffs', 'Mire Northeast Cliffs']),
|
||||||
|
|
||||||
|
(['C Whirlpool To Cliff Clip', 'Dark C Whirlpool To Cliff Clip'], ['C Whirlpool Area', 'Dark C Whirlpool Area'], ['Central Cliffs', 'Dark Central Cliffs']),
|
||||||
|
(['C Whirlpool Outer To Cliff Clip', 'Dark C Whirlpool Outer To Cliff Clip'], ['C Whirlpool Outer Area', 'Dark C Whirlpool Outer Area'], ['Central Cliffs', 'Dark Central Cliffs']),
|
||||||
|
|
||||||
|
(['Statues To Cliff Clip', 'Hype To Cliff Clip'], ['Statues Area', 'Hype Cave Area'], ['Central Cliffs', 'Dark Central Cliffs']),
|
||||||
|
|
||||||
|
(['Lake Hylia To Statues Clip', 'Ice Lake To Hype Clip'], ['Lake Hylia Area', 'Ice Lake Area'], ['Statues Area', 'Hype Cave Area']),
|
||||||
|
(['Lake Hylia To South Pass Clip', 'Ice Lake To South Pass Clip'], ['Lake Hylia Area', 'Ice Lake Area'], ['South Pass Area', 'Dark South Pass Area']),
|
||||||
|
|
||||||
|
(['Desert Pass To Cliff Clip', 'Swamp Nook To Cliff Clip'], ['Desert Pass Area', 'Swamp Nook Area'], ['Desert Northeast Cliffs', 'Mire Northeast Cliffs']),
|
||||||
|
(['Desert Pass Southeast To Cliff Clip', None], ['Desert Pass Southeast', None], ['Desert Northeast Cliffs', 'Mire Northeast Cliffs']),
|
||||||
|
|
||||||
|
(['Dam To Cliff Clip', 'Swamp To Cliff Clip'], ['Dam Area', 'Swamp Area'], ['Desert Northeast Cliffs', 'Mire Northeast Cliffs']),
|
||||||
|
(['Dam To Desert Pass Southeast Clip', 'Swamp To Desert Pass Southeast Clip'], ['Dam Area', 'Swamp Area'], ['Desert Pass Southeast', None]),
|
||||||
|
|
||||||
|
(['South Pass To Lake Hylia Clip', 'South Pass To Ice Lake Clip'], ['South Pass Area', 'Dark South Pass Area'], ['Lake Hylia Area', 'Ice Lake Area']),
|
||||||
|
(['South Pass To Shore Clip', 'South Pass To Dark Shore Clip'], ['South Pass Area', 'Dark South Pass Area'], ['Lake Hylia South Shore', 'Ice Lake Ledge (West)']),
|
||||||
|
#(['Octoballoon To Shore Clip', 'Bomber Corner To Shore Clip'], ['Octoballoon Area', 'Bomber Corner Area'], ['Lake Hylia South Shore', 'Ice Lake Ledge (East)']), #map wrap hardlock risk
|
||||||
|
|
||||||
|
(['HC Water To Blacksmith Clip', 'Pyramid Water To Hammerpegs Clip'], ['Hyrule Castle Water', 'Pyramid Water'], ['Blacksmith Area', 'Hammer Pegs Area']), #TODO: THIS IS NOT A BOOTS CLIP, this is a normal connection that needs to occur somewhere
|
||||||
|
([None, 'Pyramid Water To Bomb Shop Clip'], [None, 'Pyramid Water'], ['Links House Area', 'Big Bomb Shop Area']) #TODO: THIS IS NOT A BOOTS CLIP, this is a normal connection that needs to occur somewhere
|
||||||
|
]
|
||||||
|
|
||||||
|
mirror_clips_local = [
|
||||||
|
('Desert East Mirror Clip', 'Misery Mire Area', 'Desert Palace Mouth'),
|
||||||
|
('EDDM Mirror Clip', 'East Dark Death Mountain (Bottom Left)', 'East Dark Death Mountain (Bottom)'),
|
||||||
|
('EDDM Mirror Clip', 'East Dark Death Mountain (Top)', 'Dark Death Mountain Ledge')
|
||||||
|
]
|
||||||
|
|
||||||
|
mirror_clips = [
|
||||||
|
([None, 'Qirn Jump Bunny DMD Clip'], [None, 'East Dark Death Mountain (Bottom Left)'], ['River Bend Area', 'Qirn Jump Area'])
|
||||||
|
]
|
||||||
|
|
||||||
|
mirror_offsets = [
|
||||||
|
(['DM Offset Mirror', 'DDM Offset Mirror'], ['West Death Mountain (Bottom)', 'West Dark Death Mountain (Bottom)'], ['Hyrule Castle Courtyard', 'Pyramid Area'], ['Pyramid Area', 'Hyrule Castle Courtyard']),
|
||||||
|
(['DM To HC Ledge Offset Mirror', 'DDM To HC Ledge Offset Mirror'], ['West Death Mountain (Bottom)', 'West Dark Death Mountain (Bottom)'], ['Hyrule Castle Ledge', None], ['Pyramid Area', None])
|
||||||
|
]
|
||||||
@@ -1340,58 +1340,15 @@ mandatory_connections = [# Intra-tile OW Connections
|
|||||||
('Bomber Corner Waterfall Water Drop', 'Bomber Corner Water'), #flippers
|
('Bomber Corner Waterfall Water Drop', 'Bomber Corner Water'), #flippers
|
||||||
('Bomber Corner Pier', 'Bomber Corner Area'),
|
('Bomber Corner Pier', 'Bomber Corner Area'),
|
||||||
|
|
||||||
# OWG Connections
|
# OWG In-Bounds 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'),
|
|
||||||
('Stone Bridge EC Cliff Water Drop', 'Stone Bridge Water'), #fake flipper
|
('Stone Bridge EC Cliff Water Drop', 'Stone Bridge Water'), #fake flipper
|
||||||
('Tree Line WC Cliff Water Drop', 'Tree Line 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'),
|
|
||||||
|
|
||||||
('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
|
('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 = [
|
default_whirlpool_connections = [
|
||||||
((0x33, 'C Whirlpool', 'C Whirlpool Water'), (0x15, 'River Bend Whirlpool', 'River Bend Water')),
|
((0x33, 'C Whirlpool', 'C Whirlpool Water'), (0x15, 'River Bend Whirlpool', 'River Bend Water')),
|
||||||
@@ -1594,9 +1551,13 @@ ow_connections = {
|
|||||||
('Broken Bridge Northeast Mirror Spot', 'Broken Bridge Northeast')
|
('Broken Bridge Northeast Mirror Spot', 'Broken Bridge Northeast')
|
||||||
]),
|
]),
|
||||||
0x1e: ([
|
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: ([
|
0x22: ([
|
||||||
('Blacksmith Mirror Spot', 'Blacksmith Area'),
|
('Blacksmith Mirror Spot', 'Blacksmith Area'),
|
||||||
@@ -1607,9 +1568,13 @@ ow_connections = {
|
|||||||
('Hammer Pegs Entry Mirror Spot', 'Hammer Pegs Entry')
|
('Hammer Pegs Entry Mirror Spot', 'Hammer Pegs Entry')
|
||||||
]),
|
]),
|
||||||
0x25: ([
|
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: ([
|
0x28: ([
|
||||||
('Maze Race Mirror Spot', 'Maze Race Ledge'),
|
('Maze Race Mirror Spot', 'Maze Race Ledge'),
|
||||||
@@ -1620,11 +1585,15 @@ ow_connections = {
|
|||||||
]),
|
]),
|
||||||
0x29: ([
|
0x29: ([
|
||||||
('Kakariko Suburb Mirror Spot', 'Kakariko Suburb Area'),
|
('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 Mirror Spot', 'Frog Area'),
|
||||||
('Frog Prison Mirror Spot', 'Frog Prison'),
|
('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: ([
|
0x2a: ([
|
||||||
('Flute Boy Mirror Spot', 'Flute Boy Area'),
|
('Flute Boy Mirror Spot', 'Flute Boy Area'),
|
||||||
@@ -1634,28 +1603,48 @@ ow_connections = {
|
|||||||
('Stumpy Pass Mirror Spot', 'Stumpy Pass')
|
('Stumpy Pass Mirror Spot', 'Stumpy Pass')
|
||||||
]),
|
]),
|
||||||
0x2b: ([
|
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: ([
|
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: ([
|
0x2d: ([
|
||||||
('Stone Bridge Mirror Spot', 'Stone Bridge Area'),
|
('Stone Bridge Mirror Spot', 'Stone Bridge Area'),
|
||||||
('Stone Bridge South 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 North Mirror Spot', 'Hammer Bridge North Area'),
|
||||||
('Hammer Bridge South Mirror Spot', 'Hammer Bridge South 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: ([
|
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: ([
|
0x2f: ([
|
||||||
('Eastern Nook Mirror Spot', 'Eastern Nook Area'),
|
('Eastern Nook Mirror Spot', 'Eastern Nook Area'),
|
||||||
@@ -1671,7 +1660,10 @@ ow_connections = {
|
|||||||
('DP Stairs Mirror Spot', 'Desert Palace Stairs'),
|
('DP Stairs Mirror Spot', 'Desert Palace Stairs'),
|
||||||
('DP Entrance (North) Mirror Spot', 'Desert Palace Entrance (North) Spot'),
|
('DP Entrance (North) Mirror Spot', 'Desert Palace Entrance (North) Spot'),
|
||||||
('Bombos Tablet Ledge Mirror Spot', 'Bombos Tablet Ledge'),
|
('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 Approach', 'Desert Checkerboard Ledge'),
|
||||||
('Checkerboard Ledge Leave', 'Desert Area'),
|
('Checkerboard Ledge Leave', 'Desert Area'),
|
||||||
@@ -1679,32 +1671,56 @@ ow_connections = {
|
|||||||
('Misery Mire Ledge Mirror Spot', 'Misery Mire Area'),
|
('Misery Mire Ledge Mirror Spot', 'Misery Mire Area'),
|
||||||
('Misery Mire Blocked Mirror Spot', 'Misery Mire Area'),
|
('Misery Mire Blocked Mirror Spot', 'Misery Mire Area'),
|
||||||
('Misery Mire Main 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: ([
|
0x32: ([
|
||||||
('Cave 45 Ledge Drop', 'Flute Boy Approach Area'),
|
('Cave 45 Ledge Drop', 'Flute Boy Approach Area'),
|
||||||
('Flute Boy Entry Mirror Spot', 'Flute Boy Bush Entry'),
|
('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 Leave', 'Flute Boy Approach Area'),
|
||||||
('Cave 45 Inverted Approach', 'Cave 45 Ledge'),
|
('Cave 45 Inverted Approach', 'Cave 45 Ledge'),
|
||||||
('Stumpy Approach Mirror Spot', 'Stumpy Approach Area'),
|
('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: ([
|
0x33: ([
|
||||||
('C Whirlpool Mirror Spot', 'C Whirlpool Area'),
|
('C Whirlpool Mirror Spot', 'C Whirlpool Area'),
|
||||||
('C Whirlpool Outer Mirror Spot', 'C Whirlpool Outer Area'),
|
('C Whirlpool Outer Mirror Spot', 'C Whirlpool Outer Area'),
|
||||||
('South Hyrule Teleporter', 'Dark C Whirlpool Area')
|
('South Hyrule Teleporter', 'Dark C Whirlpool Area'),
|
||||||
|
('South Teleporter Cliff Ledge Drop', 'Dark Central Cliffs'), # OWG only, needs glove
|
||||||
|
('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 Mirror Spot', 'Dark C Whirlpool Area'),
|
||||||
('Dark C Whirlpool Outer Mirror Spot', 'Dark C Whirlpool Outer Area'),
|
('Dark C Whirlpool Outer Mirror Spot', 'Dark C Whirlpool Outer Area'),
|
||||||
('South Dark World Teleporter', 'C Whirlpool Area'),
|
('South Dark World Teleporter', 'C Whirlpool Area'),
|
||||||
('Dark South Teleporter Cliff Ledge Drop', 'Central Cliffs') #OWG only, needs glove
|
('Dark South Teleporter Cliff Ledge Drop', 'Central Cliffs'), # OWG, needs glove/pearl
|
||||||
|
('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: ([
|
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: ([
|
0x35: ([
|
||||||
('Lake Hylia Mirror Spot', 'Lake Hylia Area'),
|
('Lake Hylia Mirror Spot', 'Lake Hylia Area'),
|
||||||
@@ -1715,7 +1731,12 @@ ow_connections = {
|
|||||||
('Lake Hylia Central Island Mirror Spot', 'Lake Hylia Central Island'),
|
('Lake Hylia Central Island Mirror Spot', 'Lake Hylia Central Island'),
|
||||||
('Lake Hylia Water Mirror Spot', 'Lake Hylia Water'),
|
('Lake Hylia Water Mirror Spot', 'Lake Hylia Water'),
|
||||||
('Lake Hylia Water D Mirror Spot', 'Lake Hylia Water D'),
|
('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'),
|
('Lake Hylia Island Pier', 'Lake Hylia Island'),
|
||||||
('Ice Lake Mirror Spot', 'Ice Lake Area'),
|
('Ice Lake Mirror Spot', 'Ice Lake Area'),
|
||||||
@@ -1724,7 +1745,11 @@ ow_connections = {
|
|||||||
('Ice Lake Northeast Mirror Spot', 'Ice Lake Northeast Bank'),
|
('Ice Lake Northeast Mirror Spot', 'Ice Lake Northeast Bank'),
|
||||||
('Ice Palace Mirror Spot', 'Ice Palace Area'),
|
('Ice Palace Mirror Spot', 'Ice Palace Area'),
|
||||||
('Ice Lake Moat Mirror Spot', 'Ice Lake Moat'),
|
('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: ([
|
0x37: ([
|
||||||
('Ice Cave Mirror Spot', 'Ice Cave Area')
|
('Ice Cave Mirror Spot', 'Ice Cave Area')
|
||||||
@@ -1733,18 +1758,26 @@ ow_connections = {
|
|||||||
]),
|
]),
|
||||||
0x3a: ([
|
0x3a: ([
|
||||||
('Desert Pass Ledge Mirror Spot', 'Desert Pass Ledge'),
|
('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 (North)', 'Desert Pass Area'),
|
||||||
('Desert Pass Ladder (South)', 'Desert Pass Ledge'),
|
('Desert Pass Ladder (South)', 'Desert Pass Ledge'),
|
||||||
('Swamp Nook Mirror Spot', 'Swamp Nook Area'),
|
('Swamp Nook Mirror Spot', 'Swamp Nook Area'),
|
||||||
('Swamp Nook Southeast 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: ([
|
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: ([
|
0x3c: ([
|
||||||
('South Pass Mirror Spot', 'South Pass Area')
|
('South Pass Mirror Spot', 'South Pass Area')
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ def create_regions(world, player):
|
|||||||
create_lw_region(player, 'Hyrule Castle Courtyard Northeast', None, ['Hyrule Castle Courtyard Bush (North)', 'Hyrule Castle Secret Entrance Stairs', 'Pyramid Uncle Mirror Spot']),
|
create_lw_region(player, 'Hyrule Castle Courtyard Northeast', None, ['Hyrule Castle Courtyard Bush (North)', 'Hyrule Castle Secret Entrance Stairs', 'Pyramid Uncle Mirror Spot']),
|
||||||
create_lw_region(player, 'Hyrule Castle Ledge', None, ['Hyrule Castle Ledge Drop', 'Hyrule Castle Ledge Courtyard Drop', 'Inverted Pyramid Entrance', 'Hyrule Castle Entrance (West)', 'Agahnims Tower', 'Hyrule Castle Entrance (East)', 'Inverted Pyramid Hole', 'Pyramid From Ledge Mirror Spot'], 'the castle rampart'),
|
create_lw_region(player, 'Hyrule Castle Ledge', None, ['Hyrule Castle Ledge Drop', 'Hyrule Castle Ledge Courtyard Drop', 'Inverted Pyramid Entrance', 'Hyrule Castle Entrance (West)', 'Agahnims Tower', 'Hyrule Castle Entrance (East)', 'Inverted Pyramid Hole', 'Pyramid From Ledge Mirror Spot'], 'the castle rampart'),
|
||||||
create_lw_region(player, 'Hyrule Castle East Entry', None, ['Hyrule Castle Outer East Rock', 'Pyramid Entry Mirror Spot', 'Hyrule Castle ES']),
|
create_lw_region(player, 'Hyrule Castle East Entry', None, ['Hyrule Castle Outer East Rock', 'Pyramid Entry Mirror Spot', 'Hyrule Castle ES']),
|
||||||
|
create_dw_region(player, 'Hyrule Castle Water', None, ['Blacksmith Water Exit'], 'Dark World', Terrain.Water),
|
||||||
create_lw_region(player, 'Wooden Bridge Area', None, ['Wooden Bridge Bush (South)', 'Wooden Bridge Water Drop', 'Broken Bridge West Mirror Spot', 'Broken Bridge East Mirror Spot', 'Wooden Bridge NW', 'Wooden Bridge SW']),
|
create_lw_region(player, 'Wooden Bridge Area', None, ['Wooden Bridge Bush (South)', 'Wooden Bridge Water Drop', 'Broken Bridge West Mirror Spot', 'Broken Bridge East Mirror Spot', 'Wooden Bridge NW', 'Wooden Bridge SW']),
|
||||||
create_lw_region(player, 'Wooden Bridge Northeast', None, ['Wooden Bridge Bush (North)', 'Wooden Bridge Northeast Water Drop', 'Broken Bridge Northeast Mirror Spot', 'Wooden Bridge NE']),
|
create_lw_region(player, 'Wooden Bridge Northeast', None, ['Wooden Bridge Bush (North)', 'Wooden Bridge Northeast Water Drop', 'Broken Bridge Northeast Mirror Spot', 'Wooden Bridge NE']),
|
||||||
create_lw_region(player, 'Wooden Bridge Water', None, ['Wooden Bridge NC'], 'Light World', Terrain.Water),
|
create_lw_region(player, 'Wooden Bridge Water', None, ['Wooden Bridge NC'], 'Light World', Terrain.Water),
|
||||||
@@ -97,7 +98,7 @@ def create_regions(world, player):
|
|||||||
create_lw_region(player, 'Desert Palace Stairs', None, ['Desert Palace Entrance (South)', 'Misery Mire Main Mirror Spot'], 'a sandy vista'),
|
create_lw_region(player, 'Desert Palace Stairs', None, ['Desert Palace Entrance (South)', 'Misery Mire Main Mirror Spot'], 'a sandy vista'),
|
||||||
create_lw_region(player, 'Desert Palace Mouth', None, ['Desert Mouth Drop', 'Desert Palace Entrance (East)']),
|
create_lw_region(player, 'Desert Palace Mouth', None, ['Desert Mouth Drop', 'Desert Palace Entrance (East)']),
|
||||||
create_lw_region(player, 'Desert Palace Teleporter Ledge', None, ['Desert Teleporter Drop', 'Desert Teleporter']),
|
create_lw_region(player, 'Desert Palace Teleporter Ledge', None, ['Desert Teleporter Drop', 'Desert Teleporter']),
|
||||||
create_lw_region(player, 'Desert Northeast Cliffs', None, ['Desert Boss Cliff Ledge Drop', 'Checkerboard Cliff Ledge Drop', 'Suburb Cliff Ledge Drop', 'Cave 45 Cliff Ledge Drop', 'Desert C Whirlpool Cliff Ledge Drop', 'Desert Pass Cliff Ledge Drop', 'Desert Pass Southeast Cliff Ledge Drop', 'Dam Cliff Ledge Drop']),
|
create_lw_region(player, 'Desert Northeast Cliffs', None, ['Desert Boss Cliff Ledge Drop', 'Checkerboard Cliff Ledge Drop', 'Suburb Cliff Ledge Drop', 'Cave 45 Cliff Ledge Drop', 'Desert C Whirlpool Cliff Ledge Drop', 'Desert Pass Cliff Ledge Drop', 'Dam Cliff Ledge Drop']),
|
||||||
create_lw_region(player, 'Bombos Tablet Ledge', ['Bombos Tablet'], ['Bombos Tablet Drop', 'Desert EC']),
|
create_lw_region(player, 'Bombos Tablet Ledge', ['Bombos Tablet'], ['Bombos Tablet Drop', 'Desert EC']),
|
||||||
create_lw_region(player, 'Flute Boy Approach Area', None, ['Flute Boy Bush (South)', 'Cave 45 Inverted Approach', 'Stumpy Approach Mirror Spot', 'Flute Boy Approach NW', 'Flute Boy Approach EC']),
|
create_lw_region(player, 'Flute Boy Approach Area', None, ['Flute Boy Bush (South)', 'Cave 45 Inverted Approach', 'Stumpy Approach Mirror Spot', 'Flute Boy Approach NW', 'Flute Boy Approach EC']),
|
||||||
create_lw_region(player, 'Flute Boy Bush Entry', None, ['Flute Boy Bush (North)', 'Stumpy Bush Entry Mirror Spot', 'Flute Boy Approach NC']),
|
create_lw_region(player, 'Flute Boy Bush Entry', None, ['Flute Boy Bush (North)', 'Stumpy Bush Entry Mirror Spot', 'Flute Boy Approach NC']),
|
||||||
@@ -173,6 +174,7 @@ def create_regions(world, player):
|
|||||||
create_dw_region(player, 'Pyramid Crack', ['Pyramid Crack'], None),
|
create_dw_region(player, 'Pyramid Crack', ['Pyramid Crack'], None),
|
||||||
create_dw_region(player, 'Pyramid Exit Ledge', None, ['Pyramid Exit Ledge Drop', 'HC Courtyard Left Mirror Spot', 'Pyramid Entrance']),
|
create_dw_region(player, 'Pyramid Exit Ledge', None, ['Pyramid Exit Ledge Drop', 'HC Courtyard Left Mirror Spot', 'Pyramid Entrance']),
|
||||||
create_dw_region(player, 'Pyramid Pass', None, ['Post Aga Inverted Teleporter', 'HC Area South Mirror Spot', 'Pyramid SW', 'Pyramid SE']),
|
create_dw_region(player, 'Pyramid Pass', None, ['Post Aga Inverted Teleporter', 'HC Area South Mirror Spot', 'Pyramid SW', 'Pyramid SE']),
|
||||||
|
create_dw_region(player, 'Pyramid Water', None, ['Hammerpegs Water Exit', 'Big Bomb Shop Water Exit'], 'Dark World', Terrain.Water),
|
||||||
create_dw_region(player, 'Broken Bridge Area', None, ['Broken Bridge Hammer Rock (South)', 'Broken Bridge Water Drop', 'Wooden Bridge Mirror Spot', 'Broken Bridge SW']),
|
create_dw_region(player, 'Broken Bridge Area', None, ['Broken Bridge Hammer Rock (South)', 'Broken Bridge Water Drop', 'Wooden Bridge Mirror Spot', 'Broken Bridge SW']),
|
||||||
create_dw_region(player, 'Broken Bridge Northeast', None, ['Broken Bridge Hammer Rock (North)', 'Broken Bridge Hookshot Gap', 'Broken Bridge Northeast Water Drop', 'Wooden Bridge Northeast Mirror Spot', 'Broken Bridge NE']),
|
create_dw_region(player, 'Broken Bridge Northeast', None, ['Broken Bridge Hammer Rock (North)', 'Broken Bridge Hookshot Gap', 'Broken Bridge Northeast Water Drop', 'Wooden Bridge Northeast Mirror Spot', 'Broken Bridge NE']),
|
||||||
create_dw_region(player, 'Broken Bridge West', None, ['Broken Bridge West Water Drop', 'Wooden Bridge West Mirror Spot', 'Broken Bridge NW']),
|
create_dw_region(player, 'Broken Bridge West', None, ['Broken Bridge West Water Drop', 'Wooden Bridge West Mirror Spot', 'Broken Bridge NW']),
|
||||||
@@ -201,7 +203,7 @@ def create_regions(world, player):
|
|||||||
create_dw_region(player, 'Palace of Darkness Nook Area', None, ['East Dark World Hint', 'East Dark World Teleporter', 'Eastern Nook Mirror Spot', 'Palace of Darkness Nook NE']),
|
create_dw_region(player, 'Palace of Darkness Nook Area', None, ['East Dark World Hint', 'East Dark World Teleporter', 'Eastern Nook Mirror Spot', 'Palace of Darkness Nook NE']),
|
||||||
create_dw_region(player, 'Misery Mire Area', None, ['Mire Shed', 'Misery Mire', 'Dark Desert Fairy', 'Dark Desert Hint', 'Desert Mirror Spot', 'Desert Ledge Mirror Spot', 'Checkerboard Mirror Spot', 'DP Stairs Mirror Spot', 'DP Entrance (North) Mirror Spot']),
|
create_dw_region(player, 'Misery Mire Area', None, ['Mire Shed', 'Misery Mire', 'Dark Desert Fairy', 'Dark Desert Hint', 'Desert Mirror Spot', 'Desert Ledge Mirror Spot', 'Checkerboard Mirror Spot', 'DP Stairs Mirror Spot', 'DP Entrance (North) Mirror Spot']),
|
||||||
create_dw_region(player, 'Misery Mire Teleporter Ledge', None, ['Misery Mire Teleporter Ledge Drop', 'Misery Mire Teleporter']),
|
create_dw_region(player, 'Misery Mire Teleporter Ledge', None, ['Misery Mire Teleporter Ledge Drop', 'Misery Mire Teleporter']),
|
||||||
create_dw_region(player, 'Mire Northeast Cliffs', None, ['Mire Cliff Ledge Drop', 'Archery Game Cliff Ledge Drop', 'Stumpy Approach Cliff Ledge Drop', 'Mire C Whirlpool Cliff Ledge Drop', 'Swamp Nook Cliff Ledge Drop', 'Swamp Cliff Ledge Drop', 'Bombos Tablet Ledge Mirror Spot']),
|
create_dw_region(player, 'Mire Northeast Cliffs', None, ['Mire Cliff Ledge Drop', 'Dark Checkerboard Cliff Ledge Drop', 'Archery Game Cliff Ledge Drop', 'Stumpy Approach Cliff Ledge Drop', 'Mire C Whirlpool Cliff Ledge Drop', 'Swamp Nook Cliff Ledge Drop', 'Swamp Cliff Ledge Drop', 'Bombos Tablet Ledge Mirror Spot']),
|
||||||
create_dw_region(player, 'Stumpy Approach Area', None, ['Stumpy Approach Bush (South)', 'Cave 45 Mirror Spot', 'Stumpy Approach NW', 'Stumpy Approach EC']),
|
create_dw_region(player, 'Stumpy Approach Area', None, ['Stumpy Approach Bush (South)', 'Cave 45 Mirror Spot', 'Stumpy Approach NW', 'Stumpy Approach EC']),
|
||||||
create_dw_region(player, 'Stumpy Approach Bush Entry', None, ['Stumpy Approach Bush (North)', 'Flute Boy Entry Mirror Spot', 'Stumpy Approach NC']),
|
create_dw_region(player, 'Stumpy Approach Bush Entry', None, ['Stumpy Approach Bush (North)', 'Flute Boy Entry Mirror Spot', 'Stumpy Approach NC']),
|
||||||
create_dw_region(player, 'Dark C Whirlpool Area', None, ['Dark C Whirlpool Rock (Bottom)', 'South Dark World Teleporter', 'C Whirlpool Mirror Spot', 'Dark C Whirlpool Water Entry', 'Dark C Whirlpool EN', 'Dark C Whirlpool ES', 'Dark C Whirlpool SC']),
|
create_dw_region(player, 'Dark C Whirlpool Area', None, ['Dark C Whirlpool Rock (Bottom)', 'South Dark World Teleporter', 'C Whirlpool Mirror Spot', 'Dark C Whirlpool Water Entry', 'Dark C Whirlpool EN', 'Dark C Whirlpool ES', 'Dark C Whirlpool SC']),
|
||||||
|
|||||||
Reference in New Issue
Block a user