From bb4e4e308f8f73b1be8b717b5c0478a342c1196d Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Fri, 12 Sep 2025 11:01:30 -0400 Subject: Added gallery painting shuffle --- apworld/__init__.py | 1 + apworld/options.py | 6 ++++++ apworld/player_logic.py | 3 +++ 3 files changed, 10 insertions(+) (limited to 'apworld') 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): "keyholder_sanity", "shuffle_control_center_colors", "shuffle_doors", + "shuffle_gallery_paintings", "shuffle_letters", "shuffle_symbols", "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): display_name = "Shuffle Control Center Colors" +class ShuffleGalleryPaintings(Toggle): + """If enabled, gallery paintings will appear from receiving an item rather than by triggering them normally.""" + display_name = "Shuffle Gallery Paintings" + + class ShuffleLetters(Choice): """ 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): class Lingo2Options(PerGameCommonOptions): shuffle_doors: ShuffleDoors shuffle_control_center_colors: ShuffleControlCenterColors + shuffle_gallery_paintings: ShuffleGalleryPaintings shuffle_letters: ShuffleLetters shuffle_symbols: ShuffleSymbols 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: not self.world.options.shuffle_control_center_colors): continue + if door.type == data_pb2.DoorType.GALLERY_PAINTING and not self.world.options.shuffle_gallery_paintings: + continue + door_item_name = self.world.static_logic.get_door_item_name(door) self.item_by_door[door.id] = (door_item_name, 1) self.real_items.append(door_item_name) -- cgit 1.4.1