about summary refs log tree commit diff stats
path: root/apworld/client/maps/the_advanced.gd
blob: b41549cb05ca054a840260ceba410c7996fdf335 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
func on_map_load(root):
	# Add the mastery to The Advanced.
	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, -200, -5)
	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(0, 2, -5)
	tpl.teleport_rotate = Vector3(0, 0, 0)
	tpl.target_path = mastery
	tpl.name = "Teleport"
	tpl.senders.append(NodePath("/root/scene/Panels/Room_1/panel_29"))
	tpl.senders.append(NodePath("/root/scene/Panels/Room_1/panel_30"))
	tpl.senders.append(NodePath("/root/scene/Panels/Room_1/panel_31"))
	mastery.add_child.call_deferred(tpl)

	var usl = usl_prefab.instantiate()
	usl.name = "unlockSetterListenerMastery"
	usl.key = "advanced_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)