about summary refs log tree commit diff stats
path: root/apworld
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-12 11:01:30 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-12 11:01:30 -0400
commitbb4e4e308f8f73b1be8b717b5c0478a342c1196d (patch)
treedc21b2b529688ac1ab2b22cb3b8e3c1d4f672832 /apworld
parent7426eb86fb2e7313607493becab262fe3115ce7b (diff)
downloadlingo2-archipelago-bb4e4e308f8f73b1be8b717b5c0478a342c1196d.tar.gz
lingo2-archipelago-bb4e4e308f8f73b1be8b717b5c0478a342c1196d.tar.bz2
lingo2-archipelago-bb4e4e308f8f73b1be8b717b5c0478a342c1196d.zip
Added gallery painting shuffle
Diffstat (limited to 'apworld')
-rw-r--r--apworld/__init__.py1
-rw-r--r--apworld/options.py6
-rw-r--r--apworld/player_logic.py3
3 files changed, 10 insertions, 0 deletions
diff --git a/apworld/__init__.py b/apworld/__init__.py index 4044d76..54f870f 100644 --- a/apworld/__init__.py +++ b/apworld/__init__.py
@@ -82,6 +82,7 @@ class Lingo2World(World):
82 "keyholder_sanity", 82 "keyholder_sanity",
83 "shuffle_control_center_colors", 83 "shuffle_control_center_colors",
84 "shuffle_doors", 84 "shuffle_doors",
85 "shuffle_gallery_paintings",
85 "shuffle_letters", 86 "shuffle_letters",
86 "shuffle_symbols", 87 "shuffle_symbols",
87 "victory_condition", 88 "victory_condition",
diff --git a/apworld/options.py b/apworld/options.py index 240f8af..4f0b32a 100644 --- a/apworld/options.py +++ b/apworld/options.py
@@ -16,6 +16,11 @@ class ShuffleControlCenterColors(Toggle):
16 display_name = "Shuffle Control Center Colors" 16 display_name = "Shuffle Control Center Colors"
17 17
18 18
19class ShuffleGalleryPaintings(Toggle):
20 """If enabled, gallery paintings will appear from receiving an item rather than by triggering them normally."""
21 display_name = "Shuffle Gallery Paintings"
22
23
19class ShuffleLetters(Choice): 24class ShuffleLetters(Choice):
20 """ 25 """
21 Controls how letter unlocks are handled. Note that H1, I1, N1, and T1 will always be present at their vanilla 26 Controls how letter unlocks are handled. Note that H1, I1, N1, and T1 will always be present at their vanilla
@@ -125,6 +130,7 @@ class VictoryCondition(Choice):
125class Lingo2Options(PerGameCommonOptions): 130class Lingo2Options(PerGameCommonOptions):
126 shuffle_doors: ShuffleDoors 131 shuffle_doors: ShuffleDoors
127 shuffle_control_center_colors: ShuffleControlCenterColors 132 shuffle_control_center_colors: ShuffleControlCenterColors
133 shuffle_gallery_paintings: ShuffleGalleryPaintings
128 shuffle_letters: ShuffleLetters 134 shuffle_letters: ShuffleLetters
129 shuffle_symbols: ShuffleSymbols 135 shuffle_symbols: ShuffleSymbols
130 keyholder_sanity: KeyholderSanity 136 keyholder_sanity: KeyholderSanity
diff --git a/apworld/player_logic.py b/apworld/player_logic.py index d435bbc..2ff7163 100644 --- a/apworld/player_logic.py +++ b/apworld/player_logic.py
@@ -190,6 +190,9 @@ class Lingo2PlayerLogic:
190 not self.world.options.shuffle_control_center_colors): 190 not self.world.options.shuffle_control_center_colors):
191 continue 191 continue
192 192
193 if door.type == data_pb2.DoorType.GALLERY_PAINTING and not self.world.options.shuffle_gallery_paintings:
194 continue
195
193 door_item_name = self.world.static_logic.get_door_item_name(door) 196 door_item_name = self.world.static_logic.get_door_item_name(door)
194 self.item_by_door[door.id] = (door_item_name, 1) 197 self.item_by_door[door.id] = (door_item_name, 1)
195 self.real_items.append(door_item_name) 198 self.real_items.append(door_item_name)