From 0b5e237095c3337a1747c6294e4fbcd223ead6e0 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Fri, 12 Sep 2025 11:12:18 -0400 Subject: [Client] Handle gallery painting shuffle --- client/Archipelago/manager.gd | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/client/Archipelago/manager.gd b/client/Archipelago/manager.gd index 25f68c1..32882c2 100644 --- a/client/Archipelago/manager.gd +++ b/client/Archipelago/manager.gd @@ -46,6 +46,7 @@ var daedalus_roof_access = false var keyholder_sanity = false var shuffle_control_center_colors = false var shuffle_doors = false +var shuffle_gallery_paintings = false var shuffle_letters = kSHUFFLE_LETTERS_VANILLA var shuffle_symbols = false var victory_condition = -1 @@ -361,6 +362,7 @@ func _client_connected(slot_data): keyholder_sanity = bool(slot_data.get("keyholder_sanity", false)) shuffle_control_center_colors = bool(slot_data.get("shuffle_control_center_colors", false)) shuffle_doors = bool(slot_data.get("shuffle_doors", false)) + shuffle_gallery_paintings = bool(slot_data.get("shuffle_gallery_paintings", false)) shuffle_letters = int(slot_data.get("shuffle_letters", 0)) shuffle_symbols = bool(slot_data.get("shuffle_symbols", false)) victory_condition = int(slot_data.get("victory_condition", 0)) @@ -399,6 +401,11 @@ func _client_connected(slot_data): for door in door_group.get_doors(): _item_locks[door] = [door_group.get_ap_id(), 1] + if shuffle_gallery_paintings: + for door in gamedata.objects.get_doors(): + if door.get_type() == gamedata.SCRIPT_proto.DoorType.GALLERY_PAINTING: + _item_locks[door.get_id()] = [door.get_ap_id(), 1] + if cyan_door_behavior == kCYAN_DOOR_BEHAVIOR_ITEM: for door_group in gamedata.objects.get_door_groups(): if door_group.get_type() == gamedata.SCRIPT_proto.DoorGroupType.CYAN_DOORS: -- cgit 1.4.1