diff --git a/ItemList.py b/ItemList.py index b36e071b..26b20c03 100644 --- a/ItemList.py +++ b/ItemList.py @@ -252,6 +252,9 @@ def generate_itempool(world, player): world.push_item(world.get_location('Swamp Drain', player), ItemFactory('Drained Swamp', player), False) world.get_location('Swamp Drain', player).event = True world.get_location('Swamp Drain', player).locked = True + world.push_item(world.get_location('Turtle Medallion Pad', player), ItemFactory('Turtle Opened', player), False) + world.get_location('Turtle Medallion Pad', player).event = True + world.get_location('Turtle Medallion Pad', player).locked = True world.push_item(world.get_location('Attic Cracked Floor', player), ItemFactory('Shining Light', player), False) world.get_location('Attic Cracked Floor', player).event = True world.get_location('Attic Cracked Floor', player).locked = True diff --git a/Items.py b/Items.py index e64b0bda..8b04e01c 100644 --- a/Items.py +++ b/Items.py @@ -191,6 +191,7 @@ item_table = {'Bow': (True, False, None, 0x0B, 200, 'You have\nchosen the\narche 'Trench 1 Filled': (True, False, 'Event', 999, None, None, None, None, None, None, None, None), 'Trench 2 Filled': (True, False, 'Event', 999, None, None, None, None, None, None, None, None), 'Drained Swamp': (True, False, 'Event', 999, None, None, None, None, None, None, None, None), + 'Turtle Opened': (True, False, 'Event', 999, None, None, None, None, None, None, None, None), 'Shining Light': (True, False, 'Event', 999, None, None, None, None, None, None, None, None), 'Maiden Rescued': (True, False, 'Event', 999, None, None, None, None, None, None, None, None), 'Maiden Unmasked': (True, False, 'Event', 999, None, None, None, None, None, None, None, None), diff --git a/Regions.py b/Regions.py index 8f637e3a..8eba88ee 100644 --- a/Regions.py +++ b/Regions.py @@ -145,7 +145,7 @@ def create_regions(world, player): create_dw_region(player, 'Dark Death Mountain Isolated Ledge', None, ['Turtle Rock Isolated Ledge Entrance', 'Isolated Ledge Mirror Spot'], 'a dark vista'), create_dw_region(player, 'Dark Death Mountain Floating Island', None, ['Floating Island Drop', 'Hookshot Cave Back Entrance', 'Floating Island Mirror Spot'], 'a dark floating island'), create_dw_region(player, 'Turtle Rock Area', None, ['Turtle Rock Tail Ledge Drop', 'Turtle Rock', 'TR Pegs Area Mirror Spot', 'Turtle Rock WN']), - create_dw_region(player, 'Turtle Rock Ledge', None, ['Turtle Rock Ledge Drop', 'Turtle Rock Teleporter']), + create_dw_region(player, 'Turtle Rock Ledge', ['Turtle Medallion Pad'], ['Turtle Rock Ledge Drop', 'Turtle Rock Teleporter']), create_dw_region(player, 'Bumper Cave Area', None, ['Bumper Cave Entrance Rock', 'Mountain Entry Mirror Spot', 'Bumper Cave NW', 'Bumper Cave SE']), create_dw_region(player, 'Bumper Cave Entrance', None, ['Bumper Cave Ledge Drop', 'Bumper Cave (Bottom)', 'Mountain Entry Entrance Mirror Spot']), create_dw_region(player, 'Bumper Cave Ledge', ['Bumper Cave Ledge'], ['Bumper Cave Entrance Drop', 'Bumper Cave (Top)', 'Mountain Entry Ledge Mirror Spot'], 'a ledge with an item'), @@ -1598,6 +1598,7 @@ location_table = {'Mushroom': (0x180013, 0x186338, False, 'in the woods'), 'Trench 1 Switch': (None, None, False, None), 'Trench 2 Switch': (None, None, False, None), 'Swamp Drain': (None, None, False, None), + 'Turtle Medallion Pad': (None, None, False, None), 'Attic Cracked Floor': (None, None, False, None), 'Suspicious Maiden': (None, None, False, None), 'Revealing Light': (None, None, False, None), diff --git a/Rules.py b/Rules.py index 5dc042a3..f31c874d 100644 --- a/Rules.py +++ b/Rules.py @@ -854,7 +854,7 @@ def default_rules(world, player): set_rule(world.get_entrance('20 Rupee Cave', player), lambda state: state.can_lift_rocks(player)) set_rule(world.get_entrance('Skull Woods Final Section', player), lambda state: state.has('Fire Rod', player)) set_rule(world.get_entrance('Hookshot Cave', player), lambda state: state.can_lift_rocks(player)) - set_rule(world.get_entrance('Turtle Rock', player), lambda state: state.has_sword(player) and state.has_turtle_rock_medallion(player) and state.can_reach('Turtle Rock Ledge', 'Region', player)) # sword required to cast magic (!) + set_rule(world.get_entrance('Turtle Rock', player), lambda state: state.has_sword(player) and state.has_turtle_rock_medallion(player) and state.has('Turtle Opened', player)) # sword required to cast magic (!) set_rule(world.get_entrance('Dark World Hammer Peg Cave', player), lambda state: state.has('Hammer', player)) set_rule(world.get_entrance('Bonk Fairy (Dark)', player), lambda state: state.has_Boots(player)) set_rule(world.get_entrance('Misery Mire', player), lambda state: state.has_sword(player) and state.has_misery_mire_medallion(player)) # sword required to cast magic (!) @@ -1327,6 +1327,7 @@ def ow_bunny_rules(world, player): add_bunny_rule(world.get_location('Zora\'s Ledge', player), player) add_bunny_rule(world.get_location('Maze Race', player), player) add_bunny_rule(world.get_location('Flute Spot', player), player) + add_bunny_rule(world.get_location('Turtle Medallion Pad', player), player) add_bunny_rule(world.get_location('Catfish', player), player) add_bunny_rule(world.get_entrance('Lost Woods Hideout Drop', player), player) @@ -1345,7 +1346,6 @@ def ow_bunny_rules(world, player): add_bunny_rule(world.get_entrance('Skull Woods Second Section Hole', player), player) # bunny cannot lift bush add_bunny_rule(world.get_entrance('Skull Woods Final Section', player), player) # bunny cannot use fire rod add_bunny_rule(world.get_entrance('Hookshot Cave', player), player) - add_bunny_rule(world.get_entrance('Turtle Rock', player), player) add_bunny_rule(world.get_entrance('Thieves Town', player), player) # bunny cannot pull add_bunny_rule(world.get_entrance('Brewery', player), player) # bomb required add_bunny_rule(world.get_entrance('Palace of Darkness', player), player) # kiki needs pearl @@ -1656,7 +1656,7 @@ def swordless_rules(world, player): set_rule(world.get_entrance('Agahnims Tower', player), lambda state: state.has('Cape', player) or state.has('Hammer', player) or state.has_beaten_aga(player)) # barrier gets removed after killing agahnim, relevant for entrance shuffle set_rule(world.get_entrance('Misery Mire', player), lambda state: state.has_misery_mire_medallion(player)) # sword not required to use medallion for opening in swordless (!) - set_rule(world.get_entrance('Turtle Rock', player), lambda state: state.has_turtle_rock_medallion(player) and state.can_reach('Turtle Rock Ledge', 'Region', player)) # sword not required to use medallion for opening in swordless (!) + set_rule(world.get_entrance('Turtle Rock', player), lambda state: state.has_turtle_rock_medallion(player) and state.has('Turtle Opened', player)) # sword not required to use medallion for opening in swordless (!) add_bunny_rule(world.get_entrance('Misery Mire', player), player) add_bunny_rule(world.get_entrance('Turtle Rock', player), player)