about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--client/Archipelago/manager.gd17
1 files changed, 17 insertions, 0 deletions
diff --git a/client/Archipelago/manager.gd b/client/Archipelago/manager.gd index bcb21e7..72abf34 100644 --- a/client/Archipelago/manager.gd +++ b/client/Archipelago/manager.gd
@@ -38,6 +38,7 @@ const kLETTER_BEHAVIOR_UNLOCKED = 2
38 38
39var daedalus_roof_access = false 39var daedalus_roof_access = false
40var keyholder_sanity = false 40var keyholder_sanity = false
41var shuffle_control_center_colors = false
41var shuffle_doors = false 42var shuffle_doors = false
42var shuffle_letters = kSHUFFLE_LETTERS_VANILLA 43var shuffle_letters = kSHUFFLE_LETTERS_VANILLA
43var victory_condition = -1 44var victory_condition = -1
@@ -339,6 +340,7 @@ func _client_connected(slot_data):
339 # Read slot data. 340 # Read slot data.
340 daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false)) 341 daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false))
341 keyholder_sanity = bool(slot_data.get("keyholder_sanity", false)) 342 keyholder_sanity = bool(slot_data.get("keyholder_sanity", false))
343 shuffle_control_center_colors = bool(slot_data.get("shuffle_control_center_colors", false))
342 shuffle_doors = bool(slot_data.get("shuffle_doors", false)) 344 shuffle_doors = bool(slot_data.get("shuffle_doors", false))
343 shuffle_letters = int(slot_data.get("shuffle_letters", 0)) 345 shuffle_letters = int(slot_data.get("shuffle_letters", 0))
344 victory_condition = int(slot_data.get("victory_condition", 0)) 346 victory_condition = int(slot_data.get("victory_condition", 0))
@@ -359,6 +361,21 @@ func _client_connected(slot_data):
359 var door = gamedata.objects.get_doors()[progressive.get_doors()[i]] 361 var door = gamedata.objects.get_doors()[progressive.get_doors()[i]]
360 _item_locks[door.get_id()] = [progressive.get_ap_id(), i + 1] 362 _item_locks[door.get_id()] = [progressive.get_ap_id(), i + 1]
361 363
364 for door_group in gamedata.objects.get_door_groups():
365 if door_group.get_type() == gamedata.SCRIPT_proto.DoorGroupType.CONNECTOR:
366 for door in door_group.get_doors():
367 _item_locks[door] = [door_group.get_ap_id(), 1]
368
369 if shuffle_control_center_colors:
370 for door in gamedata.objects.get_doors():
371 if door.get_type() == gamedata.SCRIPT_proto.DoorType.CONTROL_CENTER_COLOR:
372 _item_locks[door.get_id()] = [door.get_ap_id(), 1]
373
374 for door_group in gamedata.objects.get_door_groups():
375 if door_group.get_type() == gamedata.SCRIPT_proto.DoorGroupType.COLOR_CONNECTOR:
376 for door in door_group.get_doors():
377 _item_locks[door] = [door_group.get_ap_id(), 1]
378
362 emit_signal("ap_connected") 379 emit_signal("ap_connected")
363 380
364 381