From 285dc48a2b7b21ced30fbab80bc20370cf7dceab Mon Sep 17 00:00:00 2001 From: aerinon Date: Mon, 7 Mar 2022 11:14:44 -0700 Subject: [PATCH] Couple minor rule fixes --- RELEASENOTES.md | 1 + Regions.py | 2 +- Rules.py | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1c27acee..a0eee3b7 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -152,6 +152,7 @@ Same as above but both small keys and bigs keys of the dungeon are not allowed o * Fix for items spawning where a thrown pot was * Fix for vanilla_fill, it now prioritizes heart container placements * Fix for dungeon counter showing up in AT/HC in crossed dungeon mode + * Fix for TR Dark Ride (again) and some ohko rules refinement * 1.0.1.8 * Every pot you pick up now counts toward the location count * A pot will de-spawn before the item under it does, error beep only plays if it still can't spawn diff --git a/Regions.py b/Regions.py index bb83a090..85a7938a 100644 --- a/Regions.py +++ b/Regions.py @@ -723,7 +723,7 @@ def create_dungeon_regions(world, player): create_dungeon_region(player, 'TR Crystaroller Middle - Ranged Crystal', 'Turtle Rock', None, ['TR Crystaroller Middle Ranged Crystal Exit']), create_dungeon_region(player, 'TR Crystaroller Bottom - Ranged Crystal', 'Turtle Rock', None, ['TR Crystaroller Bottom Ranged Crystal Exit']), create_dungeon_region(player, 'TR Dark Ride', 'Turtle Rock', None, ['TR Dark Ride Up Stairs', 'TR Dark Ride SW', 'TR Dark Ride Path']), - create_dungeon_region(player, 'TR Dark Ride Ledges', 'Turtle Rock', None, ['TR Dark Ride Up Stairs', 'TR Dark Ride SW', 'TR Dark Ride Ledges Path']), + create_dungeon_region(player, 'TR Dark Ride Ledges', 'Turtle Rock', None, ['TR Dark Ride Ledges Path']), create_dungeon_region(player, 'TR Dash Bridge', 'Turtle Rock', None, ['TR Dash Bridge NW', 'TR Dash Bridge SW', 'TR Dash Bridge WS']), create_dungeon_region(player, 'TR Eye Bridge', 'Turtle Rock', ['Turtle Rock - Eye Bridge - Bottom Left', 'Turtle Rock - Eye Bridge - Bottom Right', 'Turtle Rock - Eye Bridge - Top Left', 'Turtle Rock - Eye Bridge - Top Right'], diff --git a/Rules.py b/Rules.py index afd1a8c3..3375a238 100644 --- a/Rules.py +++ b/Rules.py @@ -347,7 +347,7 @@ def global_rules(world, player): set_rule(world.get_entrance('TR Dark Ride SW', player), lambda state: state.has('Cane of Somaria', player)) set_rule(world.get_entrance('TR Dark Ride Path', player), lambda state: state.has('Cane of Somaria', player)) set_rule(world.get_entrance('TR Dark Ride Ledges Path', player), lambda state: state.has('Cane of Somaria', player)) - for location in world.get_region('TR Dark Ride', player).locations: + for location in world.get_region('TR Dark Ride Ledges', player).locations: set_rule(location, lambda state: state.has('Cane of Somaria', player)) set_rule(world.get_entrance('TR Final Abyss Balcony Path', player), lambda state: state.has('Cane of Somaria', player)) set_rule(world.get_entrance('TR Final Abyss Ledge Path', player), lambda state: state.has('Cane of Somaria', player)) @@ -738,7 +738,10 @@ def pot_rules(world, player): add_rule(l, lambda state: state.can_use_bombs(player) or state.has_Boots(player)) for l in world.get_region('Dark Lake Hylia Ledge Spike Cave', player).locations: if l.type == LocationType.Pot: - add_rule(l, lambda state: state.world.can_take_damage or state.has('Hookshot', player)) + add_rule(l, lambda state: state.world.can_take_damage or state.has('Hookshot', player) + or state.has('Cape', player) + or (state.has('Cane of Byrna', player) + and state.world.difficulty_adjustments[player] == 'normal')) if world.pottery[player] in ['lottery', 'dungeon']: for l in world.get_region('Ice Hammer Block', player).locations: