diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-14 12:30:12 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-14 12:32:43 -0400 |
commit | a17b7e1cbfb43141af21263f838f9593836a9c52 (patch) | |
tree | 453b8a6193e9c9c22863d6de5ecf6bffe3f6dfc6 /apworld/regions.py | |
parent | 0fbaff9e15d1214192bd2b70bf4bc90d873727b6 (diff) | |
download | lingo2-archipelago-a17b7e1cbfb43141af21263f838f9593836a9c52.tar.gz lingo2-archipelago-a17b7e1cbfb43141af21263f838f9593836a9c52.tar.bz2 lingo2-archipelago-a17b7e1cbfb43141af21263f838f9593836a9c52.zip |
Fixed some issues with door logic
If a door is shuffled, the door's item should be used in connections and in requirements specified by panels, ports, paintings, and other doors. However, the original requirements still need to be used for locations.
Diffstat (limited to 'apworld/regions.py')
-rw-r--r-- | apworld/regions.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/apworld/regions.py b/apworld/regions.py index 2a850ef..14fcaac 100644 --- a/apworld/regions.py +++ b/apworld/regions.py | |||
@@ -41,7 +41,7 @@ def create_regions(world: "Lingo2World"): | |||
41 | reqs = AccessRequirements() | 41 | reqs = AccessRequirements() |
42 | 42 | ||
43 | if connection.HasField("required_door"): | 43 | if connection.HasField("required_door"): |
44 | reqs.merge(world.player_logic.get_door_reqs(connection.required_door)) | 44 | reqs.merge(world.player_logic.get_door_open_reqs(connection.required_door)) |
45 | 45 | ||
46 | door = world.static_logic.objects.doors[connection.required_door] | 46 | door = world.static_logic.objects.doors[connection.required_door] |
47 | wmap = world.static_logic.objects.maps[door.map_id] | 47 | wmap = world.static_logic.objects.maps[door.map_id] |
@@ -52,14 +52,14 @@ def create_regions(world: "Lingo2World"): | |||
52 | connection_name = f"{connection_name} (via port {port.name})" | 52 | connection_name = f"{connection_name} (via port {port.name})" |
53 | 53 | ||
54 | if port.HasField("required_door"): | 54 | if port.HasField("required_door"): |
55 | reqs.merge(world.player_logic.get_door_reqs(port.required_door)) | 55 | reqs.merge(world.player_logic.get_door_open_reqs(port.required_door)) |
56 | 56 | ||
57 | if connection.HasField("painting"): | 57 | if connection.HasField("painting"): |
58 | painting = world.static_logic.objects.paintings[connection.painting] | 58 | painting = world.static_logic.objects.paintings[connection.painting] |
59 | connection_name = f"{connection_name} (via painting {painting.name})" | 59 | connection_name = f"{connection_name} (via painting {painting.name})" |
60 | 60 | ||
61 | if painting.HasField("required_door"): | 61 | if painting.HasField("required_door"): |
62 | reqs.merge(world.player_logic.get_door_reqs(painting.required_door)) | 62 | reqs.merge(world.player_logic.get_door_open_reqs(painting.required_door)) |
63 | 63 | ||
64 | if connection.HasField("panel"): | 64 | if connection.HasField("panel"): |
65 | proxy = connection.panel | 65 | proxy = connection.panel |