diff options
Diffstat (limited to 'apworld/context.py')
-rw-r--r-- | apworld/context.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/apworld/context.py b/apworld/context.py index a0ee34d..d59bf9d 100644 --- a/apworld/context.py +++ b/apworld/context.py | |||
@@ -550,8 +550,11 @@ async def process_game_cmd(manager: Lingo2Manager, args: dict): | |||
550 | elif cmd == "CheckWorldport": | 550 | elif cmd == "CheckWorldport": |
551 | port_id = args["port_id"] | 551 | port_id = args["port_id"] |
552 | worldports = {port_id} | 552 | worldports = {port_id} |
553 | if str(port_id) in manager.client_ctx.slot_data["port_pairings"]: | 553 | |
554 | worldports.add(manager.client_ctx.slot_data["port_pairings"][str(port_id)]) | 554 | # Also check the reverse port if it's a two-way connection. |
555 | port_pairings = manager.client_ctx.slot_data["port_pairings"] | ||
556 | if str(port_id) in port_pairings and port_pairings.get(str(port_pairings[str(port_id)]), None) == port_id: | ||
557 | worldports.add(port_pairings[str(port_id)]) | ||
555 | 558 | ||
556 | updates = manager.update_worldports(worldports) | 559 | updates = manager.update_worldports(worldports) |
557 | if len(updates) > 0: | 560 | if len(updates) > 0: |