about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2023-05-05 12:20:16 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2023-05-05 12:20:16 -0400
commit46623fb9dc34c4e44859f437f752206e1889dbce (patch)
treea5d30978ce3fc0e11edb8bf25e29a64f302a0735
parentdfadb2b4a436c073438c7219ba7726ac9c760c2d (diff)
downloadlingo-archipelago-46623fb9dc34c4e44859f437f752206e1889dbce.tar.gz
lingo-archipelago-46623fb9dc34c4e44859f437f752206e1889dbce.tar.bz2
lingo-archipelago-46623fb9dc34c4e44859f437f752206e1889dbce.zip
THE MASTER requirement can now be set by the player
-rw-r--r--Archipelago/client.gd3
-rw-r--r--Archipelago/load.gd13
2 files changed, 16 insertions, 0 deletions
diff --git a/Archipelago/client.gd b/Archipelago/client.gd index fc85f31..a3199ba 100644 --- a/Archipelago/client.gd +++ b/Archipelago/client.gd
@@ -80,6 +80,7 @@ var _door_shuffle = false
80var _color_shuffle = false 80var _color_shuffle = false
81var _panel_shuffle = 0 # none, rearrange 81var _panel_shuffle = 0 # none, rearrange
82var _painting_shuffle = false 82var _painting_shuffle = false
83var _mastery_achievements = 21
83var _slot_seed = 0 84var _slot_seed = 0
84 85
85var _map_loaded = false 86var _map_loaded = false
@@ -252,6 +253,8 @@ func _on_data():
252 _slot_seed = _slot_data["seed"] 253 _slot_seed = _slot_data["seed"]
253 if _slot_data.has("painting_entrance_to_exit"): 254 if _slot_data.has("painting_entrance_to_exit"):
254 _paintings_mapping = _slot_data["painting_entrance_to_exit"] 255 _paintings_mapping = _slot_data["painting_entrance_to_exit"]
256 if _slot_data.has("mastery_achievements"):
257 _mastery_achievements = _slot_data["mastery_achievements"]
255 258
256 _localdata_file = "user://archipelago_data/%s_%d" % [_seed, _slot] 259 _localdata_file = "user://archipelago_data/%s_%d" % [_seed, _slot]
257 var ap_file = File.new() 260 var ap_file = File.new()
diff --git a/Archipelago/load.gd b/Archipelago/load.gd index 56991fb..c637ccb 100644 --- a/Archipelago/load.gd +++ b/Archipelago/load.gd
@@ -58,6 +58,19 @@ func _load():
58 58
59 wanderer_achieve.translation = Vector3(-51, -33, 35) # way under the map 59 wanderer_achieve.translation = Vector3(-51, -33, 35) # way under the map
60 60
61 # Set up The Master to be variable.
62 var old_master_cdp = get_node("CountdownPanels/CountdownPanel_countdown_16")
63 var cdp_auto_scene = load("res://nodes/panel_countdown_auto.tscn")
64 var new_master_cdp = cdp_auto_scene.instance()
65 new_master_cdp.name = "AP_variable_master"
66 new_master_cdp.replace_with = old_master_cdp.replace_with
67 new_master_cdp.panels = "../../Panels/Countdown Panels"
68 new_master_cdp.maxlength = apclient._mastery_achievements
69 new_master_cdp.translation = old_master_cdp.translation
70 new_master_cdp.rotation = old_master_cdp.rotation
71 get_node("CountdownPanels").add_child(new_master_cdp)
72 old_master_cdp.queue_free()
73
61 # This is the best time to create the location nodes, since the map is now 74 # This is the best time to create the location nodes, since the map is now
62 # loaded but the panels haven't been solved from the save file yet. 75 # loaded but the panels haven't been solved from the save file yet.
63 var panels_parent = self.get_node("Panels") 76 var panels_parent = self.get_node("Panels")