Renamed some locations for clarity. Updated location hints. Still uncertain what to do with silver arrows hint.

This commit is contained in:
LLCoolDave 2017-06-03 14:19:49 +02:00
parent e47c72d1b0
commit d0196cbe41
3 changed files with 306 additions and 308 deletions

View File

@ -86,8 +86,8 @@ def link_entrances(world):
# at this point only Light World death mountain entrances remain # at this point only Light World death mountain entrances remain
# place old man, has limited options # place old man, has limited options
remaining_entrances = ['Old Man Cave (West)', 'Old Man House (Bottom)', 'Death Mountain Return Cave (West)', 'Death Mountain Climb (Bottom)', 'Death Mountain Climb (Middle)', 'Death Mountain Climb (Top)', remaining_entrances = ['Old Man Cave (West)', 'Old Man House (Bottom)', 'Death Mountain Return Cave (West)', '7 Chest Cave (Bottom)', '7 Chest Cave (Middle)', '7 Chest Cave (Top)',
'Death Mountain Fairy Drop Cave (Bottom)', 'Death Mountain Fairy Drop Cave (Top)', 'Spiral Cave', 'Spiral Cave (Bottom)'] 'Fairy Ascension Cave (Bottom)', 'Fairy Ascension Cave (Top)', 'Spiral Cave', 'Spiral Cave (Bottom)']
random.shuffle(old_man_entrances) random.shuffle(old_man_entrances)
old_man_exit = old_man_entrances.pop() old_man_exit = old_man_entrances.pop()
remaining_entrances.extend(old_man_entrances) remaining_entrances.extend(old_man_entrances)
@ -968,7 +968,7 @@ Two_Door_Caves_Directional = [('Bumper Cave (Bottom)', 'Bumper Cave (Top)'),
Two_Door_Caves = [('Elder House (East)', 'Elder House (West)'), Two_Door_Caves = [('Elder House (East)', 'Elder House (West)'),
('Two Brothers House (East)', 'Two Brothers House (West)'), ('Two Brothers House (East)', 'Two Brothers House (West)'),
('Dark Death Mountain Climb (Bottom)', 'Dark Death Mountain Climb (Top)')] ('Dark Death Mountain Ascend (Bottom)', 'Dark Death Mountain Ascend (Top)')]
Old_Man_Entrances = ['Old Man Cave (East)', Old_Man_Entrances = ['Old Man Cave (East)',
'Old Man House (Top)', 'Old Man House (Top)',
@ -980,14 +980,14 @@ Old_Man_Entrances = ['Old Man Cave (East)',
Cave_Exits = [('Elder House Exit (East)', 'Elder House Exit (West)'), Cave_Exits = [('Elder House Exit (East)', 'Elder House Exit (West)'),
('Two Brothers House Exit (East)', 'Two Brothers House Exit (West)'), ('Two Brothers House Exit (East)', 'Two Brothers House Exit (West)'),
('Death Mountain Return Cave Exit (West)', 'Death Mountain Return Cave Exit (East)'), ('Death Mountain Return Cave Exit (West)', 'Death Mountain Return Cave Exit (East)'),
('Death Mountain Fairy Drop Cave Exit (Bottom)', 'Death Mountain Fairy Drop Cave Exit (Top)'), ('Fairy Ascension Cave Exit (Bottom)', 'Fairy Ascension Cave Exit (Top)'),
('Spiral Cave Exit (Top)', 'Spiral Cave Exit'), ('Spiral Cave Exit (Top)', 'Spiral Cave Exit'),
('Bumper Cave Exit (Top)', 'Bumper Cave Exit (Bottom)'), ('Bumper Cave Exit (Top)', 'Bumper Cave Exit (Bottom)'),
('Dark Death Mountain Climb Exit (Bottom)', 'Dark Death Mountain Climb Exit (Top)'), ('Dark Death Mountain Ascend Exit (Bottom)', 'Dark Death Mountain Ascend Exit (Top)'),
('Hookshot Cave Exit (South)', 'Hookshot Cave Exit (North)')] ('Hookshot Cave Exit (South)', 'Hookshot Cave Exit (North)')]
Cave_Three_Exits = [('Spectacle Rock Cave Exit (Peak)', 'Spectacle Rock Cave Exit (Top)', 'Spectacle Rock Cave Exit'), Cave_Three_Exits = [('Spectacle Rock Cave Exit (Peak)', 'Spectacle Rock Cave Exit (Top)', 'Spectacle Rock Cave Exit'),
('Death Mountain Climb Exit (Top)', 'Death Mountain Climb Exit (Middle)', 'Death Mountain Climb Exit (Bottom)')] ('7 Chest Cave Exit (Top)', '7 Chest Cave Exit (Middle)', '7 Chest Cave Exit (Bottom)')]
LW_Entrances = ['Elder House (East)', LW_Entrances = ['Elder House (East)',
'Elder House (West)', 'Elder House (West)',
@ -996,17 +996,17 @@ LW_Entrances = ['Elder House (East)',
'Old Man Cave (West)', 'Old Man Cave (West)',
'Old Man House (Bottom)', 'Old Man House (Bottom)',
'Death Mountain Return Cave (West)', 'Death Mountain Return Cave (West)',
'Death Mountain Climb (Bottom)', '7 Chest Cave (Bottom)',
'Death Mountain Climb (Middle)', '7 Chest Cave (Middle)',
'Death Mountain Climb (Top)', '7 Chest Cave (Top)',
'Death Mountain Fairy Drop Cave (Bottom)', 'Fairy Ascension Cave (Bottom)',
'Death Mountain Fairy Drop Cave (Top)', 'Fairy Ascension Cave (Top)',
'Spiral Cave', 'Spiral Cave',
'Spiral Cave (Bottom)'] 'Spiral Cave (Bottom)']
DW_Entrances = ['Bumper Cave (Bottom)', DW_Entrances = ['Bumper Cave (Bottom)',
'Dark Death Mountain Climb (Top)', 'Dark Death Mountain Ascend (Top)',
'Dark Death Mountain Climb (Bottom)', 'Dark Death Mountain Ascend (Bottom)',
'Hookshot Cave'] 'Hookshot Cave']
Blacksmith_Single_Cave_Doors = ['Thiefs Hut', Blacksmith_Single_Cave_Doors = ['Thiefs Hut',
@ -1031,8 +1031,8 @@ Blacksmith_Single_Cave_Doors = ['Thiefs Hut',
'Kakariko Shop', 'Kakariko Shop',
'Cave South of Haunted Grove', 'Cave South of Haunted Grove',
'Graveyard Cave', 'Graveyard Cave',
'Desert Cave', 'Checkerboard Cave',
'Lake Hylia Cave', 'Mini Moldorm Cave',
'Long Fairy Cave', 'Long Fairy Cave',
'Good Bee Cave', 'Good Bee Cave',
'20 Rupee Cave', '20 Rupee Cave',
@ -1101,8 +1101,8 @@ Single_Cave_Targets = ['Thiefs Hut',
'Kakariko Shop', 'Kakariko Shop',
'Cave South of Haunted Grove', 'Cave South of Haunted Grove',
'Graveyard Cave', 'Graveyard Cave',
'Desert Cave', 'Checkerboard Cave',
'Lake Hylia Cave', 'Mini Moldorm Cave',
'Long Fairy Cave', 'Long Fairy Cave',
'Good Bee Cave', 'Good Bee Cave',
'20 Rupee Cave', '20 Rupee Cave',
@ -1218,15 +1218,15 @@ mandatory_connections = [('Links House', 'Links House'), # unshuffled. For now
('South Hyrule Teleporter', 'South Dark World'), ('South Hyrule Teleporter', 'South Dark World'),
('Kakariko Teleporter', 'West Dark World'), ('Kakariko Teleporter', 'West Dark World'),
('Death Mountain Teleporter', 'Dark Death Mountain (West Bottom)'), ('Death Mountain Teleporter', 'Dark Death Mountain (West Bottom)'),
('Death Mountain Climb Push Block Reverse', 'Death Mountain Climb Cave Chest Area'), ('7 Chest Cave Push Block Reverse', '7 Chest Cave Cave Chest Area'),
('Death Mountain Climb Push Block', 'Death Mountain Climb Cave Front'), ('7 Chest Cave Push Block', '7 Chest Cave Cave Front'),
('Death Mountain Climb Bomb Jump', 'Death Mountain Climb Cave'), ('7 Chest Cave Bomb Jump', '7 Chest Cave Cave'),
('Death Mountain Climb Drop', 'Death Mountain Climb Cave Chest Area'), ('7 Chest Cave Drop', '7 Chest Cave Cave Chest Area'),
('Death Mountain Fairy Drop Area Rocks', 'Death Mountain Fairy Drop Area'), ('Fairy Ascension Rocks', 'Fairy Ascension Plateau'),
('Death Mountain Fairy Drop Area Mirror Spot', 'Death Mountain Fairy Drop Area'), ('Fairy Ascension Mirror Spot', 'Fairy Ascension Plateau'),
('Death Mountain Fairy Drop Area Drop', 'East Death Mountain (Bottom)'), ('Fairy Ascension Drop', 'East Death Mountain (Bottom)'),
('Death Mountain Fairy Drop Ledge Drop', 'Death Mountain Fairy Drop Area'), ('Fairy Ascension Ledge Drop', 'Fairy Ascension Plateau'),
('Death Mountain Fairy Drop Ledge', 'Death Mountain Fairy Drop Ledge'), ('Fairy Ascension Ledge', 'Fairy Ascension Ledge'),
('Spectacle Rock Mirror Spot', 'Spectacle Rock'), ('Spectacle Rock Mirror Spot', 'Spectacle Rock'),
('Dark Death Mountain Drop (East)', 'Dark Death Mountain (East Bottom)'), ('Dark Death Mountain Drop (East)', 'Dark Death Mountain (East Bottom)'),
('Dark Death Mountain Drop (West)', 'Dark Death Mountain (West Bottom)'), ('Dark Death Mountain Drop (West)', 'Dark Death Mountain (West Bottom)'),
@ -1238,7 +1238,7 @@ mandatory_connections = [('Links House', 'Links House'), # unshuffled. For now
('Turtle Rock Drop', 'Dark Death Mountain (Top)'), ('Turtle Rock Drop', 'Dark Death Mountain (Top)'),
('Floating Island Drop', 'Dark Death Mountain (Top)'), ('Floating Island Drop', 'Dark Death Mountain (Top)'),
('East Death Mountain Teleporter', 'Dark Death Mountain (East Bottom)'), ('East Death Mountain Teleporter', 'Dark Death Mountain (East Bottom)'),
('Isolated Ledge Mirror Spot', 'Death Mountain Fairy Drop Ledge'), ('Isolated Ledge Mirror Spot', 'Fairy Ascension Ledge'),
('Spiral Cave Mirror Spot', 'Spiral Cave Ledge'), ('Spiral Cave Mirror Spot', 'Spiral Cave Ledge'),
('Palace of Darkness Pay Kiki', 'Palace of Darkness Kiki Door'), ('Palace of Darkness Pay Kiki', 'Palace of Darkness Kiki Door'),
@ -1353,8 +1353,8 @@ default_connections = [('Waterfall of Wishing', 'Waterfall of Wishing'),
('Lumberjack Tree Exit', 'Light World'), ('Lumberjack Tree Exit', 'Light World'),
('Cave South of Haunted Grove', 'Cave South of Haunted Grove'), ('Cave South of Haunted Grove', 'Cave South of Haunted Grove'),
('Graveyard Cave', 'Graveyard Cave'), ('Graveyard Cave', 'Graveyard Cave'),
('Desert Cave', 'Desert Cave'), ('Checkerboard Cave', 'Checkerboard Cave'),
('Lake Hylia Cave', 'Lake Hylia Cave'), ('Mini Moldorm Cave', 'Mini Moldorm Cave'),
('Long Fairy Cave', 'Long Fairy Cave'), # near East Light World Teleporter ('Long Fairy Cave', 'Long Fairy Cave'), # near East Light World Teleporter
('Good Bee Cave', 'Good Bee Cave'), ('Good Bee Cave', 'Good Bee Cave'),
('20 Rupee Cave', '20 Rupee Cave'), ('20 Rupee Cave', '20 Rupee Cave'),
@ -1391,17 +1391,17 @@ default_connections = [('Waterfall of Wishing', 'Waterfall of Wishing'),
('Spectacle Rock Cave Exit', 'Death Mountain'), ('Spectacle Rock Cave Exit', 'Death Mountain'),
('Spectacle Rock Cave Exit (Top)', 'Death Mountain'), ('Spectacle Rock Cave Exit (Top)', 'Death Mountain'),
('Spectacle Rock Cave Exit (Peak)', 'Death Mountain'), ('Spectacle Rock Cave Exit (Peak)', 'Death Mountain'),
('Death Mountain Climb (Bottom)', 'Death Mountain Climb Cave Front'), ('7 Chest Cave (Bottom)', '7 Chest Cave Cave Front'),
('Death Mountain Climb (Middle)', 'Death Mountain Climb Cave'), ('7 Chest Cave (Middle)', '7 Chest Cave Cave'),
('Death Mountain Climb (Top)', 'Death Mountain Climb Cave'), ('7 Chest Cave (Top)', '7 Chest Cave Cave'),
('Death Mountain Climb Exit (Bottom)', 'East Death Mountain (Bottom)'), ('7 Chest Cave Exit (Bottom)', 'East Death Mountain (Bottom)'),
('Death Mountain Climb Exit (Middle)', 'East Death Mountain (Bottom)'), ('7 Chest Cave Exit (Middle)', 'East Death Mountain (Bottom)'),
('Death Mountain Climb Exit (Top)', 'East Death Mountain (Top)'), ('7 Chest Cave Exit (Top)', 'East Death Mountain (Top)'),
('Hookshot Fairy', 'Hookshot Fairy'), ('Hookshot Fairy', 'Hookshot Fairy'),
('Death Mountain Fairy Drop Cave (Bottom)', 'Death Mountain Fairy Drop Cave'), ('Fairy Ascension Cave (Bottom)', 'Fairy Ascension Cave'),
('Death Mountain Fairy Drop Cave (Top)', 'Death Mountain Fairy Drop Cave'), ('Fairy Ascension Cave (Top)', 'Fairy Ascension Cave'),
('Death Mountain Fairy Drop Cave Exit (Bottom)', 'Death Mountain Fairy Drop Area'), ('Fairy Ascension Cave Exit (Bottom)', 'Fairy Ascension Plateau'),
('Death Mountain Fairy Drop Cave Exit (Top)', 'Death Mountain Fairy Drop Ledge'), ('Fairy Ascension Cave Exit (Top)', 'Fairy Ascension Ledge'),
('Spiral Cave', 'Spiral Cave (Top)'), ('Spiral Cave', 'Spiral Cave (Top)'),
('Spiral Cave (Bottom)', 'Spiral Cave (Bottom)'), ('Spiral Cave (Bottom)', 'Spiral Cave (Bottom)'),
('Spiral Cave Exit', 'East Death Mountain (Bottom)'), ('Spiral Cave Exit', 'East Death Mountain (Bottom)'),
@ -1438,12 +1438,12 @@ default_connections = [('Waterfall of Wishing', 'Waterfall of Wishing'),
('Dark Desert Fairy', 'Healer Fairy'), ('Dark Desert Fairy', 'Healer Fairy'),
('Spike Cave', 'Spike Cave'), ('Spike Cave', 'Spike Cave'),
('Hookshot Cave', 'Hookshot Cave'), ('Hookshot Cave', 'Hookshot Cave'),
('Dark Death Mountain Climb (Top)', 'Dark Death Mountain Climb'), ('Dark Death Mountain Ascend (Top)', 'Dark Death Mountain Ascend'),
('Cave Shop (Dark Death Mountain)', 'Cave Shop'), ('Cave Shop (Dark Death Mountain)', 'Cave Shop'),
('Dark Death Mountain Fairy', 'Healer Fairy'), ('Dark Death Mountain Fairy', 'Healer Fairy'),
('Dark Death Mountain Climb (Bottom)', 'Dark Death Mountain Climb'), ('Dark Death Mountain Ascend (Bottom)', 'Dark Death Mountain Ascend'),
('Dark Death Mountain Climb Exit (Top)', 'Dark Death Mountain (Top)'), ('Dark Death Mountain Ascend Exit (Top)', 'Dark Death Mountain (Top)'),
('Dark Death Mountain Climb Exit (Bottom)', 'Dark Death Mountain (East Bottom)'), ('Dark Death Mountain Ascend Exit (Bottom)', 'Dark Death Mountain (East Bottom)'),
('Hookshot Cave Exit (South)', 'Dark Death Mountain (Top)'), ('Hookshot Cave Exit (South)', 'Dark Death Mountain (Top)'),
('Hookshot Cave Exit (North)', 'Death Mountain Floating Island'), ('Hookshot Cave Exit (North)', 'Death Mountain Floating Island'),
('Hookshot Cave Back Entrance', 'Hookshot Cave'), ('Hookshot Cave Back Entrance', 'Hookshot Cave'),
@ -1553,17 +1553,17 @@ door_addresses = {'Desert Palace Entrance (South)': (0xDBB7B, 0x15B02),
'Spectacle Rock Cave Peak': (0xDBB95, 0x15B36), 'Spectacle Rock Cave Peak': (0xDBB95, 0x15B36),
'Spectacle Rock Cave': (0xDBB94, 0x15B34), 'Spectacle Rock Cave': (0xDBB94, 0x15B34),
'Spectacle Rock Cave (Bottom)': (0xDBB93, 0x15B32), 'Spectacle Rock Cave (Bottom)': (0xDBB93, 0x15B32),
'Death Mountain Climb (Bottom)': (0xDBB90, 0x15B2C), '7 Chest Cave (Bottom)': (0xDBB90, 0x15B2C),
'Death Mountain Climb (Middle)': (0xDBB91, 0x15B2E), '7 Chest Cave (Middle)': (0xDBB91, 0x15B2E),
'Death Mountain Climb (Top)': (0xDBB92, 0x15B30), '7 Chest Cave (Top)': (0xDBB92, 0x15B30),
'Death Mountain Fairy Drop Cave (Bottom)': (0xDBB8C, 0x15B24), 'Fairy Ascension Cave (Bottom)': (0xDBB8C, 0x15B24),
'Death Mountain Fairy Drop Cave (Top)': (0xDBB8D, 0x15B26), 'Fairy Ascension Cave (Top)': (0xDBB8D, 0x15B26),
'Spiral Cave': (0xDBB8F, 0x15B2A), 'Spiral Cave': (0xDBB8F, 0x15B2A),
'Spiral Cave (Bottom)': (0xDBB8E, 0x15B28), 'Spiral Cave (Bottom)': (0xDBB8E, 0x15B28),
'Bumper Cave (Bottom)': (0xDBB88, 0x15B1C), 'Bumper Cave (Bottom)': (0xDBB88, 0x15B1C),
'Bumper Cave (Top)': (0xDBB89, 0x15B1E), 'Bumper Cave (Top)': (0xDBB89, 0x15B1E),
'Dark Death Mountain Climb (Top)': (0xDBB86, 0x15B18), 'Dark Death Mountain Ascend (Top)': (0xDBB86, 0x15B18),
'Dark Death Mountain Climb (Bottom)': (0xDBB85, 0x15B16), 'Dark Death Mountain Ascend (Bottom)': (0xDBB85, 0x15B16),
'Hookshot Cave': (0xDBBAC, 0x15B64), 'Hookshot Cave': (0xDBBAC, 0x15B64),
'Hookshot Cave Back Entrance': (0xDBBAD, 0x15B66)} 'Hookshot Cave Back Entrance': (0xDBBAD, 0x15B66)}
@ -1610,17 +1610,17 @@ exit_ids = {'Desert Palace Exit (South)': (0x09, 0x84),
'Spectacle Rock Cave Exit': (0x21, 0xF9), 'Spectacle Rock Cave Exit': (0x21, 0xF9),
'Spectacle Rock Cave Exit (Top)': (0x22, 0xFA), 'Spectacle Rock Cave Exit (Top)': (0x22, 0xFA),
'Spectacle Rock Cave Exit (Peak)': (0x23, 0xEA), 'Spectacle Rock Cave Exit (Peak)': (0x23, 0xEA),
'Death Mountain Climb Exit (Bottom)': (0x1E, 0xFF), '7 Chest Cave Exit (Bottom)': (0x1E, 0xFF),
'Death Mountain Climb Exit (Middle)': (0x1F, 0xEF), '7 Chest Cave Exit (Middle)': (0x1F, 0xEF),
'Death Mountain Climb Exit (Top)': (0x20, 0xDF), '7 Chest Cave Exit (Top)': (0x20, 0xDF),
'Death Mountain Fairy Drop Cave Exit (Bottom)': (0x1A, 0xFD), 'Fairy Ascension Cave Exit (Bottom)': (0x1A, 0xFD),
'Death Mountain Fairy Drop Cave Exit (Top)': (0x1B, 0xED), 'Fairy Ascension Cave Exit (Top)': (0x1B, 0xED),
'Spiral Cave Exit': (0x1C, 0xFE), 'Spiral Cave Exit': (0x1C, 0xFE),
'Spiral Cave Exit (Top)': (0x1D, 0xEE), 'Spiral Cave Exit (Top)': (0x1D, 0xEE),
'Bumper Cave Exit (Top)': (0x17, 0xEB), 'Bumper Cave Exit (Top)': (0x17, 0xEB),
'Bumper Cave Exit (Bottom)': (0x16, 0xFB), 'Bumper Cave Exit (Bottom)': (0x16, 0xFB),
'Dark Death Mountain Climb Exit (Top)': (0x14, 0xE8), 'Dark Death Mountain Ascend Exit (Top)': (0x14, 0xE8),
'Dark Death Mountain Climb Exit (Bottom)': (0x13, 0xF8), 'Dark Death Mountain Ascend Exit (Bottom)': (0x13, 0xF8),
'Hookshot Cave Exit (South)': (0x3A, 0x3C), 'Hookshot Cave Exit (South)': (0x3A, 0x3C),
'Hookshot Cave Exit (North)': (0x3B, 0x2C)} 'Hookshot Cave Exit (North)': (0x3B, 0x2C)}
@ -1660,8 +1660,8 @@ single_doors = {'Skull Woods First Section Hole (East)': (0xDB84D, 0xDB84E),
'Lumberjack Tree Tree': 0xDB85B, 'Lumberjack Tree Tree': 0xDB85B,
'Cave South of Haunted Grove': 0xDBBC3, 'Cave South of Haunted Grove': 0xDBBC3,
'Graveyard Cave': 0xDBBC4, 'Graveyard Cave': 0xDBBC4,
'Desert Cave': 0xDBBF0, 'Checkerboard Cave': 0xDBBF0,
'Lake Hylia Cave': 0xDBBEF, 'Mini Moldorm Cave': 0xDBBEF,
'Long Fairy Cave': 0xDBBC7, 'Long Fairy Cave': 0xDBBC7,
'Good Bee Cave': 0xDBBDD, 'Good Bee Cave': 0xDBBDD,
'20 Rupee Cave': 0xDBBED, '20 Rupee Cave': 0xDBBED,
@ -1731,8 +1731,8 @@ cave_codes = {'Waterfall of Wishing': 0x5C,
'Kakariko Shop': 0x46, 'Kakariko Shop': 0x46,
'Cave South of Haunted Grove': 0x51, 'Cave South of Haunted Grove': 0x51,
'Graveyard Cave': 0x52, 'Graveyard Cave': 0x52,
'Desert Cave': 0x72, 'Checkerboard Cave': 0x72,
'Lake Hylia Cave': 0x6C, 'Mini Moldorm Cave': 0x6C,
'Long Fairy Cave': 0x55, 'Long Fairy Cave': 0x55,
'Good Bee Cave': 0x56, 'Good Bee Cave': 0x56,
'20 Rupee Cave': 0x6F, '20 Rupee Cave': 0x6F,

View File

@ -8,7 +8,7 @@ def create_regions(world):
["Thiefs Hut", "Hyrule Castle Secret Entrance Drop", "Hyrule Castle Secret Entrance Stairs", 'Zoras River', 'Kings Grave', 'Dam', ["Thiefs Hut", "Hyrule Castle Secret Entrance Drop", "Hyrule Castle Secret Entrance Stairs", 'Zoras River', 'Kings Grave', 'Dam',
'Links House', 'Tavern North', 'Chicken House', 'Aginahs Cave', 'Sahasrahlas Hut', 'Kakariko Well Drop', 'Kakariko Well Cave', 'Links House', 'Tavern North', 'Chicken House', 'Aginahs Cave', 'Sahasrahlas Hut', 'Kakariko Well Drop', 'Kakariko Well Cave',
'Blacksmiths Hut', 'Bat Cave Drop Ledge', 'Bat Cave Cave', 'Sick Kids House', 'Hobo Bridge', 'Thieves Forest Hideout Drop', 'Thieves Forest Hideout Stump', 'Blacksmiths Hut', 'Bat Cave Drop Ledge', 'Bat Cave Cave', 'Sick Kids House', 'Hobo Bridge', 'Thieves Forest Hideout Drop', 'Thieves Forest Hideout Stump',
'Lumberjack Tree Tree', 'Lumberjack Tree Cave', 'Lake Hylia Cave', 'Ice Cave', 'Lake Hylia Central Island Pier', 'Lumberjack Tree Tree', 'Lumberjack Tree Cave', 'Mini Moldorm Cave', 'Ice Cave', 'Lake Hylia Central Island Pier',
'Bonk Rock Cave', 'Library', 'Witch Hut', 'Two Brothers House (East)', 'Desert Palace Stairs', 'Eastern Palace', 'Master Sword Meadow', 'Hyrule Castle Entrance (South)', 'Bonk Rock Cave', 'Library', 'Witch Hut', 'Two Brothers House (East)', 'Desert Palace Stairs', 'Eastern Palace', 'Master Sword Meadow', 'Hyrule Castle Entrance (South)',
'Sanctuary', 'Sanctuary Grave', 'Old Man Cave (West)', 'Flute Spot 1', 'Dark Desert Teleporter', 'East Hyrule Teleporter', 'South Hyrule Teleporter', 'Kakariko Teleporter', 'Sanctuary', 'Sanctuary Grave', 'Old Man Cave (West)', 'Flute Spot 1', 'Dark Desert Teleporter', 'East Hyrule Teleporter', 'South Hyrule Teleporter', 'Kakariko Teleporter',
'Elder House (East)', 'Elder House (West)', 'North Fairy Cave', 'North Fairy Cave Drop', 'Lost Woods Gamble', 'Snitch Lady (East)', 'Snitch Lady (West)', 'Tavern (Front)', 'Elder House (East)', 'Elder House (West)', 'North Fairy Cave', 'North Fairy Cave Drop', 'Lost Woods Gamble', 'Snitch Lady (East)', 'Snitch Lady (West)', 'Tavern (Front)',
@ -57,10 +57,10 @@ def create_regions(world):
create_region('Lumberjack Tree (bottom)', None, ['Lumberjack Tree Exit']), create_region('Lumberjack Tree (bottom)', None, ['Lumberjack Tree Exit']),
create_region('Cave South of Haunted Grove', ['Piece of Heart (Cave South of Haunted Grove)']), create_region('Cave South of Haunted Grove', ['Piece of Heart (Cave South of Haunted Grove)']),
create_region('Graveyard Cave', ['Piece of Heart (Graveyard Cave)']), create_region('Graveyard Cave', ['Piece of Heart (Graveyard Cave)']),
create_region('Desert Cave', ['Piece of Heart (Desert Cave)']), create_region('Checkerboard Cave', ['Piece of Heart (Checkerboard Cave)']),
create_region('Long Fairy Cave'), create_region('Long Fairy Cave'),
create_region('Lake Hylia Cave', ['[cave-050] Lake Hylia Cave [bottom left chest]', '[cave-050] Lake Hylia Cave [top left chest]', '[cave-050] Lake Hylia Cave [top right chest]', create_region('Mini Moldorm Cave', ['[cave-050] Mini Moldorm Cave [bottom left chest]', '[cave-050] Mini Moldorm Cave [top left chest]', '[cave-050] Mini Moldorm Cave [top right chest]',
'[cave-050] Lake Hylia Cave [bottom right chest]', '[cave-050] Lake Hylia Cave [generous guy]']), '[cave-050] Mini Moldorm Cave [bottom right chest]', '[cave-050] Mini Moldorm Cave [generous guy]']),
create_region('Ice Cave', ['[cave-051] Ice Cave']), create_region('Ice Cave', ['[cave-051] Ice Cave']),
create_region('Good Bee Cave'), create_region('Good Bee Cave'),
create_region('20 Rupee Cave'), create_region('20 Rupee Cave'),
@ -75,7 +75,7 @@ def create_regions(world):
create_region('Maze Race Ledge', ['Piece of Heart (Maze Race)'], ['Two Brothers House (West)']), create_region('Maze Race Ledge', ['Piece of Heart (Maze Race)'], ['Two Brothers House (West)']),
create_region('50 Rupee Cave'), create_region('50 Rupee Cave'),
create_region('Desert Ledge', ['Piece of Heart (Desert - west side)'], ['Desert Palace Entrance (North) Rocks', 'Desert Palace Entrance (West)']), create_region('Desert Ledge', ['Piece of Heart (Desert - west side)'], ['Desert Palace Entrance (North) Rocks', 'Desert Palace Entrance (West)']),
create_region('Desert Ledge (West)', None, ['Desert Cave']), create_region('Desert Ledge (West)', None, ['Checkerboard Cave']),
create_region('Desert Palace Stairs', None, ['Desert Palace Entrance (South)']), create_region('Desert Palace Stairs', None, ['Desert Palace Entrance (South)']),
create_region('Desert Palace Lone Stairs', None, ['Desert Palace Stairs Drop', 'Desert Palace Entrance (East)']), create_region('Desert Palace Lone Stairs', None, ['Desert Palace Stairs Drop', 'Desert Palace Entrance (East)']),
create_region('Desert Palace Entrance (North) Spot', None, ['Desert Palace Entrance (North)', 'Desert Ledge Return Rocks']), create_region('Desert Palace Entrance (North) Spot', None, ['Desert Palace Entrance (North)', 'Desert Ledge Return Rocks']),
@ -106,25 +106,25 @@ def create_regions(world):
create_region('Spectacle Rock Cave (Top)', ['Piece of Heart (Spectacle Rock Cave)'], ['Spectacle Rock Cave Drop', 'Spectacle Rock Cave Exit (Top)']), create_region('Spectacle Rock Cave (Top)', ['Piece of Heart (Spectacle Rock Cave)'], ['Spectacle Rock Cave Drop', 'Spectacle Rock Cave Exit (Top)']),
create_region('Spectacle Rock Cave (Bottom)', None, ['Spectacle Rock Cave Exit']), create_region('Spectacle Rock Cave (Bottom)', None, ['Spectacle Rock Cave Exit']),
create_region('Spectacle Rock Cave (Peak)', None, ['Spectacle Rock Cave Peak Drop', 'Spectacle Rock Cave Exit (Peak)']), create_region('Spectacle Rock Cave (Peak)', None, ['Spectacle Rock Cave Peak Drop', 'Spectacle Rock Cave Exit (Peak)']),
create_region('East Death Mountain (Bottom)', None, ['Broken Bridge (East)', 'Death Mountain Climb (Bottom)', 'Death Mountain Climb (Middle)', 'East Death Mountain Teleporter', 'Hookshot Fairy', 'Death Mountain Fairy Drop Area Rocks', 'Spiral Cave (Bottom)']), create_region('East Death Mountain (Bottom)', None, ['Broken Bridge (East)', '7 Chest Cave (Bottom)', '7 Chest Cave (Middle)', 'East Death Mountain Teleporter', 'Hookshot Fairy', 'Fairy Ascension Rocks', 'Spiral Cave (Bottom)']),
create_region('Hookshot Fairy'), create_region('Hookshot Fairy'),
create_region('Death Mountain Climb Cave Front', None, ['Death Mountain Climb Push Block Reverse', 'Death Mountain Climb Exit (Bottom)']), create_region('7 Chest Cave Cave Front', None, ['7 Chest Cave Push Block Reverse', '7 Chest Cave Exit (Bottom)']),
create_region('Death Mountain Climb Cave Chest Area', ['[cave-009-1F] Death Mountain - right cave [top left chest]', create_region('7 Chest Cave Cave Chest Area', ['[cave-009-1F] Death Mountain - right cave [top left chest]',
'[cave-009-1F] Death Mountain - right cave [top left middle chest]', '[cave-009-1F] Death Mountain - right cave [top left middle chest]',
'[cave-009-1F] Death Mountain - right cave [top right middle chest]', '[cave-009-1F] Death Mountain - right cave [top right middle chest]',
'[cave-009-1F] Death Mountain - right cave [top right chest]', '[cave-009-1F] Death Mountain - right cave [top right chest]',
'[cave-009-1F] Death Mountain - right cave [bottom chest]', '[cave-009-1F] Death Mountain - right cave [bottom chest]',
'[cave-009-B1] Death Mountain - right cave [left chest]', '[cave-009-B1] Death Mountain - right cave [left chest]',
'[cave-009-B1] Death Mountain - right cave [right chest]'], '[cave-009-B1] Death Mountain - right cave [right chest]'],
['Death Mountain Climb Push Block', 'Death Mountain Climb Bomb Jump']), ['7 Chest Cave Push Block', '7 Chest Cave Bomb Jump']),
create_region('Death Mountain Climb Cave', None, ['Death Mountain Climb Exit (Middle)', 'Death Mountain Climb Exit (Top)', 'Death Mountain Climb Drop']), create_region('7 Chest Cave Cave', None, ['7 Chest Cave Exit (Middle)', '7 Chest Cave Exit (Top)', '7 Chest Cave Drop']),
create_region('East Death Mountain (Top)', None, ['Death Mountain Climb (Top)', 'Death Mountain (Top)', 'Spiral Cave Ledge Access', 'East Death Mountain Drop', 'Turtle Rock Teleporter', 'Death Mountain Fairy Drop Ledge']), create_region('East Death Mountain (Top)', None, ['7 Chest Cave (Top)', 'Death Mountain (Top)', 'Spiral Cave Ledge Access', 'East Death Mountain Drop', 'Turtle Rock Teleporter', 'Fairy Ascension Ledge']),
create_region('Spiral Cave Ledge', None, ['Spiral Cave', 'Spiral Cave Ledge Drop']), create_region('Spiral Cave Ledge', None, ['Spiral Cave', 'Spiral Cave Ledge Drop']),
create_region('Spiral Cave (Top)', ['[cave-012-1F] Death Mountain - left cave]'], ['Spiral Cave (top to bottom)', 'Spiral Cave Exit (Top)']), create_region('Spiral Cave (Top)', ['[cave-012-1F] Death Mountain - left cave]'], ['Spiral Cave (top to bottom)', 'Spiral Cave Exit (Top)']),
create_region('Spiral Cave (Bottom)', None, ['Spiral Cave Exit']), create_region('Spiral Cave (Bottom)', None, ['Spiral Cave Exit']),
create_region('Death Mountain Fairy Drop Area', None, ['Death Mountain Fairy Drop Area Drop', 'Death Mountain Fairy Drop Cave (Bottom)']), create_region('Fairy Ascension Plateau', None, ['Fairy Ascension Drop', 'Fairy Ascension Cave (Bottom)']),
create_region('Death Mountain Fairy Drop Cave', None, ['Death Mountain Fairy Drop Cave Exit (Top)', 'Death Mountain Fairy Drop Cave Exit (Bottom)']), create_region('Fairy Ascension Cave', None, ['Fairy Ascension Cave Exit (Top)', 'Fairy Ascension Cave Exit (Bottom)']),
create_region('Death Mountain Fairy Drop Ledge', None, ['Death Mountain Fairy Drop Ledge Drop', 'Death Mountain Fairy Drop Cave (Top)']), create_region('Fairy Ascension Ledge', None, ['Fairy Ascension Ledge Drop', 'Fairy Ascension Cave (Top)']),
create_region('Death Mountain (Top)', ['Ether Tablet'], ['East Death Mountain (Top)', 'Tower of Hera', 'Death Mountain Drop']), create_region('Death Mountain (Top)', ['Ether Tablet'], ['East Death Mountain (Top)', 'Tower of Hera', 'Death Mountain Drop']),
create_region('Spectacle Rock', ['Piece of Heart (Spectacle Rock)'], ['Spectacle Rock Drop']), create_region('Spectacle Rock', ['Piece of Heart (Spectacle Rock)'], ['Spectacle Rock Drop']),
create_region('Tower of Hera (Bottom)', ['[dungeon-L3-1F] Tower of Hera - Freestanding Key', '[dungeon-L3-1F] Tower of Hera - Entrance'], ['Tower of Hera Small Key Door', 'Tower of Hera Big Key Door', 'Tower of Hera Exit']), create_region('Tower of Hera (Bottom)', ['[dungeon-L3-1F] Tower of Hera - Freestanding Key', '[dungeon-L3-1F] Tower of Hera - Entrance'], ['Tower of Hera Small Key Door', 'Tower of Hera Big Key Door', 'Tower of Hera Exit']),
@ -169,13 +169,13 @@ def create_regions(world):
create_region('Dark Desert Cave', ['[cave-071] Misery Mire West Area [left chest]', '[cave-071] Misery Mire West Area [right chest]']), create_region('Dark Desert Cave', ['[cave-071] Misery Mire West Area [left chest]', '[cave-071] Misery Mire West Area [right chest]']),
create_region('Dark Desert Hint'), create_region('Dark Desert Hint'),
create_region('Dark Death Mountain (West Bottom)', None, ['Spike Cave', 'Spectacle Rock Mirror Spot', 'Dark Death Mountain Fairy']), create_region('Dark Death Mountain (West Bottom)', None, ['Spike Cave', 'Spectacle Rock Mirror Spot', 'Dark Death Mountain Fairy']),
create_region('Dark Death Mountain (Top)', None, ['Dark Death Mountain Drop (East)', 'Dark Death Mountain Drop (West)', 'Ganons Tower', 'Dark Death Mountain Climb (Top)', 'Hookshot Cave', create_region('Dark Death Mountain (Top)', None, ['Dark Death Mountain Drop (East)', 'Dark Death Mountain Drop (West)', 'Ganons Tower', 'Dark Death Mountain Ascend (Top)', 'Hookshot Cave',
'East Death Mountain (Top) Mirror Spot']), 'East Death Mountain (Top) Mirror Spot']),
create_region('Dark Death Mountain Ledge', None, ['Dark Death Mountain Ledge (East)', 'Dark Death Mountain Ledge (West)', 'Mimic Cave Mirror Spot', 'Spiral Cave Mirror Spot']), create_region('Dark Death Mountain Ledge', None, ['Dark Death Mountain Ledge (East)', 'Dark Death Mountain Ledge (West)', 'Mimic Cave Mirror Spot', 'Spiral Cave Mirror Spot']),
create_region('Dark Death Mountain Isolated Ledge', None, ['Isolated Ledge Mirror Spot', 'Turtle Rock Isolated Ledge Entrance']), create_region('Dark Death Mountain Isolated Ledge', None, ['Isolated Ledge Mirror Spot', 'Turtle Rock Isolated Ledge Entrance']),
create_region('Dark Death Mountain (East Bottom)', None, ['Dark Death Mountain Climb (Bottom)', 'Cave Shop (Dark Death Mountain)', 'Death Mountain Fairy Drop Area Mirror Spot']), create_region('Dark Death Mountain (East Bottom)', None, ['Dark Death Mountain Ascend (Bottom)', 'Cave Shop (Dark Death Mountain)', 'Fairy Ascension Mirror Spot']),
create_region('Dark Death Mountain Climb', ['[cave-057-1F] Dark World Death Mountain Climb [top chest]', '[cave-057-1F] Dark World Death Mountain Climb [bottom chest]'], create_region('Dark Death Mountain Ascend', ['[cave-057-1F] Dark World Death Mountain Climb [top chest]', '[cave-057-1F] Dark World Death Mountain Climb [bottom chest]'],
['Dark Death Mountain Climb Exit (Top)', 'Dark Death Mountain Climb Exit (Bottom)']), ['Dark Death Mountain Ascend Exit (Top)', 'Dark Death Mountain Ascend Exit (Bottom)']),
create_region('Spike Cave', ['[cave-055] Spike Cave']), create_region('Spike Cave', ['[cave-055] Spike Cave']),
create_region('Hookshot Cave', ['[cave-056] Hookshot Cave [top right chest]', '[cave-056] Hookshot Cave [top left chest]', '[cave-056] Hookshot Cave [bottom right chest]', '[cave-056] Hookshot Cave [bottom left chest]'], create_region('Hookshot Cave', ['[cave-056] Hookshot Cave [top right chest]', '[cave-056] Hookshot Cave [top left chest]', '[cave-056] Hookshot Cave [bottom right chest]', '[cave-056] Hookshot Cave [bottom left chest]'],
['Hookshot Cave Exit (South)', 'Hookshot Cave Exit (North)']), ['Hookshot Cave Exit (South)', 'Hookshot Cave Exit (North)']),
@ -282,221 +282,221 @@ def create_region(name, locations=None, exits=None):
return ret return ret
location_table = {'Mushroom': (0x180013, False, 'Light World'), location_table = {'Mushroom': (0x180013, False, 'in the woods'),
'Bottle Vendor': (0x2EB18, False, 'Light World'), 'Bottle Vendor': (0x2EB18, False, 'with a merchant'),
'Haunted Grove': (0x18014A, False, 'Light World'), 'Haunted Grove': (0x18014A, False, 'underground'),
'Piece of Heart (Dam)': (0x180145, False, 'Light World'), 'Piece of Heart (Dam)': (0x180145, False, 'underwater'),
'Purple Chest': (0x33D68, False, 'Light World'), 'Purple Chest': (0x33D68, False, 'from a box'),
'[cave-022-B1] Thiefs hut [top chest]': (0xEB0F, False, None), '[cave-022-B1] Thiefs hut [top chest]': (0xEB0F, False, 'in a basement'),
'[cave-022-B1] Thiefs hut [top left chest]': (0xEB12, False, None), '[cave-022-B1] Thiefs hut [top left chest]': (0xEB12, False, 'in a basement'),
'[cave-022-B1] Thiefs hut [top right chest]': (0xEB15, False, None), '[cave-022-B1] Thiefs hut [top right chest]': (0xEB15, False, 'in a basement'),
'[cave-022-B1] Thiefs hut [bottom left chest]': (0xEB18, False, None), '[cave-022-B1] Thiefs hut [bottom left chest]': (0xEB18, False, 'in a basement'),
'[cave-022-B1] Thiefs hut [bottom right chest]': (0xEB1B, False, None), '[cave-022-B1] Thiefs hut [bottom right chest]': (0xEB1B, False, 'in a basement'),
'Uncle': (0x2DF45, False, None), 'Uncle': (0x2DF45, False, 'with your uncle'),
'[cave-034] Hyrule Castle Secret Entrance': (0xE971, False, None), '[cave-034] Hyrule Castle Secret Entrance': (0xE971, False, 'near your uncle'),
'King Zora': (0xEE1C3, False, 'Light World'), 'King Zora': (0xEE1C3, False, 'at a high price'),
'Piece of Heart (Zoras River)': (0x180149, False, 'Light World'), 'Piece of Heart (Zoras River)': (0x180149, False, 'near Zora'),
'[cave-018] Graveyard - top right grave': (0xE97A, False, None), '[cave-018] Graveyard - top right grave': (0xE97A, False, 'alone in a cave'),
'[cave-047] Dam': (0xE98C, False, None), '[cave-047] Dam': (0xE98C, False, 'in the dam'),
'[cave-040] Links House': (0xE9BC, False, 'Light World'), '[cave-040] Links House': (0xE9BC, False, 'in your home'),
'[cave-031] Tavern': (0xE9CE, False, None), '[cave-031] Tavern': (0xE9CE, False, 'in the bar'),
'[cave-026] Chicken House': (0xE9E9, False, None), '[cave-026] Chicken House': (0xE9E9, False, 'near poultry'),
'[cave-044] Aginahs Cave': (0xE9F2, False, None), '[cave-044] Aginahs Cave': (0xE9F2, False, 'with Aginah'),
'[cave-035] Sahasrahlas Hut [left chest]': (0xEA82, False, None), '[cave-035] Sahasrahlas Hut [left chest]': (0xEA82, False, 'near the elder'),
'[cave-035] Sahasrahlas Hut [center chest]': (0xEA85, False, None), '[cave-035] Sahasrahlas Hut [center chest]': (0xEA85, False, 'near the elder'),
'[cave-035] Sahasrahlas Hut [right chest]': (0xEA88, False, None), '[cave-035] Sahasrahlas Hut [right chest]': (0xEA88, False, 'near the elder'),
'Sahasrahla': (0x2F1FC, False, None), 'Sahasrahla': (0x2F1FC, False, 'with the elder'),
'[cave-021] Kakariko Well [top chest]': (0xEA8E, False, None), '[cave-021] Kakariko Well [top chest]': (0xEA8E, False, 'in a well'),
'[cave-021] Kakariko Well [left chest row of 3]': (0xEA91, False, None), '[cave-021] Kakariko Well [left chest row of 3]': (0xEA91, False, 'in a well'),
'[cave-021] Kakariko Well [center chest row of 3]': (0xEA94, False, None), '[cave-021] Kakariko Well [center chest row of 3]': (0xEA94, False, 'in a well'),
'[cave-021] Kakariko Well [right chest row of 3]': (0xEA97, False, None), '[cave-021] Kakariko Well [right chest row of 3]': (0xEA97, False, 'in a well'),
'[cave-021] Kakariko Well [bottom chest]': (0xEA9A, False, None), '[cave-021] Kakariko Well [bottom chest]': (0xEA9A, False, 'in a well'),
'Blacksmiths': (0x18002A, False, None), 'Blacksmiths': (0x18002A, False, 'with the smith'),
'Magic Bat': (0x180015, False, None), 'Magic Bat': (0x180015, False, 'with the bat'),
'Sick Kid': (0x339CF, False, None), 'Sick Kid': (0x339CF, False, 'with the ill'),
'Hobo': (0x33E7D, False, 'Light World'), 'Hobo': (0x33E7D, False, 'with the hobo'),
'Piece of Heart (Thieves Forest Hideout)': (0x180000, False, None), 'Piece of Heart (Thieves Forest Hideout)': (0x180000, False, 'near a thief'),
'Piece of Heart (Lumberjack Tree)': (0x180001, False, None), 'Piece of Heart (Lumberjack Tree)': (0x180001, False, 'in a hole'),
'Piece of Heart (Cave South of Haunted Grove)': (0x180003, False, None), 'Piece of Heart (Cave South of Haunted Grove)': (0x180003, False, 'alone in a cave'),
'Piece of Heart (Graveyard Cave)': (0x180004, False, None), 'Piece of Heart (Graveyard Cave)': (0x180004, False, 'alone in a cave'),
'Piece of Heart (Desert Cave)': (0x180005, False, None), 'Piece of Heart (Checkerboard Cave)': (0x180005, False, 'alone in a cave'),
'[cave-050] Lake Hylia Cave [bottom left chest]': (0xEB42, False, None), '[cave-050] Mini Moldorm Cave [bottom left chest]': (0xEB42, False, 'near Moldorms'),
'[cave-050] Lake Hylia Cave [top left chest]': (0xEB45, False, None), '[cave-050] Mini Moldorm Cave [top left chest]': (0xEB45, False, 'near Moldorms'),
'[cave-050] Lake Hylia Cave [top right chest]': (0xEB48, False, None), '[cave-050] Mini Moldorm Cave [top right chest]': (0xEB48, False, 'near Moldorms'),
'[cave-050] Lake Hylia Cave [bottom right chest]': (0xEB4B, False, None), '[cave-050] Mini Moldorm Cave [bottom right chest]': (0xEB4B, False, 'near Moldorms'),
'[cave-050] Lake Hylia Cave [generous guy]': (0x180010, False, None), '[cave-050] Mini Moldorm Cave [generous guy]': (0x180010, False, 'near Moldorms'),
'[cave-051] Ice Cave': (0xEB4E, False, None), '[cave-051] Ice Cave': (0xEB4E, False, 'on ice'),
'[cave-016] Bonk Rock Cave': (0xEB3F, False, None), '[cave-016] Bonk Rock Cave': (0xEB3F, False, 'alone in a cave'),
'Library': (0x180012, False, None), 'Library': (0x180012, False, 'near books'),
'Witch': (0x180014, False, None), 'Witch': (0x180014, False, 'near potions'),
'Piece of Heart (Lake Hylia)': (0x180144, False, 'Light World'), 'Piece of Heart (Lake Hylia)': (0x180144, False, 'on an island'),
'Piece of Heart (Maze Race)': (0x180142, False, 'Light World'), 'Piece of Heart (Maze Race)': (0x180142, False, 'at the race'),
'Piece of Heart (Desert - west side)': (0x180143, False, 'Light World'), 'Piece of Heart (Desert - west side)': (0x180143, False, 'in the desert'),
'[dungeon-L2-B1] Desert Palace - Big Chest': (0xE98F, False, 'Desert Palace'), '[dungeon-L2-B1] Desert Palace - Big Chest': (0xE98F, False, 'in Desert Palace'),
'[dungeon-L2-B1] Desert Palace - Torch': (0x180160, False, 'Desert Palace'), '[dungeon-L2-B1] Desert Palace - Torch': (0x180160, False, 'in Desert Palace'),
'[dungeon-L2-B1] Desert Palace - Map Room': (0xE9B6, False, 'Desert Palace'), '[dungeon-L2-B1] Desert Palace - Map Room': (0xE9B6, False, 'in Desert Palace'),
'[dungeon-L2-B1] Desert Palace - Compass Room': (0xE9CB, False, 'Desert Palace'), '[dungeon-L2-B1] Desert Palace - Compass Room': (0xE9CB, False, 'in Desert Palace'),
'[dungeon-L2-B1] Desert Palace - Big Key Room': (0xE9C2, False, 'Desert Palace'), '[dungeon-L2-B1] Desert Palace - Big Key Room': (0xE9C2, False, 'in Desert Palace'),
'Lanmolas - Heart Container': (0x180151, False, 'Desert Palace'), 'Lanmolas - Heart Container': (0x180151, False, 'with Lanmolas'),
'[dungeon-L1-1F] Eastern Palace - Compass Room': (0xE977, False, 'Eastern Palace'), '[dungeon-L1-1F] Eastern Palace - Compass Room': (0xE977, False, 'in Eastern Palace'),
'[dungeon-L1-1F] Eastern Palace - Big Chest': (0xE97D, False, 'Eastern Palace'), '[dungeon-L1-1F] Eastern Palace - Big Chest': (0xE97D, False, 'in Eastern Palace'),
'[dungeon-L1-1F] Eastern Palace - Big Ball Room': (0xE9B3, False, 'Eastern Palace'), '[dungeon-L1-1F] Eastern Palace - Big Ball Room': (0xE9B3, False, 'in Eastern Palace'),
'[dungeon-L1-1F] Eastern Palace - Big Key Room': (0xE9B9, False, 'Eastern Palace'), '[dungeon-L1-1F] Eastern Palace - Big Key Room': (0xE9B9, False, 'in Eastern Palace'),
'[dungeon-L1-1F] Eastern Palace - Map Room': (0xE9F5, False, 'Eastern Palace'), '[dungeon-L1-1F] Eastern Palace - Map Room': (0xE9F5, False, 'in Eastern Palace'),
'Armos - Heart Container': (0x180150, False, 'Eastern Palace'), 'Armos - Heart Container': (0x180150, False, 'with the Armos'),
'Altar': (0x289B0, False, 'Light World'), 'Altar': (0x289B0, False, 'at the pedestal'),
'[dungeon-C-B1] Hyrule Castle - Boomerang Room': (0xE974, False, 'Hyrule Castle'), '[dungeon-C-B1] Hyrule Castle - Boomerang Room': (0xE974, False, 'in Hyrule Castle'),
'[dungeon-C-B1] Hyrule Castle - Map Room': (0xEB0C, False, 'Hyrule Castle'), '[dungeon-C-B1] Hyrule Castle - Map Room': (0xEB0C, False, 'in Hyrule Castle'),
'[dungeon-C-B1] Hyrule Castle - Next To Zelda': (0xEB09, False, 'Hyrule Castle'), '[dungeon-C-B1] Hyrule Castle - Next To Zelda': (0xEB09, False, 'in Hyrule Castle'),
'[dungeon-C-B1] Escape - First B1 Room': (0xE96E, False, 'Hyrule Castle'), '[dungeon-C-B1] Escape - First B1 Room': (0xE96E, False, 'in the sewers'),
'[dungeon-C-B1] Escape - Final Basement Room [left chest]': (0xEB5D, False, 'Hyrule Castle'), '[dungeon-C-B1] Escape - Final Basement Room [left chest]': (0xEB5D, False, 'in the sewers'),
'[dungeon-C-B1] Escape - Final Basement Room [middle chest]': (0xEB60, False, 'Hyrule Castle'), '[dungeon-C-B1] Escape - Final Basement Room [middle chest]': (0xEB60, False, 'in the sewers'),
'[dungeon-C-B1] Escape - Final Basement Room [right chest]': (0xEB63, False, 'Hyrule Castle'), '[dungeon-C-B1] Escape - Final Basement Room [right chest]': (0xEB63, False, 'in the sewers'),
'[dungeon-C-1F] Sanctuary': (0xEA79, False, 'Hyrule Castle'), '[dungeon-C-1F] Sanctuary': (0xEA79, False, 'in Sanctuary'),
'[dungeon-A1-2F] Hyrule Castle Tower - 2 Knife Guys Room': (0xEAB5, False, 'Hyrule Castle'), '[dungeon-A1-2F] Hyrule Castle Tower - 2 Knife Guys Room': (0xEAB5, False, 'in Hyrule Castle'),
'[dungeon-A1-3F] Hyrule Castle Tower - Maze Room': (0xEAB2, False, 'Hyrule Castle'), '[dungeon-A1-3F] Hyrule Castle Tower - Maze Room': (0xEAB2, False, 'in Hyrule Castle'),
'Old Mountain Man': (0xF69FA, False, 'Light World'), 'Old Mountain Man': (0xF69FA, False, 'with the old man'),
'Piece of Heart (Spectacle Rock Cave)': (0x180002, False, None), 'Piece of Heart (Spectacle Rock Cave)': (0x180002, False, 'alone in a cave'),
'[cave-009-1F] Death Mountain - right cave [top left chest]': (0xEB2A, False, None), '[cave-009-1F] Death Mountain - right cave [top left chest]': (0xEB2A, False, 'in seven cave'),
'[cave-009-1F] Death Mountain - right cave [top left middle chest]': (0xEB2D, False, None), '[cave-009-1F] Death Mountain - right cave [top left middle chest]': (0xEB2D, False, 'in seven cave'),
'[cave-009-1F] Death Mountain - right cave [top right middle chest]': (0xEB30, False, None), '[cave-009-1F] Death Mountain - right cave [top right middle chest]': (0xEB30, False, 'in seven cave'),
'[cave-009-1F] Death Mountain - right cave [top right chest]': (0xEB33, False, None), '[cave-009-1F] Death Mountain - right cave [top right chest]': (0xEB33, False, 'in seven cave'),
'[cave-009-1F] Death Mountain - right cave [bottom chest]': (0xEB36, False, None), '[cave-009-1F] Death Mountain - right cave [bottom chest]': (0xEB36, False, 'in seven cave'),
'[cave-009-B1] Death Mountain - right cave [left chest]': (0xEB39, False, None), '[cave-009-B1] Death Mountain - right cave [left chest]': (0xEB39, False, 'in seven cave'),
'[cave-009-B1] Death Mountain - right cave [right chest]': (0xEB3C, False, None), '[cave-009-B1] Death Mountain - right cave [right chest]': (0xEB3C, False, 'in seven cave'),
'[cave-012-1F] Death Mountain - left cave]': (0xE9BF, False, None), '[cave-012-1F] Death Mountain - left cave]': (0xE9BF, False, 'in spiral cave'),
'Ether Tablet': (0x180016, False, 'Light World'), 'Ether Tablet': (0x180016, False, 'at a monument'),
'Piece of Heart (Spectacle Rock)': (0x180140, False, 'Light World'), 'Piece of Heart (Spectacle Rock)': (0x180140, False, 'atop a rock'),
'[dungeon-L3-1F] Tower of Hera - Freestanding Key': (0x180162, False, 'Tower of Hera'), '[dungeon-L3-1F] Tower of Hera - Freestanding Key': (0x180162, False, 'in Tower of Hera'),
'[dungeon-L3-1F] Tower of Hera - Entrance': (0xE9AD, False, 'Tower of Hera'), '[dungeon-L3-1F] Tower of Hera - Entrance': (0xE9AD, False, 'in Tower of Hera'),
'[dungeon-L3-1F] Tower of Hera - Basement': (0xE9E6, False, 'Tower of Hera'), '[dungeon-L3-1F] Tower of Hera - Basement': (0xE9E6, False, 'in Tower of Hera'),
'[dungeon-L3-1F] Tower of Hera - 4F [small chest]': (0xE9FB, False, 'Tower of Hera'), '[dungeon-L3-1F] Tower of Hera - 4F [small chest]': (0xE9FB, False, 'in Tower of Hera'),
'[dungeon-L3-1F] Tower of Hera - Big Chest': (0xE9F8, False, 'Tower of Hera'), '[dungeon-L3-1F] Tower of Hera - Big Chest': (0xE9F8, False, 'in Tower of Hera'),
'Moldorm - Heart Container': (0x180152, False, 'Tower of Hera'), 'Moldorm - Heart Container': (0x180152, False, 'with Moldorm'),
'Piece of Heart (Pyramid)': (0x180147, False, 'Dark World'), 'Piece of Heart (Pyramid)': (0x180147, False, 'on the pyramid'),
'Catfish': (0xEE185, False, 'Dark World'), 'Catfish': (0xEE185, False, 'with a fish'),
'Flute Boy': (0x330C7, False, 'Dark World'), 'Flute Boy': (0x330C7, False, 'with tree boy'),
'Piece of Heart (Digging Game)': (0x180148, False, 'Dark World'), 'Piece of Heart (Digging Game)': (0x180148, False, 'underground'),
'Bombos Tablet': (0x180017, False, 'Light World'), 'Bombos Tablet': (0x180017, False, 'at a monument'),
'[cave-073] Cave Northeast of Swamp Palace [top chest]': (0xEB1E, False, None), '[cave-073] Cave Northeast of Swamp Palace [top chest]': (0xEB1E, False, 'near batman'),
'[cave-073] Cave Northeast of Swamp Palace [top middle chest]': (0xEB21, False, None), '[cave-073] Cave Northeast of Swamp Palace [top middle chest]': (0xEB21, False, 'near batman'),
'[cave-073] Cave Northeast of Swamp Palace [bottom middle chest]': (0xEB24, False, None), '[cave-073] Cave Northeast of Swamp Palace [bottom middle chest]': (0xEB24, False, 'near batman'),
'[cave-073] Cave Northeast of Swamp Palace [bottom chest]': (0xEB27, False, None), '[cave-073] Cave Northeast of Swamp Palace [bottom chest]': (0xEB27, False, 'near batman'),
'[cave-073] Cave Northeast of Swamp Palace [generous guy]': (0x180011, False, None), '[cave-073] Cave Northeast of Swamp Palace [generous guy]': (0x180011, False, 'with batman'),
'Piece of Heart (Dark World Blacksmith Pegs)': (0x180006, False, None), 'Piece of Heart (Dark World Blacksmith Pegs)': (0x180006, False, 'alone in a cave'),
'Pyramid Fairy [left chest]': (0xE980, False, None), 'Pyramid Fairy [left chest]': (0xE980, False, 'near a fairy'),
'Pyramid Fairy [right chest]': (0xE983, False, None), 'Pyramid Fairy [right chest]': (0xE983, False, 'near a fairy'),
'[cave-063] Doorless Hut': (0xE9EC, False, None), '[cave-063] Doorless Hut': (0xE9EC, False, 'alone in a home'),
'[cave-062] C-Shaped House': (0xE9EF, False, None), '[cave-062] C-Shaped House': (0xE9EF, False, 'alone in a home'),
'Piece of Heart (Treasure Chest Game)': (0xEDA8, False, None), 'Piece of Heart (Treasure Chest Game)': (0xEDA8, False, 'as a prize'),
'Piece of Heart (Bumper Cave)': (0x180146, False, 'Dark World'), 'Piece of Heart (Bumper Cave)': (0x180146, False, 'on a ledge'),
'[cave-071] Misery Mire West Area [left chest]': (0xEA73, False, None), '[cave-071] Misery Mire West Area [left chest]': (0xEA73, False, 'near a spark'),
'[cave-071] Misery Mire West Area [right chest]': (0xEA76, False, None), '[cave-071] Misery Mire West Area [right chest]': (0xEA76, False, 'near a spark'),
'[cave-057-1F] Dark World Death Mountain Climb [top chest]': (0xEA7C, False, None), '[cave-057-1F] Dark World Death Mountain Climb [top chest]': (0xEA7C, False, 'in a connection'),
'[cave-057-1F] Dark World Death Mountain Climb [bottom chest]': (0xEA7F, False, None), '[cave-057-1F] Dark World Death Mountain Climb [bottom chest]': (0xEA7F, False, 'in a connection'),
'[cave-055] Spike Cave': (0xEA8B, False, None), '[cave-055] Spike Cave': (0xEA8B, False, 'beyond spikes'),
'[cave-056] Hookshot Cave [top right chest]': (0xEB51, False, None), '[cave-056] Hookshot Cave [top right chest]': (0xEB51, False, 'across pits'),
'[cave-056] Hookshot Cave [top left chest]': (0xEB54, False, None), '[cave-056] Hookshot Cave [top left chest]': (0xEB54, False, 'across pits'),
'[cave-056] Hookshot Cave [bottom right chest]': (0xEB5A, False, None), '[cave-056] Hookshot Cave [bottom right chest]': (0xEB5A, False, 'across pits'),
'[cave-056] Hookshot Cave [bottom left chest]': (0xEB57, False, None), '[cave-056] Hookshot Cave [bottom left chest]': (0xEB57, False, 'across pits'),
'Piece of Heart (Death Mountain - Floating Island)': (0x180141, False, 'Light World'), 'Piece of Heart (Death Mountain - Floating Island)': (0x180141, False, 'on an island'),
'[cave-013] Mimic Cave': (0xE9C5, False, None), '[cave-013] Mimic Cave': (0xE9C5, False, 'beyond Goriyas'),
'[dungeon-D2-1F] Swamp Palace - First Room': (0xEA9D, False, 'Swamp Palace'), '[dungeon-D2-1F] Swamp Palace - First Room': (0xEA9D, False, 'in Swamp Palace'),
'[dungeon-D2-1F] Swamp Palace - Map Room': (0xE986, False, 'Swamp Palace'), '[dungeon-D2-1F] Swamp Palace - Map Room': (0xE986, False, 'in Swamp Palace'),
'[dungeon-D2-B1] Swamp Palace - Big Chest': (0xE989, False, 'Swamp Palace'), '[dungeon-D2-B1] Swamp Palace - Big Chest': (0xE989, False, 'in Swamp Palace'),
'[dungeon-D2-B1] Swamp Palace - South of Hookshot Room': (0xEAA0, False, 'Swamp Palace'), '[dungeon-D2-B1] Swamp Palace - South of Hookshot Room': (0xEAA0, False, 'in Swamp Palace'),
'[dungeon-D2-B1] Swamp Palace - Big Key Chest': (0xEAA6, False, 'Swamp Palace'), '[dungeon-D2-B1] Swamp Palace - Big Key Chest': (0xEAA6, False, 'in Swamp Palace'),
'[dungeon-D2-B1] Swamp Palace - Compass Chest': (0xEAA3, False, 'Swamp Palace'), '[dungeon-D2-B1] Swamp Palace - Compass Chest': (0xEAA3, False, 'in Swamp Palace'),
'[dungeon-D2-B2] Swamp Palace - Flooded Room [left chest]': (0xEAA9, False, 'Swamp Palace'), '[dungeon-D2-B2] Swamp Palace - Flooded Room [left chest]': (0xEAA9, False, 'in Swamp Palace'),
'[dungeon-D2-B2] Swamp Palace - Flooded Room [right chest]': (0xEAAC, False, 'Swamp Palace'), '[dungeon-D2-B2] Swamp Palace - Flooded Room [right chest]': (0xEAAC, False, 'in Swamp Palace'),
'[dungeon-D2-B2] Swamp Palace - Waterfall Room': (0xEAAF, False, 'Swamp Palace'), '[dungeon-D2-B2] Swamp Palace - Waterfall Room': (0xEAAF, False, 'in Swamp Palace'),
'Arrghus - Heart Container': (0x180154, False, 'Swamp Palace'), 'Arrghus - Heart Container': (0x180154, False, 'with Arrghus'),
'[dungeon-D4-B1] Thieves Town - Bottom Left of Huge Room [bottom right chest]': (0xEA04, False, 'Thieves\' Town'), '[dungeon-D4-B1] Thieves Town - Bottom Left of Huge Room [bottom right chest]': (0xEA04, False, 'in Thieves\' Town'),
'[dungeon-D4-B1] Thieves Town - Bottom Left of Huge Room [top left chest]': (0xEA01, False, 'Thieves\' Town'), '[dungeon-D4-B1] Thieves Town - Bottom Left of Huge Room [top left chest]': (0xEA01, False, 'in Thieves\' Town'),
'[dungeon-D4-B1] Thieves Town - Bottom Right of Huge Room': (0xEA07, False, 'Thieves\' Town'), '[dungeon-D4-B1] Thieves Town - Bottom Right of Huge Room': (0xEA07, False, 'in Thieves\' Town'),
'[dungeon-D4-B1] Thieves Town - Top Left of Huge Room': (0xEA0A, False, 'Thieves\' Town'), '[dungeon-D4-B1] Thieves Town - Top Left of Huge Room': (0xEA0A, False, 'in Thieves\' Town'),
'[dungeon-D4-1F] Thieves Town - Room above Boss': (0xEA0D, False, 'Thieves\' Town'), '[dungeon-D4-1F] Thieves Town - Room above Boss': (0xEA0D, False, 'in Thieves\' Town'),
'[dungeon-D4-B2] Thieves Town - Big Chest': (0xEA10, False, 'Thieves\' Town'), '[dungeon-D4-B2] Thieves Town - Big Chest': (0xEA10, False, 'in Thieves\' Town'),
'[dungeon-D4-B2] Thieves Town - Chest next to Blind': (0xEA13, False, 'Thieves\' Town'), '[dungeon-D4-B2] Thieves Town - Chest next to Blind': (0xEA13, False, 'in Thieves\' Town'),
'Blind - Heart Container': (0x180156, False, 'Thieves\' Town'), 'Blind - Heart Container': (0x180156, False, 'with Blind'),
'[dungeon-D3-B1] Skull Woods - Compass Room': (0xE992, False, 'Skull Woods'), '[dungeon-D3-B1] Skull Woods - Compass Room': (0xE992, False, 'in Skull Woods'),
'[dungeon-D3-B1] Skull Woods - East of Big Chest': (0xE99B, False, 'Skull Woods'), '[dungeon-D3-B1] Skull Woods - East of Big Chest': (0xE99B, False, 'in Skull Woods'),
'[dungeon-D3-B1] Skull Woods - Big Chest': (0xE998, False, 'Skull Woods'), '[dungeon-D3-B1] Skull Woods - Big Chest': (0xE998, False, 'in Skull Woods'),
'[dungeon-D3-B1] Skull Woods - Push Statue Room': (0xE9A1, False, 'Skull Woods'), '[dungeon-D3-B1] Skull Woods - Push Statue Room': (0xE9A1, False, 'in Skull Woods'),
'[dungeon-D3-B1] Skull Woods - South of Big Chest': (0xE9C8, False, 'Skull Woods'), '[dungeon-D3-B1] Skull Woods - South of Big Chest': (0xE9C8, False, 'in Skull Woods'),
'[dungeon-D3-B1] Skull Woods - Big Key Room': (0xE99E, False, 'Skull Woods'), '[dungeon-D3-B1] Skull Woods - Big Key Room': (0xE99E, False, 'in Skull Woods'),
'[dungeon-D3-B1] Skull Woods - Final Section Entrance': (0xE9FE, False, 'Skull Woods'), '[dungeon-D3-B1] Skull Woods - Final Section Entrance': (0xE9FE, False, 'near Mothula'),
'Mothula - Heart Container': (0x180155, False, 'Skull Woods'), 'Mothula - Heart Container': (0x180155, False, 'with Mothula'),
'[dungeon-D5-B1] Ice Palace - Compass Room': (0xE9D4, False, 'Ice Palace'), '[dungeon-D5-B1] Ice Palace - Compass Room': (0xE9D4, False, 'in Ice Palace'),
'[dungeon-D5-B4] Ice Palace - Above Big Chest': (0xE995, False, 'Ice Palace'), '[dungeon-D5-B4] Ice Palace - Above Big Chest': (0xE995, False, 'in Ice Palace'),
'[dungeon-D5-B5] Ice Palace - Big Chest': (0xE9AA, False, 'Ice Palace'), '[dungeon-D5-B5] Ice Palace - Big Chest': (0xE9AA, False, 'in Ice Palace'),
'[dungeon-D5-B5] Ice Palace - Jellyfish Room': (0xE9E3, False, 'Ice Palace'), '[dungeon-D5-B5] Ice Palace - Jellyfish Room': (0xE9E3, False, 'in Ice Palace'),
'[dungeon-D5-B3] Ice Palace - Spike Room': (0xE9E0, False, 'Ice Palace'), '[dungeon-D5-B3] Ice Palace - Spike Room': (0xE9E0, False, 'in Ice Palace'),
'[dungeon-D5-B1] Ice Palace - Big Key Room': (0xE9A4, False, 'Ice Palace'), '[dungeon-D5-B1] Ice Palace - Big Key Room': (0xE9A4, False, 'in Ice Palace'),
'[dungeon-D5-B2] Ice Palace - Map Room': (0xE9DD, False, 'Ice Palace'), '[dungeon-D5-B2] Ice Palace - Map Room': (0xE9DD, False, 'in Ice Palace'),
'Kholdstare - Heart Container': (0x180157, False, 'Ice Palace'), 'Kholdstare - Heart Container': (0x180157, False, 'with Kholdstare'),
'[dungeon-D6-B1] Misery Mire - Big Chest': (0xEA67, False, 'Misery Mire'), '[dungeon-D6-B1] Misery Mire - Big Chest': (0xEA67, False, 'in Misery Mire'),
'[dungeon-D6-B1] Misery Mire - Map Room': (0xEA6A, False, 'Misery Mire'), '[dungeon-D6-B1] Misery Mire - Map Room': (0xEA6A, False, 'in Misery Mire'),
'[dungeon-D6-B1] Misery Mire - Hub Room': (0xEA5E, False, 'Misery Mire'), '[dungeon-D6-B1] Misery Mire - Hub Room': (0xEA5E, False, 'in Misery Mire'),
'[dungeon-D6-B1] Misery Mire - End of Bridge': (0xEA61, False, 'Misery Mire'), '[dungeon-D6-B1] Misery Mire - End of Bridge': (0xEA61, False, 'in Misery Mire'),
'[dungeon-D6-B1] Misery Mire - Spike Room': (0xE9DA, False, 'Misery Mire'), '[dungeon-D6-B1] Misery Mire - Spike Room': (0xE9DA, False, 'in Misery Mire'),
'[dungeon-D6-B1] Misery Mire - Compass Room': (0xEA64, False, 'Misery Mire'), '[dungeon-D6-B1] Misery Mire - Compass Room': (0xEA64, False, 'in Misery Mire'),
'[dungeon-D6-B1] Misery Mire - Big Key Room': (0xEA6D, False, 'Misery Mire'), '[dungeon-D6-B1] Misery Mire - Big Key Room': (0xEA6D, False, 'in Misery Mire'),
'Vitreous - Heart Container': (0x180158, False, 'Misery Mire'), 'Vitreous - Heart Container': (0x180158, False, 'with Vitreous'),
'[dungeon-D7-1F] Turtle Rock - Compass Room': (0xEA22, False, 'Turtle Rock'), '[dungeon-D7-1F] Turtle Rock - Compass Room': (0xEA22, False, 'in Turtle Rock'),
'[dungeon-D7-1F] Turtle Rock - Map Room [left chest]': (0xEA1C, False, 'Turtle Rock'), '[dungeon-D7-1F] Turtle Rock - Map Room [left chest]': (0xEA1C, False, 'in Turtle Rock'),
'[dungeon-D7-1F] Turtle Rock - Map Room [right chest]': (0xEA1F, False, 'Turtle Rock'), '[dungeon-D7-1F] Turtle Rock - Map Room [right chest]': (0xEA1F, False, 'in Turtle Rock'),
'[dungeon-D7-1F] Turtle Rock - Chain Chomp Room': (0xEA16, False, 'Turtle Rock'), '[dungeon-D7-1F] Turtle Rock - Chain Chomp Room': (0xEA16, False, 'in Turtle Rock'),
'[dungeon-D7-B1] Turtle Rock - Big Key Room': (0xEA25, False, 'Turtle Rock'), '[dungeon-D7-B1] Turtle Rock - Big Key Room': (0xEA25, False, 'in Turtle Rock'),
'[dungeon-D7-B1] Turtle Rock - Big Chest': (0xEA19, False, 'Turtle Rock'), '[dungeon-D7-B1] Turtle Rock - Big Chest': (0xEA19, False, 'in Turtle Rock'),
'[dungeon-D7-B1] Turtle Rock - Roller Switch Room': (0xEA34, False, 'Turtle Rock'), '[dungeon-D7-B1] Turtle Rock - Roller Switch Room': (0xEA34, False, 'in Turtle Rock'),
'[dungeon-D7-B2] Turtle Rock - Eye Bridge Room [bottom left chest]': (0xEA31, False, 'Turtle Rock'), '[dungeon-D7-B2] Turtle Rock - Eye Bridge Room [bottom left chest]': (0xEA31, False, 'in Turtle Rock'),
'[dungeon-D7-B2] Turtle Rock - Eye Bridge Room [bottom right chest]': (0xEA2E, False, 'Turtle Rock'), '[dungeon-D7-B2] Turtle Rock - Eye Bridge Room [bottom right chest]': (0xEA2E, False, 'in Turtle Rock'),
'[dungeon-D7-B2] Turtle Rock - Eye Bridge Room [top left chest]': (0xEA2B, False, 'Turtle Rock'), '[dungeon-D7-B2] Turtle Rock - Eye Bridge Room [top left chest]': (0xEA2B, False, 'in Turtle Rock'),
'[dungeon-D7-B2] Turtle Rock - Eye Bridge Room [top right chest]': (0xEA28, False, 'Turtle Rock'), '[dungeon-D7-B2] Turtle Rock - Eye Bridge Room [top right chest]': (0xEA28, False, 'in Turtle Rock'),
'Trinexx - Heart Container': (0x180159, False, 'Turtle Rock'), 'Trinexx - Heart Container': (0x180159, False, 'with Trinexx'),
'[dungeon-D1-B1] Dark Palace - Shooter Room': (0xEA5B, False, 'Palace of Darkness'), '[dungeon-D1-B1] Dark Palace - Shooter Room': (0xEA5B, False, 'in Palace of Darkness'),
'[dungeon-D1-1F] Dark Palace - Jump Room [left chest]': (0xEA3A, False, 'Palace of Darkness'), '[dungeon-D1-1F] Dark Palace - Jump Room [left chest]': (0xEA3A, False, 'in Palace of Darkness'),
'[dungeon-D1-B1] Dark Palace - Turtle Stalfos Room': (0xEA49, False, 'Palace of Darkness'), '[dungeon-D1-B1] Dark Palace - Turtle Stalfos Room': (0xEA49, False, 'in Palace of Darkness'),
'[dungeon-D1-1F] Dark Palace - Big Key Room': (0xEA37, False, 'Palace of Darkness'), '[dungeon-D1-1F] Dark Palace - Big Key Room': (0xEA37, False, 'in Palace of Darkness'),
'[dungeon-D1-1F] Dark Palace - Jump Room [right chest]': (0xEA3D, False, 'Palace of Darkness'), '[dungeon-D1-1F] Dark Palace - Jump Room [right chest]': (0xEA3D, False, 'in Palace of Darkness'),
'[dungeon-D1-1F] Dark Palace - Statue Push Room': (0xEA52, False, 'Palace of Darkness'), '[dungeon-D1-1F] Dark Palace - Statue Push Room': (0xEA52, False, 'in Palace of Darkness'),
'[dungeon-D1-1F] Dark Palace - Compass Room': (0xEA43, False, 'Palace of Darkness'), '[dungeon-D1-1F] Dark Palace - Compass Room': (0xEA43, False, 'in Palace of Darkness'),
'[dungeon-D1-B1] Dark Palace - Dark Room [left chest]': (0xEA4C, False, 'Palace of Darkness'), '[dungeon-D1-B1] Dark Palace - Dark Room [left chest]': (0xEA4C, False, 'in Palace of Darkness'),
'[dungeon-D1-B1] Dark Palace - Dark Room [right chest]': (0xEA4F, False, 'Palace of Darkness'), '[dungeon-D1-B1] Dark Palace - Dark Room [right chest]': (0xEA4F, False, 'in Palace of Darkness'),
'[dungeon-D1-1F] Dark Palace - Maze Room [top chest]': (0xEA55, False, 'Palace of Darkness'), '[dungeon-D1-1F] Dark Palace - Maze Room [top chest]': (0xEA55, False, 'in Palace of Darkness'),
'[dungeon-D1-1F] Dark Palace - Maze Room [bottom chest]': (0xEA58, False, 'Palace of Darkness'), '[dungeon-D1-1F] Dark Palace - Maze Room [bottom chest]': (0xEA58, False, 'in Palace of Darkness'),
'[dungeon-D1-1F] Dark Palace - Big Chest': (0xEA40, False, 'Palace of Darkness'), '[dungeon-D1-1F] Dark Palace - Big Chest': (0xEA40, False, 'in Palace of Darkness'),
'[dungeon-D1-1F] Dark Palace - Spike Statue Room': (0xEA46, False, 'Palace of Darkness'), '[dungeon-D1-1F] Dark Palace - Spike Statue Room': (0xEA46, False, 'in Palace of Darkness'),
'Helmasaur - Heart Container': (0x180153, False, 'Palace of Darkness'), 'Helmasaur - Heart Container': (0x180153, False, 'with Helmasaur King'),
'[dungeon-A2-1F] Ganons Tower - Torch': (0x180161, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Torch': (0x180161, False, 'on my torch'),
'[dungeon-A2-1F] Ganons Tower - Right Staircase [left chest]': (0xEAD9, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Right Staircase [left chest]': (0xEAD9, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Right Staircase [right chest]': (0xEADC, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Right Staircase [right chest]': (0xEADC, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Tile Room': (0xEAE2, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Tile Room': (0xEAE2, False, 'with my tiles'),
'[dungeon-A2-1F] Ganons Tower - Compass Room [top left chest]': (0xEAE5, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Compass Room [top left chest]': (0xEAE5, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Compass Room [top right chest]': (0xEAE8, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Compass Room [top right chest]': (0xEAE8, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Compass Room [bottom left chest]': (0xEAEB, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Compass Room [bottom left chest]': (0xEAEB, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Compass Room [bottom right chest]': (0xEAEE, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Compass Room [bottom right chest]': (0xEAEE, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - North of Hookshot Room [top left chest]': (0xEAB8, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - North of Hookshot Room [top left chest]': (0xEAB8, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - North of Hookshot Room [top right chest]': (0xEABB, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - North of Hookshot Room [top right chest]': (0xEABB, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - North of Hookshot Room [bottom left chest]': (0xEABE, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - North of Hookshot Room [bottom left chest]': (0xEABE, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - North of Hookshot Room [bottom right chest]': (0xEAC1, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - North of Hookshot Room [bottom right chest]': (0xEAC1, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Map Room': (0xEAD3, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Map Room': (0xEAD3, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Firesnake Room': (0xEAD0, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Firesnake Room': (0xEAD0, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Teleport Room [top left chest]': (0xEAC4, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Teleport Room [top left chest]': (0xEAC4, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Teleport Room [top right chest]': (0xEAC7, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Teleport Room [top right chest]': (0xEAC7, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Teleport Room [bottom left chest]': (0xEACA, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Teleport Room [bottom left chest]': (0xEACA, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Teleport Room [bottom right chest]': (0xEACD, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Teleport Room [bottom right chest]': (0xEACD, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - above Armos': (0xEADF, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - above Armos': (0xEADF, False, 'in My Tower'),
'[dungeon-A2-1F] Ganons Tower - Big Chest': (0xEAD6, False, 'My Tower'), '[dungeon-A2-1F] Ganons Tower - Big Chest': (0xEAD6, False, 'in my big chest'),
'[dungeon-A2-B1] Ganons Tower - Armos Room [left chest]': (0xEAF4, False, 'My Tower'), '[dungeon-A2-B1] Ganons Tower - Armos Room [left chest]': (0xEAF4, False, 'beyond my Armos'),
'[dungeon-A2-B1] Ganons Tower - Armos Room [right chest]': (0xEAF7, False, 'My Tower'), '[dungeon-A2-B1] Ganons Tower - Armos Room [right chest]': (0xEAF7, False, 'beyond my Armos'),
'[dungeon-A2-B1] Ganons Tower - Armos Room [bottom chest]': (0xEAF1, False, 'My Tower'), '[dungeon-A2-B1] Ganons Tower - Armos Room [bottom chest]': (0xEAF1, False, 'beyond my Armos'),
'[dungeon-A2-6F] Ganons Tower - Mini Helmasaur Room [left chest]': (0xEAFD, False, 'My Tower'), '[dungeon-A2-6F] Ganons Tower - Mini Helmasaur Room [left chest]': (0xEAFD, False, 'atop My Tower'),
'[dungeon-A2-6F] Ganons Tower - Mini Helmasaur Room [right chest]': (0xEB00, False, 'My Tower'), '[dungeon-A2-6F] Ganons Tower - Mini Helmasaur Room [right chest]': (0xEB00, False, 'atop My Tower'),
'[dungeon-A2-6F] Ganons Tower - Room before Moldorm': (0xEB03, False, 'My Tower'), '[dungeon-A2-6F] Ganons Tower - Room before Moldorm': (0xEB03, False, 'atop My Tower'),
'[dungeon-A2-6F] Ganons Tower - Moldorm Room': (0xEB06, False, 'My Tower'), '[dungeon-A2-6F] Ganons Tower - Moldorm Room': (0xEB06, False, 'atop My Tower'),
'Ganon': (None, False, None), 'Ganon': (None, False, 'from me'),
'Armos - Pendant': ([0x1209D, 0x53EF8, 0x53EF9, 0x180052, 0x18007C, 0xC6FE], True, 'Eastern Palace'), 'Armos - Pendant': ([0x1209D, 0x53EF8, 0x53EF9, 0x180052, 0x18007C, 0xC6FE], True, 'Eastern Palace'),
'Lanmolas - Pendant': ([0x1209E, 0x53F1C, 0x53F1D, 0x180053, 0x180078, 0xC6FF], True, 'Desert Palace'), 'Lanmolas - Pendant': ([0x1209E, 0x53F1C, 0x53F1D, 0x180053, 0x180078, 0xC6FF], True, 'Desert Palace'),
'Moldorm - Pendant': ([0x120A5, 0x53F0A, 0x53F0B, 0x18005A, 0x18007A, 0xC706], True, 'Tower of Hera'), 'Moldorm - Pendant': ([0x120A5, 0x53F0A, 0x53F0B, 0x18005A, 0x18007A, 0xC706], True, 'Tower of Hera'),

View File

@ -95,7 +95,7 @@ def global_rules(world):
set_rule(world.get_location('Witch'), lambda state: state.has('Mushroom')) set_rule(world.get_location('Witch'), lambda state: state.has('Mushroom'))
set_rule(world.get_entrance('Desert Palace Entrance (North) Rocks'), lambda state: state.can_lift_rocks()) set_rule(world.get_entrance('Desert Palace Entrance (North) Rocks'), lambda state: state.can_lift_rocks())
set_rule(world.get_entrance('Desert Ledge Return Rocks'), lambda state: state.can_lift_rocks()) # should we decide to place something that is not a dungeon end up there at some point set_rule(world.get_entrance('Desert Ledge Return Rocks'), lambda state: state.can_lift_rocks()) # should we decide to place something that is not a dungeon end up there at some point
set_rule(world.get_entrance('Desert Cave'), lambda state: state.can_lift_rocks()) set_rule(world.get_entrance('Checkerboard Cave'), lambda state: state.can_lift_rocks())
set_rule(world.get_location('Altar'), lambda state: state.can_collect('Red Pendant') and state.can_collect('Blue Pendant') and state.can_collect('Green Pendant')) set_rule(world.get_location('Altar'), lambda state: state.can_collect('Red Pendant') and state.can_collect('Blue Pendant') and state.can_collect('Green Pendant'))
set_rule(world.get_location('Sahasrahla'), lambda state: state.can_collect('Green Pendant')) set_rule(world.get_location('Sahasrahla'), lambda state: state.can_collect('Green Pendant'))
set_rule(world.get_entrance('Agahnims Tower'), lambda state: state.has('Cape') or state.has_beam_sword() or state.can_reach('Agahnim 1')) # barrier gets removed after killing agahnim, relevant for entrance shuffle set_rule(world.get_entrance('Agahnims Tower'), lambda state: state.has('Cape') or state.has_beam_sword() or state.can_reach('Agahnim 1')) # barrier gets removed after killing agahnim, relevant for entrance shuffle
@ -104,8 +104,8 @@ def global_rules(world):
set_rule(world.get_entrance('Broken Bridge (West)'), lambda state: state.has('Hookshot')) set_rule(world.get_entrance('Broken Bridge (West)'), lambda state: state.has('Hookshot'))
set_rule(world.get_entrance('Broken Bridge (East)'), lambda state: state.has('Hookshot')) set_rule(world.get_entrance('Broken Bridge (East)'), lambda state: state.has('Hookshot'))
set_rule(world.get_entrance('East Death Mountain Teleporter'), lambda state: state.can_lift_heavy_rocks()) set_rule(world.get_entrance('East Death Mountain Teleporter'), lambda state: state.can_lift_heavy_rocks())
set_rule(world.get_entrance('Death Mountain Fairy Drop Area Rocks'), lambda state: state.can_lift_heavy_rocks()) set_rule(world.get_entrance('Fairy Ascension Rocks'), lambda state: state.can_lift_heavy_rocks())
set_rule(world.get_entrance('Death Mountain Climb Push Block Reverse'), lambda state: state.has('Mirror')) # can erase block set_rule(world.get_entrance('7 Chest Cave Push Block Reverse'), lambda state: state.has('Mirror')) # can erase block
set_rule(world.get_entrance('Death Mountain (Top)'), lambda state: state.has('Hammer')) set_rule(world.get_entrance('Death Mountain (Top)'), lambda state: state.has('Hammer'))
set_rule(world.get_entrance('Turtle Rock Teleporter'), lambda state: state.can_lift_heavy_rocks() and state.has('Hammer')) set_rule(world.get_entrance('Turtle Rock Teleporter'), lambda state: state.can_lift_heavy_rocks() and state.has('Hammer'))
set_rule(world.get_entrance('Turtle Rock Skull Mirror Spot'), lambda state: state.has_Mirror() and state.has('Hammer')) # if stuck, can mirror and hammer the pegs set_rule(world.get_entrance('Turtle Rock Skull Mirror Spot'), lambda state: state.has_Mirror() and state.has('Hammer')) # if stuck, can mirror and hammer the pegs
@ -165,15 +165,13 @@ def global_rules(world):
set_rule(world.get_entrance('Hookshot Cave'), lambda state: state.can_lift_rocks() and state.has_Pearl()) set_rule(world.get_entrance('Hookshot Cave'), lambda state: state.can_lift_rocks() and state.has_Pearl())
set_rule(world.get_entrance('East Death Mountain (Top) Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('East Death Mountain (Top) Mirror Spot'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('Mimic Cave Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Mimic Cave Mirror Spot'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('Death Mountain Fairy Drop Area Mirror Spot'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('Spiral Cave Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Spiral Cave Mirror Spot'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('Death Mountain Fairy Drop Area Rocks'), lambda state: state.can_lift_rocks()) set_rule(world.get_entrance('Fairy Ascension Mirror Spot'), lambda state: state.has_Mirror() and state.has_Pearl()) # need to lift flowers
set_rule(world.get_entrance('Death Mountain Fairy Drop Area Mirror Spot'), lambda state: state.has_Mirror() and state.has_Pearl()) # need to lift flowers
set_rule(world.get_entrance('Isolated Ledge Mirror Spot'), lambda state: state.has_Mirror()) set_rule(world.get_entrance('Isolated Ledge Mirror Spot'), lambda state: state.has_Mirror())
set_rule(world.get_entrance('Dark Death Mountain Climb (Top)'), lambda state: state.has_Pearl()) # Chests inside could be collected with super bunny, but may be shuffled. rather limit access for now ToDo set_rule(world.get_entrance('Dark Death Mountain Ascend (Top)'), lambda state: state.has_Pearl()) # Chests inside could be collected with super bunny, but may be shuffled. rather limit access for now ToDo
set_rule(world.get_entrance('Dark Death Mountain Climb (Bottom)'), lambda state: state.has_Pearl()) set_rule(world.get_entrance('Dark Death Mountain Ascend (Bottom)'), lambda state: state.has_Pearl())
set_rule(world.get_entrance('Cave Shop (Dark Death Mountain)'), lambda state: state.has_Pearl()) # just for save bunny algo for now set_rule(world.get_entrance('Cave Shop (Dark Death Mountain)'), lambda state: state.has_Pearl()) # just for save bunny algo for now
set_rule(world.get_entrance('Dark Death Mountain Climb Exit (Bottom)'), lambda state: False) # Cannot get to bottom exit from top. Just exists for shuffling set_rule(world.get_entrance('Dark Death Mountain Ascend Exit (Bottom)'), lambda state: False) # Cannot get to bottom exit from top. Just exists for shuffling
set_rule(world.get_location('[cave-055] Spike Cave'), lambda state: state.has('Hammer') and state.can_lift_rocks()) # damage should be survivable always somehow. MAY need more logic ToDo set_rule(world.get_location('[cave-055] Spike Cave'), lambda state: state.has('Hammer') and state.can_lift_rocks()) # damage should be survivable always somehow. MAY need more logic ToDo
set_rule(world.get_location('[cave-056] Hookshot Cave [top right chest]'), lambda state: state.has('Hookshot')) set_rule(world.get_location('[cave-056] Hookshot Cave [top right chest]'), lambda state: state.has('Hookshot'))
set_rule(world.get_location('[cave-056] Hookshot Cave [top left chest]'), lambda state: state.has('Hookshot')) set_rule(world.get_location('[cave-056] Hookshot Cave [top left chest]'), lambda state: state.has('Hookshot'))
@ -319,12 +317,12 @@ def no_glitches_rules(world):
set_rule(world.get_entrance('Dark Lake Hylia Teleporter'), lambda state: state.has_Pearl() and state.has('Flippers') and (state.has('Hammer') or state.can_lift_rocks())) set_rule(world.get_entrance('Dark Lake Hylia Teleporter'), lambda state: state.has_Pearl() and state.has('Flippers') and (state.has('Hammer') or state.can_lift_rocks()))
set_rule(world.get_entrance('Dark Lake Hylia Ledge Drop'), lambda state: state.has('Flippers')) set_rule(world.get_entrance('Dark Lake Hylia Ledge Drop'), lambda state: state.has('Flippers'))
add_rule(world.get_entrance('Ganons Tower (Hookshot Room)'), lambda state: state.has('Hookshot')) add_rule(world.get_entrance('Ganons Tower (Hookshot Room)'), lambda state: state.has('Hookshot'))
set_rule(world.get_entrance('Death Mountain Climb Push Block Reverse'), lambda state: False) # no glitches does not require block override set_rule(world.get_entrance('7 Chest Cave Push Block Reverse'), lambda state: False) # no glitches does not require block override
set_rule(world.get_entrance('Death Mountain Climb Bomb Jump'), lambda state: False) set_rule(world.get_entrance('7 Chest Cave Bomb Jump'), lambda state: False)
# Light cones in standard depend on which world we actually are in, not which one the location would normally be # Light cones in standard depend on which world we actually are in, not which one the location would normally be
# We add Lamp requirements only to those locations which lie in the dark world (or everything if open # We add Lamp requirements only to those locations which lie in the dark world (or everything if open
DW_Entrances = ['Bumper Cave (Bottom)', 'Dark Death Mountain Climb (Top)', 'Dark Death Mountain Climb (Bottom)', 'Hookshot Cave', 'Bumper Cave (Top)', 'Hookshot Cave Back Entrance', 'Dark Death Mountain Ledge (East)', DW_Entrances = ['Bumper Cave (Bottom)', 'Dark Death Mountain Ascend (Top)', 'Dark Death Mountain Ascend (Bottom)', 'Hookshot Cave', 'Bumper Cave (Top)', 'Hookshot Cave Back Entrance', 'Dark Death Mountain Ledge (East)',
'Turtle Rock Isolated Ledge Entrance', 'Thieves Town', 'Skull Woods Final Section', 'Ice Palace', 'Misery Mire', 'Palace of Darkness', 'Swamp Palace', 'Turtle Rock', 'Dark Death Mountain Ledge (West)'] 'Turtle Rock Isolated Ledge Entrance', 'Thieves Town', 'Skull Woods Final Section', 'Ice Palace', 'Misery Mire', 'Palace of Darkness', 'Swamp Palace', 'Turtle Rock', 'Dark Death Mountain Ledge (West)']
def check_is_dark_world(region): def check_is_dark_world(region):
@ -409,7 +407,7 @@ def set_big_bomb_rules(world):
'Tavern (Front)', 'Tavern (Front)',
'Light World Bomb Hut', 'Light World Bomb Hut',
'Kakariko Shop', 'Kakariko Shop',
'Lake Hylia Cave', 'Mini Moldorm Cave',
'Long Fairy Cave', 'Long Fairy Cave',
'Good Bee Cave', 'Good Bee Cave',
'20 Rupee Cave', '20 Rupee Cave',
@ -429,7 +427,7 @@ def set_big_bomb_rules(world):
'Dark Desert Cave', 'Dark Desert Cave',
'Dark Desert Hint', 'Dark Desert Hint',
'Dark Desert Fairy', 'Dark Desert Fairy',
'Desert Cave'] 'Checkerboard Cave']
Northern_DW_entrances = ['Doorless Hut', Northern_DW_entrances = ['Doorless Hut',
'C-Shaped House', 'C-Shaped House',
'Chest Game', 'Chest Game',