From f6d774b13f589c249b3e3158ee9cadffa542635f Mon Sep 17 00:00:00 2001 From: aerinon Date: Fri, 14 Nov 2025 13:24:08 -0700 Subject: [PATCH] fix: potential fix for GT basement --- DoorShuffle.py | 7 ++++++- Rules.py | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/DoorShuffle.py b/DoorShuffle.py index e2e25390..32b15ec5 100644 --- a/DoorShuffle.py +++ b/DoorShuffle.py @@ -290,7 +290,12 @@ def vanilla_key_logic(world, player): create_alternative_door_rules('Mire Map Spike Side Blue Barrier', 2, 'Misery Mire', world, player) create_alternative_door_rules('Mire Crystal Dead End Left Barrier', 2, 'Misery Mire', world, player) create_alternative_door_rules('Mire Crystal Dead End Right Barrier', 2, 'Misery Mire', world, player) - # gt logic? I'm unsure it needs adjusting + # gt logic + conveyor_star_pits_door = world.key_logic[player]['Ganons Tower'].door_rules['GT Conveyor Star Pits EN'] + firesnake_door = world.key_logic[player]['Ganons Tower'].door_rules['GT Firesnake Room SW'] + firesnake_door.alternate_big_key_loc.update(conveyor_star_pits_door.alternate_big_key_loc) + tile_door = world.key_logic[player]['Ganons Tower'].door_rules['GT Tile Room EN'] + tile_door.alternate_big_key_loc.update(conveyor_star_pits_door.alternate_big_key_loc) def create_alternative_door_rules(door, amount, dungeon, world, player): diff --git a/Rules.py b/Rules.py index c0368efd..5d059a5c 100644 --- a/Rules.py +++ b/Rules.py @@ -2434,6 +2434,9 @@ def eval_small_key_door_partial_main(state, door_name, dungeon, player): number = min(number, door_rule.alternate_small_key) door_openable |= state.has_sm_key(key_logic.small_key_name, player, number) break + if state.placing_items and any(lock_item == item.name for item in state.placing_items): + number = min(number, door_rule.alternate_small_key) + door_openable |= state.has_sm_key(key_logic.small_key_name, player, number) return door_openable