diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-12 11:01:30 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-12 11:01:30 -0400 |
commit | bb4e4e308f8f73b1be8b717b5c0478a342c1196d (patch) | |
tree | dc21b2b529688ac1ab2b22cb3b8e3c1d4f672832 /apworld | |
parent | 7426eb86fb2e7313607493becab262fe3115ce7b (diff) | |
download | lingo2-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__.py | 1 | ||||
-rw-r--r-- | apworld/options.py | 6 | ||||
-rw-r--r-- | apworld/player_logic.py | 3 |
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 | ||
19 | class 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 | |||
19 | class ShuffleLetters(Choice): | 24 | class 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): | |||
125 | class Lingo2Options(PerGameCommonOptions): | 130 | class 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) |