From ebda0b634c2396338b86b45128bf507c967e88a7 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 6 Sep 2025 09:19:22 -0400 Subject: [Apworld] Added letter shuffle --- apworld/options.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'apworld/options.py') diff --git a/apworld/options.py b/apworld/options.py index 3216dff..f7dc5bd 100644 --- a/apworld/options.py +++ b/apworld/options.py @@ -8,6 +8,29 @@ class ShuffleDoors(Toggle): display_name = "Shuffle Doors" +class ShuffleLetters(Choice): + """ + Controls how letter unlocks are handled. Note that H1, I1, N1, and T1 will always be present at their vanilla + locations in the starting room, even if letters are shuffled remotely. + + - **Vanilla**: All letters will be present at their vanilla locations. + - **Unlocked**: Players will start with their keyboards fully unlocked. + - **Progressive**: Two items will be added to the pool for every letter (one for H, I, N, and T). Receiving the + first item gives you the corresponding level 1 letter, and the second item gives you the corresponding level 2 + letter. + - **Vanilla Cyan**: Players will start with all level 1 (purple) letters unlocked. Level 2 (cyan) letters will be + present at their vanilla locations. + - **Item Cyan**: Players will start with all level 1 (purple) letters unlocked. One item will be added to the pool + for every level 2 (cyan) letter. + """ + display_name = "Shuffle Letters" + option_vanilla = 0 + option_unlocked = 1 + option_progressive = 2 + option_vanilla_cyan = 3 + option_item_cyan = 4 + + class KeyholderSanity(Toggle): """ If enabled, 26 locations will be created for placing each key into its respective Green Ending keyholder. @@ -48,6 +71,7 @@ class VictoryCondition(Choice): @dataclass class Lingo2Options(PerGameCommonOptions): shuffle_doors: ShuffleDoors + shuffle_letters: ShuffleLetters keyholder_sanity: KeyholderSanity daedalus_roof_access: DaedalusRoofAccess victory_condition: VictoryCondition -- cgit 1.4.1