From 7a0606dd10dbd256675bff35ebd8a7957a3607e8 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 8 Feb 2026 12:10:19 -0500 Subject: Added custom mint ending --- apworld/client/manager.gd | 2 ++ apworld/client/maps/control_center.gd | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) (limited to 'apworld/client') diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index e259708..f10a0b7 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd @@ -67,6 +67,7 @@ const kEndingNameByVictoryValue = { } var apworld_version = [0, 0, 0] +var custom_mint_ending = "" var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2 var daedalus_only = false var daedalus_roof_access = false @@ -478,6 +479,7 @@ func _client_connected(slot_data): _last_new_item = localdata[0] # Read slot data. + custom_mint_ending = slot_data.get("custom_mint_ending", "") cyan_door_behavior = int(slot_data.get("cyan_door_behavior", 0)) daedalus_only = bool(slot_data.get("daedalus_only", false)) daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false)) diff --git a/apworld/client/maps/control_center.gd b/apworld/client/maps/control_center.gd index 1fecc7b..8e919ab 100644 --- a/apworld/client/maps/control_center.gd +++ b/apworld/client/maps/control_center.gd @@ -96,6 +96,39 @@ func on_map_load(root): sign2.text = "Masteries: %d/%d" % [mastery_count, ap.masteries_requirement] root.get_node("/root/scene").add_child.call_deferred(sign2) + # Handle custom Mint Ending. + if ap.custom_mint_ending != "": + var panel_prefab = preload("res://objects/nodes/panel.tscn") + var tpl_prefab = preload("res://objects/nodes/listeners/teleportListener.tscn") + + var mint_ending = root.get_node("/root/scene/Components/Endings/mint_ending") + + var mint_panel = panel_prefab.instantiate() + mint_panel.name = "mint_panel" + mint_panel.clue = ap.custom_mint_ending + mint_panel.symbol = "" + mint_panel.answer = ap.custom_mint_ending + mint_panel.position = Vector3(-63, 3, -29) + mint_panel.rotation_degrees = Vector3(-45, 90, 0) + root.get_node("/root/scene").add_child.call_deferred(mint_panel) + + var mint_tpl = tpl_prefab.instantiate() + mint_tpl.name = "mint_tpl" + mint_tpl.teleport_point = mint_ending.position + mint_tpl.teleport_rotate = mint_ending.rotation_degrees + mint_tpl.target_path = mint_ending + mint_tpl.senders.append(NodePath("/root/scene/mint_panel")) + root.get_node("/root/scene").add_child.call_deferred(mint_tpl) + + var mint_tpl2 = tpl_prefab.instantiate() + mint_tpl2.name = "mint_tpl2" + mint_tpl2.teleport_point = Vector3(0, -1000, 0) + mint_tpl2.target_path = mint_panel + mint_tpl2.senders.append(NodePath("/root/scene/mint_panel")) + root.get_node("/root/scene").add_child.call_deferred(mint_tpl2) + + mint_ending.position.y = -1000 + func _set_up_mastery_listener(root, name): var prefab = preload("res://objects/nodes/listeners/unlockReaderListener.tscn") -- cgit 1.4.1