about summary refs log tree commit diff stats
path: root/apworld/client/maps/the_stellar.gd
blob: d633535e55404ac5364c6b9fb75f53af04e4b73d (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
func on_map_load(root):
	# Add the mastery to The Stellar.
	var collectable_prefab = preload("res://objects/nodes/collectable.tscn")
	var saver_prefab = preload("res://objects/nodes/saver.tscn")
	var usl_prefab = preload("res://objects/nodes/listeners/unlockSetterListener.tscn")

	var collectables = Node.new()
	collectables.name = "Collectables"

	var mastery = collectable_prefab.instantiate()
	mastery.name = "collectable"
	mastery.position = Vector3(2, 2, -31)
	mastery.rotation_degrees = Vector3(0, 90, 0)
	mastery.unlock_type = "smiley"
	mastery.material_override = load("res://assets/materials/gold.material")
	collectables.add_child.call_deferred(mastery)
	root.get_node("/root/scene/Components").add_child.call_deferred(collectables)

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