about summary refs log tree commit diff stats
path: root/apworld/client/manager.gd
diff options
context:
space:
mode:
Diffstat (limited to 'apworld/client/manager.gd')
-rw-r--r--apworld/client/manager.gd13
1 files changed, 13 insertions, 0 deletions
diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index 00f03ea..f10a0b7 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd
@@ -67,6 +67,7 @@ const kEndingNameByVictoryValue = {
67} 67}
68 68
69var apworld_version = [0, 0, 0] 69var apworld_version = [0, 0, 0]
70var custom_mint_ending = ""
70var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2 71var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2
71var daedalus_only = false 72var daedalus_only = false
72var daedalus_roof_access = false 73var daedalus_roof_access = false
@@ -76,6 +77,7 @@ var endings_requirement = 0
76var fast_travel_access = 0 77var fast_travel_access = 0
77var keyholder_sanity = false 78var keyholder_sanity = false
78var masteries_requirement = 0 79var masteries_requirement = 0
80var music_mapping = {}
79var port_pairings = {} 81var port_pairings = {}
80var rte_mapping = [] 82var rte_mapping = []
81var shuffle_control_center_colors = false 83var shuffle_control_center_colors = false
@@ -84,6 +86,7 @@ var shuffle_gallery_paintings = false
84var shuffle_letters = kSHUFFLE_LETTERS_VANILLA 86var shuffle_letters = kSHUFFLE_LETTERS_VANILLA
85var shuffle_symbols = false 87var shuffle_symbols = false
86var shuffle_worldports = false 88var shuffle_worldports = false
89var slot_rng = null
87var strict_cyan_ending = false 90var strict_cyan_ending = false
88var strict_purple_ending = false 91var strict_purple_ending = false
89var victory_condition = -1 92var victory_condition = -1
@@ -476,6 +479,7 @@ func _client_connected(slot_data):
476 _last_new_item = localdata[0] 479 _last_new_item = localdata[0]
477 480
478 # Read slot data. 481 # Read slot data.
482 custom_mint_ending = slot_data.get("custom_mint_ending", "")
479 cyan_door_behavior = int(slot_data.get("cyan_door_behavior", 0)) 483 cyan_door_behavior = int(slot_data.get("cyan_door_behavior", 0))
480 daedalus_only = bool(slot_data.get("daedalus_only", false)) 484 daedalus_only = bool(slot_data.get("daedalus_only", false))
481 daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false)) 485 daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false))
@@ -514,6 +518,15 @@ func _client_connected(slot_data):
514 if slot_data.has("rte"): 518 if slot_data.has("rte"):
515 rte_mapping = slot_data.get("rte") 519 rte_mapping = slot_data.get("rte")
516 520
521 slot_rng = RandomNumberGenerator.new()
522 slot_rng.seed = int(slot_data.get("seed", 0))
523
524 music_mapping.clear()
525 if bool(slot_data.get("shuffle_music", false)):
526 for map_name in global.reserved_scenes:
527 var track_index = slot_rng.randi_range(0, musicPlayer.all_tracks.size() - 1)
528 music_mapping[map_name] = musicPlayer.all_tracks.keys()[track_index]
529
517 # Set up item locks. 530 # Set up item locks.
518 _item_locks = {} 531 _item_locks = {}
519 532