From e98e706598c8831381c222d18f8b75e699eabc08 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Fri, 10 Nov 2023 14:19:05 -0500 Subject: Lingo: Removed "Reached" event items (#2442) --- player_logic.py | 6 ------ rules.py | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/player_logic.py b/player_logic.py index 66fe317..abb975e 100644 --- a/player_logic.py +++ b/player_logic.py @@ -79,12 +79,6 @@ class LingoPlayerLogic: raise Exception("You cannot have reduced location checks when door shuffle is on, because there would not " "be enough locations for all of the door items.") - # Create an event for every room that represents being able to reach that room. - for room_name in ROOMS.keys(): - roomloc_name = f"{room_name} (Reached)" - self.add_location(room_name, PlayerLocation(roomloc_name, None, [])) - self.EVENT_LOC_TO_ITEM[roomloc_name] = roomloc_name - # Create an event for every door, representing whether that door has been opened. Also create event items for # doors that are event-only. for room_name, room_data in DOORS_BY_ROOM.items(): diff --git a/rules.py b/rules.py index 90c889b..d59b8a1 100644 --- a/rules.py +++ b/rules.py @@ -66,7 +66,7 @@ def _lingo_can_solve_panel(state: CollectionState, start_room: str, room: str, p """ Determines whether a panel can be solved """ - if start_room != room and not state.has(f"{room} (Reached)", world.player): + if start_room != room and not state.can_reach(room, "Region", world.player): return False if room == "Second Room" and panel == "ANOTHER TRY" \ @@ -76,7 +76,7 @@ def _lingo_can_solve_panel(state: CollectionState, start_room: str, room: str, p panel_object = PANELS_BY_ROOM[room][panel] for req_room in panel_object.required_rooms: - if not state.has(f"{req_room} (Reached)", world.player): + if not state.can_reach(req_room, "Region", world.player): return False for req_door in panel_object.required_doors: -- cgit 1.4.1