about summary refs log tree commit diff stats
path: root/apworld/rules.py
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-06 09:19:22 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-06 09:19:22 -0400
commitebda0b634c2396338b86b45128bf507c967e88a7 (patch)
tree80324582c52350c262dd4b5b7a824401ce6ebe4a /apworld/rules.py
parentcc58fb28a7825f562c874b56fa08656096cc6a6c (diff)
downloadlingo2-archipelago-ebda0b634c2396338b86b45128bf507c967e88a7.tar.gz
lingo2-archipelago-ebda0b634c2396338b86b45128bf507c967e88a7.tar.bz2
lingo2-archipelago-ebda0b634c2396338b86b45128bf507c967e88a7.zip
[Apworld] Added letter shuffle
Diffstat (limited to 'apworld/rules.py')
-rw-r--r--apworld/rules.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/apworld/rules.py b/apworld/rules.py index 5e20de5..56486fa 100644 --- a/apworld/rules.py +++ b/apworld/rules.py
@@ -24,6 +24,11 @@ def lingo2_can_satisfy_requirements(state: CollectionState, reqs: AccessRequirem
24 if not state.has(letter_key, world.player, letter_level): 24 if not state.has(letter_key, world.player, letter_level):
25 return False 25 return False
26 26
27 if reqs.cyans:
28 if not any(state.has(letter, world.player, amount)
29 for letter, amount in world.player_logic.double_letter_amount.items()):
30 return False
31
27 if len(reqs.or_logic) > 0: 32 if len(reqs.or_logic) > 0:
28 if not all(any(lingo2_can_satisfy_requirements(state, sub_reqs, world) for sub_reqs in subjunction) 33 if not all(any(lingo2_can_satisfy_requirements(state, sub_reqs, world) for sub_reqs in subjunction)
29 for subjunction in reqs.or_logic): 34 for subjunction in reqs.or_logic):