From 452289b3b6247bb512b9353e0f2c6a9b7090be55 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Tue, 4 Nov 2025 14:56:04 -0500 Subject: Split map-specific initialization into separate files --- apworld/client/maps/icarus.gd | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 apworld/client/maps/icarus.gd (limited to 'apworld/client/maps/icarus.gd') diff --git a/apworld/client/maps/icarus.gd b/apworld/client/maps/icarus.gd new file mode 100644 index 0000000..ad00741 --- /dev/null +++ b/apworld/client/maps/icarus.gd @@ -0,0 +1,38 @@ +func on_map_load(root): + var ap = global.get_node("Archipelago") + + # Add the mastery to Icarus. + if ap.enable_icarus: + var collectable_prefab = preload("res://objects/nodes/collectable.tscn") + var saver_prefab = preload("res://objects/nodes/saver.tscn") + var tpl_prefab = preload("res://objects/nodes/listeners/teleportListener.tscn") + var usl_prefab = preload("res://objects/nodes/listeners/unlockSetterListener.tscn") + + var mastery = collectable_prefab.instantiate() + mastery.name = "collectable" + mastery.position = Vector3(0, -2000, 0) + mastery.unlock_type = "smiley" + mastery.material_override = load("res://assets/materials/gold.material") + root.get_node("/root/scene/Components/Collectables").add_child.call_deferred(mastery) + + var tpl = tpl_prefab.instantiate() + tpl.teleport_point = Vector3(56.25, 0, -5.5) + tpl.teleport_rotate = Vector3(0, 0, 0) + tpl.target_path = mastery + tpl.name = "Teleport" + tpl.senderGroup.append(NodePath("/root/scene/Panels")) + tpl.nested = true + mastery.add_child.call_deferred(tpl) + + var usl = usl_prefab.instantiate() + usl.name = "unlockSetterListenerMastery" + usl.key = "icarus_mastery" + usl.value = "unlocked" + usl.senders.append(NodePath("/root/scene/Components/Collectables/collectable")) + root.get_node("/root/scene/Components").add_child.call_deferred(usl) + + var saver = saver_prefab.instantiate() + saver.name = "saver_collectables" + saver.type = "collectables" + saver.senderGroup.append(NodePath("/root/scene/Components/Collectables")) + root.get_node("/root/scene").add_child.call_deferred(saver) -- cgit 1.4.1