diff options
Diffstat (limited to 'apworld/client/manager.gd')
| -rw-r--r-- | apworld/client/manager.gd | 13 |
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 | ||
| 69 | var apworld_version = [0, 0, 0] | 69 | var apworld_version = [0, 0, 0] |
| 70 | var custom_mint_ending = "" | ||
| 70 | var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2 | 71 | var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2 |
| 71 | var daedalus_only = false | 72 | var daedalus_only = false |
| 72 | var daedalus_roof_access = false | 73 | var daedalus_roof_access = false |
| @@ -76,6 +77,7 @@ var endings_requirement = 0 | |||
| 76 | var fast_travel_access = 0 | 77 | var fast_travel_access = 0 |
| 77 | var keyholder_sanity = false | 78 | var keyholder_sanity = false |
| 78 | var masteries_requirement = 0 | 79 | var masteries_requirement = 0 |
| 80 | var music_mapping = {} | ||
| 79 | var port_pairings = {} | 81 | var port_pairings = {} |
| 80 | var rte_mapping = [] | 82 | var rte_mapping = [] |
| 81 | var shuffle_control_center_colors = false | 83 | var shuffle_control_center_colors = false |
| @@ -84,6 +86,7 @@ var shuffle_gallery_paintings = false | |||
| 84 | var shuffle_letters = kSHUFFLE_LETTERS_VANILLA | 86 | var shuffle_letters = kSHUFFLE_LETTERS_VANILLA |
| 85 | var shuffle_symbols = false | 87 | var shuffle_symbols = false |
| 86 | var shuffle_worldports = false | 88 | var shuffle_worldports = false |
| 89 | var slot_rng = null | ||
| 87 | var strict_cyan_ending = false | 90 | var strict_cyan_ending = false |
| 88 | var strict_purple_ending = false | 91 | var strict_purple_ending = false |
| 89 | var victory_condition = -1 | 92 | var 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 | ||
