From 3c8b08329ba2b5fd8d561ca66a30d38aee77a82e Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Mon, 17 Mar 2025 17:01:20 -0500 Subject: [PATCH] fix lamp rules for multis --- ItemList.py | 17 +++-------------- Rules.py | 2 +- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/ItemList.py b/ItemList.py index 41561526..3c4f1239 100644 --- a/ItemList.py +++ b/ItemList.py @@ -1081,10 +1081,7 @@ def get_pool_core(world, player, progressive, shuffle, difficulty, treasure_hunt else: pool.extend(basicgloves) - if world.dark_rooms[player] in ['require_lamp']: - lamps_needed_for_dark_rooms = 1 - else: - lamps_needed_for_dark_rooms = 0 + lamps_needed_for_dark_rooms = 1 # old insanity shuffle didn't have fake LW/DW logic so this used to be conditional pool.extend(['Magic Mirror', 'Moon Pearl']) @@ -1304,10 +1301,7 @@ def make_custom_item_pool(world, player, progressive, shuffle, difficulty, timer diff = difficulties[difficulty] - if world.dark_rooms[player] in ['require_lamp']: - lamps_needed_for_dark_rooms = 1 - else: - lamps_needed_for_dark_rooms = 0 + lamps_needed_for_dark_rooms = 1 # expert+ difficulties produce the same contents for # all bottles, since only one bottle is available @@ -1517,12 +1511,7 @@ def make_customizer_pool(world, player): pool.remove('Fighter Sword') pool.append('Rupees (50)') - if world.dark_rooms[player] in ['require_lamp']: - lamps_needed_for_dark_rooms = 1 - else: - lamps_needed_for_dark_rooms = 0 - - return pool, placed_items, precollected_items, clock_mode, lamps_needed_for_dark_rooms + return pool, placed_items, precollected_items, clock_mode, 1 filler_items = { diff --git a/Rules.py b/Rules.py index 29c95a9b..72af10ba 100644 --- a/Rules.py +++ b/Rules.py @@ -189,7 +189,7 @@ def and_rule(rule1, rule2): def add_lamp_requirement(spot, player): - add_rule(spot, lambda state: state.has('Lamp', player, state.world.lamps_needed_for_dark_rooms)) + add_rule(spot, lambda state: state.world.dark_rooms[player] not in ['require_lamp'] or state.has('Lamp', player, state.world.lamps_needed_for_dark_rooms)) def forbid_item(location, item, player):