about summary refs log tree commit diff stats
path: root/apworld/client/maps/icarus.gd
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-11-04 14:56:04 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2025-11-04 14:56:04 -0500
commit452289b3b6247bb512b9353e0f2c6a9b7090be55 (patch)
tree499bb3c365cb91cb161b8b0e9bf51c6d5c0d72f8 /apworld/client/maps/icarus.gd
parent24a59794f408c6aa878a8477a920a1d7b7d9c4c5 (diff)
downloadlingo2-archipelago-452289b3b6247bb512b9353e0f2c6a9b7090be55.tar.gz
lingo2-archipelago-452289b3b6247bb512b9353e0f2c6a9b7090be55.tar.bz2
lingo2-archipelago-452289b3b6247bb512b9353e0f2c6a9b7090be55.zip
Split map-specific initialization into separate files
Diffstat (limited to 'apworld/client/maps/icarus.gd')
-rw-r--r--apworld/client/maps/icarus.gd38
1 files changed, 38 insertions, 0 deletions
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 @@
1func on_map_load(root):
2 var ap = global.get_node("Archipelago")
3
4 # Add the mastery to Icarus.
5 if ap.enable_icarus:
6 var collectable_prefab = preload("res://objects/nodes/collectable.tscn")
7 var saver_prefab = preload("res://objects/nodes/saver.tscn")
8 var tpl_prefab = preload("res://objects/nodes/listeners/teleportListener.tscn")
9 var usl_prefab = preload("res://objects/nodes/listeners/unlockSetterListener.tscn")
10
11 var mastery = collectable_prefab.instantiate()
12 mastery.name = "collectable"
13 mastery.position = Vector3(0, -2000, 0)
14 mastery.unlock_type = "smiley"
15 mastery.material_override = load("res://assets/materials/gold.material")
16 root.get_node("/root/scene/Components/Collectables").add_child.call_deferred(mastery)
17
18 var tpl = tpl_prefab.instantiate()
19 tpl.teleport_point = Vector3(56.25, 0, -5.5)
20 tpl.teleport_rotate = Vector3(0, 0, 0)
21 tpl.target_path = mastery
22 tpl.name = "Teleport"
23 tpl.senderGroup.append(NodePath("/root/scene/Panels"))
24 tpl.nested = true
25 mastery.add_child.call_deferred(tpl)
26
27 var usl = usl_prefab.instantiate()
28 usl.name = "unlockSetterListenerMastery"
29 usl.key = "icarus_mastery"
30 usl.value = "unlocked"
31 usl.senders.append(NodePath("/root/scene/Components/Collectables/collectable"))
32 root.get_node("/root/scene/Components").add_child.call_deferred(usl)
33
34 var saver = saver_prefab.instantiate()
35 saver.name = "saver_collectables"
36 saver.type = "collectables"
37 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables"))
38 root.get_node("/root/scene").add_child.call_deferred(saver)