From b7900ade0309d3b8c13b830746ca1435141ffe26 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 8 Feb 2026 09:28:23 -0500 Subject: Added music shuffle --- apworld/client/manager.gd | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'apworld/client/manager.gd') diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index 00f03ea..e259708 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd @@ -76,6 +76,7 @@ var endings_requirement = 0 var fast_travel_access = 0 var keyholder_sanity = false var masteries_requirement = 0 +var music_mapping = {} var port_pairings = {} var rte_mapping = [] var shuffle_control_center_colors = false @@ -84,6 +85,7 @@ var shuffle_gallery_paintings = false var shuffle_letters = kSHUFFLE_LETTERS_VANILLA var shuffle_symbols = false var shuffle_worldports = false +var slot_rng = null var strict_cyan_ending = false var strict_purple_ending = false var victory_condition = -1 @@ -514,6 +516,15 @@ func _client_connected(slot_data): if slot_data.has("rte"): rte_mapping = slot_data.get("rte") + slot_rng = RandomNumberGenerator.new() + slot_rng.seed = int(slot_data.get("seed", 0)) + + music_mapping.clear() + if bool(slot_data.get("shuffle_music", false)): + for map_name in global.reserved_scenes: + var track_index = slot_rng.randi_range(0, musicPlayer.all_tracks.size() - 1) + music_mapping[map_name] = musicPlayer.all_tracks.keys()[track_index] + # Set up item locks. _item_locks = {} -- cgit 1.4.1