Split overworld model up by screen

This commit is contained in:
codemann8
2023-06-12 14:50:33 -05:00
committed by aerinon
parent 2c3e47d2f6
commit 0b7b82d027
21 changed files with 1678 additions and 816 deletions

View File

@@ -75,7 +75,7 @@ def create_district_helper(world, player):
'Fortune Teller (Dark)', 'Dark World Shop', 'Dark Lumberjack Shop',
'Skull Woods First Section Hole (West)', 'Skull Woods First Section Hole (East)',
'Skull Woods First Section Hole (North)', 'Skull Woods Second Section Hole']
mire_entrances = ['Misery Mire', 'Mire Shed', 'Dark Desert Hint', 'Dark Desert Fairy']
mire_entrances = ['Misery Mire', 'Mire Shed', 'Mire Hint', 'Mire Fairy']
ddm_entrances = ['Turtle Rock', 'Dark Death Mountain Ledge (West)', 'Dark Death Mountain Ledge (East)',
'Turtle Rock Isolated Ledge Entrance', 'Superbunny Cave (Top)', 'Superbunny Cave (Bottom)',
'Hookshot Cave', 'Hookshot Cave Back Entrance', 'Ganons Tower', 'Spike Cave',
@@ -150,10 +150,10 @@ def find_reachable_locations(state, player):
return check_set
inaccessible_regions_std = {'Desert Palace Mouth', 'Bumper Cave Ledge', 'Skull Woods Forest (West)',
inaccessible_regions_std = {'Desert Mouth', 'Bumper Cave Ledge', 'Skull Woods Forest (West)',
'Dark Death Mountain Ledge', 'Dark Death Mountain Isolated Ledge',
'Dark Death Mountain Floating Island'}
inaccessible_regions_inv = {'Desert Palace Mouth', 'Maze Race Ledge', 'Desert Ledge',
'Desert Palace Entrance (North) Spot', 'Hyrule Castle Ledge', 'Death Mountain Return Ledge'}
inaccessible_regions_inv = {'Desert Mouth', 'Maze Race Ledge', 'Desert Ledge',
'Desert Ledge Keep', 'Hyrule Castle Ledge', 'Mountain Pass Ledge'}

View File

@@ -77,12 +77,6 @@ def link_entrances_new(world, player):
# setup mandatory connections
for exit_name, region_name in mandatory_connections:
connect_simple(world, exit_name, region_name, player)
if not avail_pool.inverted:
for exit_name, region_name in open_mandatory_connections:
connect_simple(world, exit_name, region_name, player)
else:
for exit_name, region_name in inverted_mandatory_connections:
connect_simple(world, exit_name, region_name, player)
connect_custom(avail_pool, world, player)
@@ -1435,7 +1429,7 @@ modes = {
'fixed_non_items': {
'special': 'vanilla',
'condition': '',
'entrances': ['Dark Death Mountain Fairy', 'Dark Desert Fairy', 'Archery Game',
'entrances': ['Dark Death Mountain Fairy', 'Mire Fairy', 'Archery Game',
'Fortune Teller (Dark)', 'Dark Sanctuary Hint', 'Bonk Fairy (Dark)',
'Dark Lake Hylia Ledge Hint', 'Dark Lake Hylia Ledge Fairy', 'Dark Lake Hylia Fairy',
'Dark Lake Hylia Shop', 'East Dark World Hint', 'Kakariko Gamble Game', 'Good Bee Cave',
@@ -1456,7 +1450,7 @@ modes = {
'entrances': ['Lumberjack House', 'Snitch Lady (West)', 'Snitch Lady (East)', 'Tavern (Front)',
'Light World Bomb Hut', '20 Rupee Cave', '50 Rupee Cave', 'Hookshot Fairy',
'Palace of Darkness Hint', 'Dark Lake Hylia Ledge Spike Cave',
'Dark Desert Hint']
'Mire Hint']
},
'item_caves': { # shuffles shops/pottery if they weren't fixed in the last steps
@@ -1471,7 +1465,7 @@ modes = {
'Lumberjack House', 'Snitch Lady (West)', 'Snitch Lady (East)', 'Tavern (Front)',
'Light World Bomb Hut', '20 Rupee Cave', '50 Rupee Cave', 'Hookshot Fairy',
'Palace of Darkness Hint', 'Dark Lake Hylia Ledge Spike Cave',
'Dark Desert Hint',
'Mire Hint',
'Links House', 'Tavern North']
},
'old_man_cave': { # have to do old man cave first so lw dungeon don't use up everything
@@ -1511,7 +1505,7 @@ modes = {
'fixed_non_items': {
'special': 'vanilla',
'condition': '',
'entrances': ['Dark Death Mountain Fairy', 'Dark Desert Fairy', 'Archery Game',
'entrances': ['Dark Death Mountain Fairy', 'Mire Fairy', 'Archery Game',
'Fortune Teller (Dark)', 'Dark Sanctuary Hint', 'Bonk Fairy (Dark)',
'Dark Lake Hylia Ledge Hint', 'Dark Lake Hylia Ledge Fairy', 'Dark Lake Hylia Fairy',
'Dark Lake Hylia Shop', 'East Dark World Hint', 'Kakariko Gamble Game', 'Good Bee Cave',
@@ -1532,7 +1526,7 @@ modes = {
'entrances': ['Lumberjack House', 'Snitch Lady (West)', 'Snitch Lady (East)', 'Tavern (Front)',
'Light World Bomb Hut', '20 Rupee Cave', '50 Rupee Cave', 'Hookshot Fairy',
'Palace of Darkness Hint', 'Dark Lake Hylia Ledge Spike Cave',
'Dark Desert Hint']
'Mire Hint']
},
'item_caves': { # shuffles shops/pottery if they weren't fixed in the last steps
@@ -1547,7 +1541,7 @@ modes = {
'Lumberjack House', 'Snitch Lady (West)', 'Snitch Lady (East)', 'Tavern (Front)',
'Light World Bomb Hut', '20 Rupee Cave', '50 Rupee Cave', 'Hookshot Fairy',
'Palace of Darkness Hint', 'Dark Lake Hylia Ledge Spike Cave',
'Dark Desert Hint',
'Mire Hint',
'Links House', 'Tavern North'] # inverted links house gets substituted
}
}
@@ -1836,7 +1830,7 @@ entrance_map = {
single_entrance_map = {
'Mimic Cave': 'Mimic Cave', 'Dark Death Mountain Fairy': 'Dark Death Mountain Healer Fairy',
'Dark Death Mountain Shop': 'Dark Death Mountain Shop', 'Spike Cave': 'Spike Cave',
'Dark Desert Fairy': 'Dark Desert Healer Fairy', 'Dark Desert Hint': 'Dark Desert Hint', 'Mire Shed': 'Mire Shed',
'Mire Fairy': 'Mire Healer Fairy', 'Mire Hint': 'Mire Hint', 'Mire Shed': 'Mire Shed',
'Archery Game': 'Archery Game', 'Dark Potion Shop': 'Dark Potion Shop',
'Dark Lumberjack Shop': 'Dark Lumberjack Shop', 'Dark World Shop': 'Village of Outcasts Shop',
'Fortune Teller (Dark)': 'Fortune Teller (Dark)', 'Dark Sanctuary Hint': 'Dark Sanctuary Hint',
@@ -1876,12 +1870,12 @@ default_dw = {
'Turtle Rock Ledge Exit (East)', 'Turtle Rock Isolated Ledge Exit', 'Bumper Cave Exit (Top)',
'Bumper Cave Exit (Bottom)', 'Superbunny Cave Exit (Top)', 'Superbunny Cave Exit (Bottom)',
'Hookshot Cave Front Exit', 'Hookshot Cave Back Exit', 'Ganons Tower Exit', 'Pyramid Exit', 'Bonk Fairy (Dark)',
'Dark Lake Hylia Healer Fairy', 'Dark Lake Hylia Ledge Healer Fairy', 'Dark Desert Healer Fairy',
'Dark Lake Hylia Healer Fairy', 'Dark Lake Hylia Ledge Healer Fairy', 'Mire Healer Fairy',
'Dark Death Mountain Healer Fairy', 'Dark Death Mountain Shop', 'Pyramid Fairy', 'East Dark World Hint',
'Palace of Darkness Hint', 'Village of Outcasts Shop', 'Dark Lake Hylia Shop',
'Dark Lumberjack Shop', 'Dark Potion Shop', 'Dark Lake Hylia Ledge Spike Cave',
'Dark Lake Hylia Ledge Hint', 'Hype Cave', 'Brewery', 'C-Shaped House', 'Chest Game', 'Hammer Peg Cave',
'Red Shield Shop', 'Dark Sanctuary Hint', 'Fortune Teller (Dark)', 'Archery Game', 'Mire Shed', 'Dark Desert Hint',
'Red Shield Shop', 'Dark Sanctuary Hint', 'Fortune Teller (Dark)', 'Archery Game', 'Mire Shed', 'Mire Hint',
'Spike Cave', 'Skull Back Drop', 'Skull Left Drop', 'Skull Pinball', 'Skull Pot Circle', 'Pyramid'
}
@@ -1934,10 +1928,10 @@ DW_Entrances = ['Bumper Cave (Bottom)', 'Superbunny Cave (Top)', 'Superbunny Ca
'Turtle Rock Isolated Ledge Entrance', 'Bumper Cave (Top)', 'Hookshot Cave Back Entrance',
'Bonk Fairy (Dark)', 'Dark Sanctuary Hint', 'Dark Lake Hylia Fairy', 'C-Shaped House', 'Big Bomb Shop',
'Dark Death Mountain Fairy', 'Dark Lake Hylia Shop', 'Dark World Shop', 'Red Shield Shop', 'Mire Shed',
'East Dark World Hint', 'Dark Desert Hint', 'Spike Cave', 'Palace of Darkness Hint',
'East Dark World Hint', 'Mire Hint', 'Spike Cave', 'Palace of Darkness Hint',
'Dark Lake Hylia Ledge Spike Cave', 'Dark Death Mountain Shop', 'Dark Potion Shop',
'Pyramid Fairy', 'Archery Game', 'Dark Lumberjack Shop', 'Hype Cave', 'Brewery',
'Dark Lake Hylia Ledge Hint', 'Chest Game', 'Dark Desert Fairy', 'Dark Lake Hylia Ledge Fairy',
'Dark Lake Hylia Ledge Hint', 'Chest Game', 'Mire Fairy', 'Dark Lake Hylia Ledge Fairy',
'Fortune Teller (Dark)', 'Hammer Peg Cave', 'Pyramid Entrance',
'Skull Woods First Section Door', 'Skull Woods Second Section Door (East)',
'Skull Woods Second Section Door (West)', 'Ganons Tower']
@@ -2071,8 +2065,8 @@ Bomb_Shop_Options = [
'Dark Lake Hylia Fairy', 'Dark Lake Hylia Ledge Fairy', 'Dark Lake Hylia Ledge Spike Cave',
'Dark Lake Hylia Ledge Hint', 'Hype Cave', 'Bonk Fairy (Dark)', 'Brewery', 'C-Shaped House', 'Chest Game',
'Hammer Peg Cave', 'Red Shield Shop', 'Dark Sanctuary Hint', 'Fortune Teller (Dark)', 'Dark World Shop',
'Dark Lumberjack Shop', 'Dark Potion Shop', 'Archery Game', 'Mire Shed', 'Dark Desert Hint',
'Dark Desert Fairy', 'Spike Cave', 'Dark Death Mountain Shop', 'Dark Death Mountain Fairy', 'Mimic Cave',
'Dark Lumberjack Shop', 'Dark Potion Shop', 'Archery Game', 'Mire Shed', 'Mire Hint',
'Mire Fairy', 'Spike Cave', 'Dark Death Mountain Shop', 'Dark Death Mountain Fairy', 'Mimic Cave',
'Big Bomb Shop', 'Dark Lake Hylia Shop', 'Bumper Cave (Top)', 'Links House',
'Hyrule Castle Entrance (South)', 'Misery Mire', 'Thieves Town', 'Bumper Cave (Bottom)', 'Swamp Palace',
'Hyrule Castle Secret Entrance Stairs', 'Skull Woods First Section Door', 'Skull Woods Second Section Door (East)',
@@ -2093,8 +2087,8 @@ Inverted_Bomb_Shop_Options = [
'Dark Lake Hylia Fairy', 'Dark Lake Hylia Ledge Fairy', 'Dark Lake Hylia Ledge Spike Cave',
'Dark Lake Hylia Ledge Hint', 'Hype Cave', 'Bonk Fairy (Dark)', 'Brewery', 'C-Shaped House', 'Chest Game',
'Hammer Peg Cave', 'Red Shield Shop', 'Fortune Teller (Dark)', 'Dark World Shop',
'Dark Lumberjack Shop', 'Dark Potion Shop', 'Archery Game', 'Mire Shed', 'Dark Desert Hint',
'Dark Desert Fairy', 'Spike Cave', 'Dark Death Mountain Shop', 'Dark Death Mountain Fairy', 'Mimic Cave',
'Dark Lumberjack Shop', 'Dark Potion Shop', 'Archery Game', 'Mire Shed', 'Mire Hint',
'Mire Fairy', 'Spike Cave', 'Dark Death Mountain Shop', 'Dark Death Mountain Fairy', 'Mimic Cave',
'Dark Lake Hylia Shop', 'Bumper Cave (Top)',
'Hyrule Castle Entrance (South)', 'Misery Mire', 'Thieves Town', 'Bumper Cave (Bottom)', 'Swamp Palace',
'Hyrule Castle Secret Entrance Stairs', 'Skull Woods First Section Door', 'Skull Woods Second Section Door (East)',
@@ -2114,9 +2108,7 @@ Forbidden_Swap_Entrances = {'Old Man Cave (East)', 'Blacksmiths Hut', 'Big Bomb
# these are connections that cannot be shuffled and always exist.
# They link together separate parts of the world we need to divide into regions
mandatory_connections = [('Links House S&Q', 'Links House'),
# underworld
mandatory_connections = [# underworld
('Lost Woods Hideout (top to bottom)', 'Lost Woods Hideout (bottom)'),
('Lumberjack Tree (top to bottom)', 'Lumberjack Tree (bottom)'),
('Death Mountain Return Cave E', 'Death Mountain Return Cave (right)'),
@@ -2163,203 +2155,9 @@ mandatory_connections = [('Links House S&Q', 'Links House'),
('Superbunny Cave Climb', 'Superbunny Cave (Top)'),
('Bumper Cave Bottom to Top', 'Bumper Cave (top)'),
('Bumper Cave Top To Bottom', 'Bumper Cave (bottom)'),
('Ganon Drop', 'Bottom of Pyramid'),
# water entry
('Waterfall Fairy Access', 'Zora Waterfall Entryway'),
('Zora Waterfall Water Drop', 'Lake Hylia Water'),
('Light World Water Drop', 'Lake Hylia Water'),
('Potion Shop Water Drop', 'Lake Hylia Water'),
('Northeast Light World Water Drop', 'Lake Hylia Water'),
('Lake Hylia Central Island Water Drop', 'Lake Hylia Water'),
('West Dark World Water Drop', 'Dark Lake Hylia Water'),
('Northeast Dark World Water Drop', 'Dark Lake Hylia Water'),
('Catfish Water Drop', 'Dark Lake Hylia Water'),
('East Dark World Water Drop', 'Dark Lake Hylia Water'),
('South Dark World Water Drop', 'Dark Lake Hylia Water'),
('Southeast Dark World Water Drop', 'Dark Lake Hylia Water'),
('Ice Palace Leave Water Drop', 'Dark Lake Hylia Water'),
# water exit
('Light World Pier', 'Light World'), # there are several piers in-game, only one needs to be modeled
('Potion Shop Pier', 'Potion Shop Area'),
('Hobo Pier', 'Hobo Bridge'),
('Lake Hylia Central Island Pier', 'Lake Hylia Central Island'),
('Lake Hylia Whirlpool', 'Northeast Light World'),
('Northeast Dark World Pier', 'Northeast Dark World'),
('East Dark World Pier', 'East Dark World'),
('Southeast Dark World Pier', 'Southeast Dark World'),
# terrain
('Master Sword Meadow', 'Master Sword Meadow'),
('DM Hammer Bridge (West)', 'East Death Mountain (Top)'),
('DM Hammer Bridge (East)', 'West Death Mountain (Top)'),
('DM Broken Bridge (West)', 'East Death Mountain (Bottom)'),
('DM Broken Bridge (East)', 'West Death Mountain (Bottom)'),
('Fairy Ascension Rocks', 'Fairy Ascension Plateau'),
('Death Mountain Entrance Rock', 'Death Mountain Entrance'),
('Zoras Domain', 'Zoras Domain'),
('Kings Grave Rocks (Outer)', 'Kings Grave Area'),
('Kings Grave Rocks (Inner)', 'Light World'),
('Potion Shop Rock (South)', 'Northeast Light World'),
('Potion Shop Rock (North)', 'Potion Shop Area'),
('Kakariko Southwest Bush (North)', 'Bomb Hut Area'),
('Kakariko Southwest Bush (South)', 'Light World'),
('Kakariko Yard Bush (North)', 'Light World'),
('Kakariko Yard Bush (South)', 'Bush Covered Lawn'),
('Hyrule Castle Courtyard Bush (North)', 'Hyrule Castle Courtyard'),
('Hyrule Castle Courtyard Bush (South)', 'Hyrule Castle Secret Entrance Area'),
('Hyrule Castle Main Gate', 'Hyrule Castle Courtyard'),
('Hyrule Castle Main Gate (North)', 'Light World'),
('Wooden Bridge Bush (North)', 'Light World'),
('Wooden Bridge Bush (South)', 'Potion Shop Area'),
('Bat Cave Ledge Peg', 'Bat Cave Ledge'),
('Bat Cave Ledge Peg (East)', 'Light World'),
('Desert Statue Move', 'Desert Palace Stairs'),
('Desert Ledge Rocks (Outer)', 'Desert Palace Entrance (North) Spot'),
('Desert Ledge Rocks (Inner)', 'Desert Ledge'),
('Skull Woods Forest', 'Skull Woods Forest'),
('East Dark Death Mountain Bushes', 'East Dark Death Mountain (Bushes)'),
('Bumper Cave Entrance Rock', 'Bumper Cave Entrance'),
('Dark Witch Rock (North)', 'Northeast Dark World'),
('Dark Witch Rock (South)', 'Catfish Area'),
('Grassy Lawn Pegs (Top)', 'West Dark World'),
('Grassy Lawn Pegs (Bottom)', 'Dark Grassy Lawn'),
('West Dark World Gap', 'West Dark World'),
('Dark Graveyard Bush (South)', 'Dark Graveyard North'),
('Dark Graveyard Bush (North)', 'West Dark World'),
('Broken Bridge Pass (Top)', 'East Dark World'),
('Broken Bridge Pass (Bottom)', 'Northeast Dark World'),
('Peg Area Rocks (Left)', 'Hammer Peg Area'),
('Peg Area Rocks (Right)', 'West Dark World'),
('Village of Outcasts Heavy Rock', 'West Dark World'),
('Hammer Bridge Pegs (North)', 'South Dark World'),
('Hammer Bridge Pegs (South)', 'East Dark World'),
('Ice Island To East Pier', 'East Dark World'),
# ledge drops
('Spectacle Rock Drop', 'West Death Mountain (Top)'),
('Death Mountain Drop', 'West Death Mountain (Bottom)'),
('Spiral Cave Ledge Access', 'Spiral Cave Ledge'),
('Fairy Ascension Ledge Access', 'Fairy Ascension Ledge'),
('East Death Mountain Drop', 'East Death Mountain (Bottom)'),
('Spiral Cave Ledge Drop', 'East Death Mountain (Bottom)'),
('Fairy Ascension Ledge Drop', 'Fairy Ascension Plateau'),
('Fairy Ascension Drop', 'East Death Mountain (Bottom)'),
('Death Mountain Entrance Drop', 'Light World'),
('Death Mountain Return Ledge Drop', 'Light World'),
('Graveyard Ledge Drop', 'Light World'),
('Hyrule Castle Ledge Courtyard Drop', 'Hyrule Castle Courtyard'),
('Hyrule Castle Ledge Drop', 'Light World'),
('Maze Race Ledge Drop', 'Light World'),
('Desert Ledge Drop', 'Light World'),
('Desert Palace Mouth Drop', 'Light World'),
('Checkerboard Ledge Drop', 'Light World'),
('Desert Teleporter Drop', 'Light World'),
('Cave 45 Ledge Drop', 'Light World'),
('Dark Death Mountain Drop (West)', 'West Dark Death Mountain (Bottom)'),
('Dark Death Mountain Drop (East)', 'East Dark Death Mountain (Bottom)'),
('Floating Island Drop', 'Dark Death Mountain (Top)'),
('Turtle Rock Drop', 'Dark Death Mountain (Top)'),
('Bumper Cave Entrance Drop', 'West Dark World'),
('Bumper Cave Ledge Drop', 'West Dark World'),
('Pyramid Drop', 'East Dark World'),
('Village of Outcasts Drop', 'South Dark World'),
('Dark Desert Drop', 'Dark Desert')
('Ganon Drop', 'Bottom of Pyramid')
]
open_mandatory_connections = [('Sanctuary S&Q', 'Sanctuary'),
('Old Man S&Q', 'Old Man House'),
('Other World S&Q', 'East Dark World'),
# flute
('Flute Spot 1', 'West Death Mountain (Bottom)'),
('Flute Spot 2', 'Potion Shop Area'),
('Flute Spot 3', 'Light World'),
('Flute Spot 4', 'Light World'),
('Flute Spot 5', 'Light World'),
('Flute Spot 6', 'Desert Teleporter Ledge'),
('Flute Spot 7', 'Light World'),
('Flute Spot 8', 'Light World'),
('LW Flute', 'Flute Sky'),
('NWLW Flute', 'Flute Sky'),
('ZLW Flute', 'Flute Sky'),
('DM Flute', 'Flute Sky'),
('EDM Flute', 'Flute Sky'),
# portals
('Death Mountain Teleporter', 'West Dark Death Mountain (Bottom)'),
('East Death Mountain Teleporter', 'East Dark Death Mountain (Bottom)'),
('Turtle Rock Teleporter', 'Turtle Rock (Top)'),
('Kakariko Teleporter', 'West Dark World'),
('Castle Gate Teleporter', 'East Dark World'),
('East Hyrule Teleporter', 'East Dark World'),
('South Hyrule Teleporter', 'South Dark World'),
('Desert Teleporter', 'Dark Desert'),
('Lake Hylia Teleporter', 'Dark Lake Hylia Central Island')
]
inverted_mandatory_connections = [('Sanctuary S&Q', 'Dark Sanctuary Hint'),
('Old Man S&Q', 'West Dark Death Mountain (Bottom)'),
('Other World S&Q', 'Hyrule Castle Ledge'),
# flute
('Flute Spot 1', 'West Dark Death Mountain (Bottom)'),
('Flute Spot 2', 'Northeast Dark World'),
('Flute Spot 3', 'West Dark World'),
('Flute Spot 4', 'South Dark World'),
('Flute Spot 5', 'East Dark World'),
('Flute Spot 6', 'Dark Desert Ledge'),
('Flute Spot 7', 'South Dark World'),
('Flute Spot 8', 'Southeast Dark World'),
('DDM Flute', 'Flute Sky'),
('NEDW Flute', 'Flute Sky'),
('WDW Flute', 'Flute Sky'),
('SDW Flute', 'Flute Sky'),
('EDW Flute', 'Flute Sky'),
('DD Flute', 'Flute Sky'),
('DLHL Flute', 'Flute Sky'),
('EDDM Flute', 'Flute Sky'),
('Dark Grassy Lawn Flute', 'Flute Sky'),
('Hammer Peg Area Flute', 'Flute Sky'),
# modified terrain
('Spectacle Rock Approach', 'Spectacle Rock'),
('Spectacle Rock Leave', 'West Death Mountain (Top)'),
('Floating Island Bridge (West)', 'East Death Mountain (Top)'),
('Floating Island Bridge (East)', 'Death Mountain Floating Island'),
('Graveyard Ladder (Top)', 'Light World'),
('Graveyard Ladder (Bottom)', 'Graveyard Ledge'),
('Mimic Cave Ledge Access', 'Mimic Cave Ledge'),
('Mimic Cave Ledge Drop', 'East Death Mountain (Bottom)'),
('Checkerboard Ledge Approach', 'Desert Checkerboard Ledge'),
('Checkerboard Ledge Leave', 'Light World'),
('Cave 45 Approach', 'Cave 45 Ledge'),
('Cave 45 Leave', 'Light World'),
('Lake Hylia Island Pier', 'Lake Hylia Island'),
('Bombos Tablet Ladder (Top)', 'Light World'),
('Bombos Tablet Ladder (Bottom)', 'Bombos Tablet Ledge'),
('Dark Death Mountain Ladder (Top)', 'West Dark Death Mountain (Bottom)'),
('Dark Death Mountain Ladder (Bottom)', 'Dark Death Mountain (Top)'),
('Turtle Rock Tail Drop', 'Turtle Rock (Top)'),
('Ice Palace Approach', 'Dark Lake Hylia Central Island'),
# portals
('Dark Death Mountain Teleporter (West)', 'West Death Mountain (Bottom)'),
('East Dark Death Mountain Teleporter (Bottom)', 'East Death Mountain (Bottom)'),
('East Dark Death Mountain Teleporter (Top)', 'East Death Mountain (Top)'),
('West Dark World Teleporter', 'Light World'),
('Post Aga Teleporter', 'Light World'),
('East Dark World Teleporter', 'Light World'),
('South Dark World Teleporter', 'Light World'),
('Dark Desert Teleporter', 'Light World'),
('Dark Lake Hylia Teleporter', 'Lake Hylia Central Island')
]
# non-shuffled entrance links
default_connections = {'Lost Woods Gamble': 'Lost Woods Gamble',
'Lost Woods Hideout Drop': 'Lost Woods Hideout (top)',
@@ -2485,8 +2283,8 @@ default_connections = {'Lost Woods Gamble': 'Lost Woods Gamble',
'Dark Lake Hylia Fairy': 'Dark Lake Hylia Healer Fairy',
'East Dark World Hint': 'East Dark World Hint',
'Mire Shed': 'Mire Shed',
'Dark Desert Fairy': 'Dark Desert Healer Fairy',
'Dark Desert Hint': 'Dark Desert Hint',
'Mire Fairy': 'Mire Healer Fairy',
'Mire Hint': 'Mire Hint',
'Hype Cave': 'Hype Cave',
'Dark Lake Hylia Shop': 'Dark Lake Hylia Shop',
'Dark Lake Hylia Ledge Fairy': 'Dark Lake Hylia Ledge Healer Fairy',
@@ -2544,19 +2342,19 @@ default_dungeon_connections = [('Hyrule Castle Entrance (South)', 'Hyrule Castle
('Desert Palace Entrance (West)', 'Desert West Portal'),
('Desert Palace Entrance (North)', 'Desert Back Portal'),
('Desert Palace Entrance (East)', 'Desert East Portal'),
('Desert Palace Exit (South)', 'Desert Palace Stairs'),
('Desert Palace Exit (South)', 'Desert Stairs'),
('Desert Palace Exit (West)', 'Desert Ledge'),
('Desert Palace Exit (East)', 'Desert Palace Mouth'),
('Desert Palace Exit (North)', 'Desert Palace Entrance (North) Spot'),
('Desert Palace Exit (East)', 'Desert Mouth'),
('Desert Palace Exit (North)', 'Desert Ledge Keep'),
('Eastern Palace', 'Eastern Portal'),
('Eastern Palace Exit', 'Light World'),
('Eastern Palace Exit', 'Eastern Palace Area'),
('Tower of Hera', 'Hera Portal'),
('Tower of Hera Exit', 'West Death Mountain (Top)'),
('Palace of Darkness', 'Palace of Darkness Portal'),
('Palace of Darkness Exit', 'East Dark World'),
('Palace of Darkness Exit', 'Palace of Darkness Area'),
('Swamp Palace', 'Swamp Portal'), # requires additional patch for flooding moat if moved
('Swamp Palace Exit', 'South Dark World'),
('Swamp Palace Exit', 'Swamp Area'),
('Skull Woods First Section Hole (East)', 'Skull Pinball'),
('Skull Woods First Section Hole (West)', 'Skull Left Drop'),
('Skull Woods First Section Hole (North)', 'Skull Pot Circle'),
@@ -2570,13 +2368,13 @@ default_dungeon_connections = [('Hyrule Castle Entrance (South)', 'Hyrule Castle
('Skull Woods Final Section', 'Skull 3 Portal'),
('Skull Woods Final Section Exit', 'Skull Woods Forest (West)'),
('Thieves Town', 'Thieves Town Portal'),
('Thieves Town Exit', 'West Dark World'),
('Thieves Town Exit', 'Village of Outcasts'),
('Ice Palace', 'Ice Portal'),
('Ice Palace Exit', 'Dark Lake Hylia Central Island'),
('Ice Palace Exit', 'Ice Palace Area'),
('Misery Mire', 'Mire Portal'),
('Misery Mire Exit', 'Dark Desert'),
('Misery Mire Exit', 'Mire Area'),
('Turtle Rock', 'Turtle Rock Main Portal'),
('Turtle Rock Exit (Front)', 'Dark Death Mountain (Top)'),
('Turtle Rock Exit (Front)', 'Turtle Rock Area'),
('Dark Death Mountain Ledge (West)', 'Turtle Rock Lazy Eyes Portal'),
('Dark Death Mountain Ledge (East)', 'Turtle Rock Chest Portal'),
('Turtle Rock Ledge Exit (West)', 'Dark Death Mountain Ledge'),
@@ -2588,23 +2386,23 @@ default_dungeon_connections = [('Hyrule Castle Entrance (South)', 'Hyrule Castle
open_default_dungeon_connections = [('Agahnims Tower', 'Agahnims Tower Portal'),
('Agahnims Tower Exit', 'Hyrule Castle Ledge'),
('Ganons Tower', 'Ganons Tower Portal'),
('Ganons Tower Exit', 'Dark Death Mountain (Top)')
('Ganons Tower Exit', 'West Dark Death Mountain (Top)')
]
inverted_default_dungeon_connections = [('Agahnims Tower', 'Ganons Tower Portal'),
('Agahnims Tower Exit', 'Dark Death Mountain (Top)'),
('Agahnims Tower Exit', 'West Dark Death Mountain (Top)'),
('Ganons Tower', 'Agahnims Tower Portal'),
('Ganons Tower Exit', 'Hyrule Castle Ledge')
]
indirect_connections = {
'Turtle Rock (Top)': 'Turtle Rock',
'East Dark World': 'Pyramid Fairy',
'Turtle Rock Ledge': 'Turtle Rock',
'Pyramid Area': 'Pyramid Fairy',
'Big Bomb Shop': 'Pyramid Fairy',
'Dark Desert': 'Pyramid Fairy',
'West Dark World': 'Pyramid Fairy',
'South Dark World': 'Pyramid Fairy',
'Light World': 'Pyramid Fairy',
'Mire Area': 'Pyramid Fairy',
#'West Dark World': 'Pyramid Fairy',
'Big Bomb Shop Area': 'Pyramid Fairy',
#'Light World': 'Pyramid Fairy',
'Old Man Cave (East)': 'Old Man S&Q'
}
# format:
@@ -2745,8 +2543,8 @@ door_addresses = {'Links House': (0x00, (0x0104, 0x2c, 0x0506, 0x0a9a, 0x0832, 0
'Dark Potion Shop': (0x6E, (0x010f, 0x56, 0x080e, 0x04f4, 0x0c66, 0x0548, 0x0cd8, 0x0563, 0x0ce3, 0x0a, 0xf6, 0x0000, 0x0000)),
'Archery Game': (0x58, (0x0111, 0x69, 0x069e, 0x0ac4, 0x02ea, 0x0b18, 0x0368, 0x0b33, 0x036f, 0x0a, 0xf6, 0x09AC, 0x0000)),
'Mire Shed': (0x5E, (0x010d, 0x70, 0x0384, 0x0c69, 0x001e, 0x0cb6, 0x0098, 0x0cd6, 0x00a3, 0x07, 0xf9, 0x0000, 0x0000)),
'Dark Desert Hint': (0x61, (0x0114, 0x70, 0x0654, 0x0cc5, 0x02aa, 0x0d16, 0x0328, 0x0d32, 0x032f, 0x09, 0xf7, 0x0000, 0x0000)),
'Dark Desert Fairy': (0x55, (0x0115, 0x70, 0x03a8, 0x0c6a, 0x013a, 0x0cb7, 0x01b8, 0x0cd7, 0x01bf, 0x06, 0xfa, 0x0000, 0x0000)),
'Mire Hint': (0x61, (0x0114, 0x70, 0x0654, 0x0cc5, 0x02aa, 0x0d16, 0x0328, 0x0d32, 0x032f, 0x09, 0xf7, 0x0000, 0x0000)),
'Mire Fairy': (0x55, (0x0115, 0x70, 0x03a8, 0x0c6a, 0x013a, 0x0cb7, 0x01b8, 0x0cd7, 0x01bf, 0x06, 0xfa, 0x0000, 0x0000)),
'Spike Cave': (0x40, (0x0117, 0x43, 0x0ed4, 0x01e4, 0x08aa, 0x0236, 0x0928, 0x0253, 0x092f, 0x0a, 0xf6, 0x0000, 0x0000)),
'Dark Death Mountain Shop': (0x6D, (0x0112, 0x45, 0x0ee0, 0x01e3, 0x0d00, 0x0236, 0x0daa, 0x0252, 0x0d7d, 0x0b, 0xf5, 0x0000, 0x0000)),
'Dark Death Mountain Fairy': (0x6F, (0x0115, 0x43, 0x1400, 0x0294, 0x0600, 0x02e8, 0x0678, 0x0303, 0x0685, 0x0a, 0xf6, 0x0000, 0x0000)),
@@ -2832,7 +2630,7 @@ exit_ids = {'Links House Exit': (0x01, 0x00),
'Desert Healer Fairy': 0x5E,
'Dark Lake Hylia Healer Fairy': 0x5E,
'Dark Lake Hylia Ledge Healer Fairy': 0x5E,
'Dark Desert Healer Fairy': 0x5E,
'Mire Healer Fairy': 0x5E,
'Dark Death Mountain Healer Fairy': 0x5E,
'Fortune Teller (Light)': 0x65,
'Lake Hylia Fortune Teller': 0x65,
@@ -2887,7 +2685,7 @@ exit_ids = {'Links House Exit': (0x01, 0x00),
'Fortune Teller (Dark)': 0x66,
'Archery Game': 0x59,
'Mire Shed': 0x5F,
'Dark Desert Hint': 0x62,
'Mire Hint': 0x62,
'Spike Cave': 0x41,
'Mimic Cave': 0x4F,
'Kakariko Well (top)': 0x80,
@@ -3023,8 +2821,8 @@ ow_prize_table = {'Links House': (0x8b1, 0xb2d),
'Dark Potion Shop': (0xc80, 0x4c0),
'Archery Game': (0x2f0, 0xaf0),
'Mire Shed': (0x060, 0xc90),
'Dark Desert Hint': (0x2e0, 0xd00),
'Dark Desert Fairy': (0x1c0, 0xc90),
'Mire Hint': (0x2e0, 0xd00),
'Mire Fairy': (0x1c0, 0xc90),
'Spike Cave': (0x860, 0x180),
'Dark Death Mountain Shop': (0xd80, 0x180),
'Dark Death Mountain Fairy': (0x620, 0x2c0),