From 424f5d4a830fb43f86c76d73d795412890d55bc2 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Mon, 22 Sep 2025 12:05:18 -0400 Subject: [Apworld] Added worldport shuffle --- apworld/rules.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'apworld/rules.py') diff --git a/apworld/rules.py b/apworld/rules.py index c077858..f859e75 100644 --- a/apworld/rules.py +++ b/apworld/rules.py @@ -54,10 +54,13 @@ def lingo2_can_satisfy_requirements(state: CollectionState, reqs: AccessRequirem return True def make_location_lambda(reqs: AccessRequirements, world: "Lingo2World", - regions: dict[str, Region]) -> Callable[[CollectionState], bool]: + regions: dict[str, Region] | None) -> Callable[[CollectionState], bool]: # Replace required rooms with regions for the top level requirement, which saves looking up the regions during rule # checking. - required_regions = [regions[room_name] for room_name in reqs.rooms] + if regions is not None: + required_regions = [regions[room_name] for room_name in reqs.rooms] + else: + required_regions = [world.multiworld.get_region(room_name, world.player) for room_name in reqs.rooms] new_reqs = reqs.copy() new_reqs.rooms.clear() return lambda state: lingo2_can_satisfy_requirements(state, new_reqs, required_regions, world) -- cgit 1.4.1