blob: ad00741895acc3eb9074231b3271e4efabd7fd9f (
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
37
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)
|