about summary refs log tree commit diff stats
path: root/apworld/client/player.gd
diff options
context:
space:
mode:
Diffstat (limited to 'apworld/client/player.gd')
-rw-r--r--apworld/client/player.gd29
1 files changed, 28 insertions, 1 deletions
diff --git a/apworld/client/player.gd b/apworld/client/player.gd index 5fac9fd..95c05d7 100644 --- a/apworld/client/player.gd +++ b/apworld/client/player.gd
@@ -13,6 +13,8 @@ func _ready():
13 13
14 var ap = global.get_node("Archipelago") 14 var ap = global.get_node("Archipelago")
15 var gamedata = global.get_node("Gamedata") 15 var gamedata = global.get_node("Gamedata")
16 var map_id = gamedata.map_id_by_name.get(global.map)
17 var map_data = gamedata.objects.get_maps()[map_id]
16 18
17 compass = global.get_node("Compass") 19 compass = global.get_node("Compass")
18 compass.visible = ap.show_compass 20 compass.visible = ap.show_compass
@@ -26,8 +28,33 @@ func _ready():
26 28
27 ap.update_job_well_done_sign() 29 ap.update_job_well_done_sign()
28 30
31 # Set up the RTE trigger, if there is one.
32 if map_data.has_rte_trigger_pos():
33 var oneShotListener_prefab = preload("res://objects/nodes/listeners/oneShotListener.tscn")
34 var triggerArea_prefab = preload("res://objects/nodes/triggerArea.tscn")
35 var unlockSetterListener_prefab = preload(
36 "res://objects/nodes/listeners/unlockSetterListener.tscn"
37 )
38
39 var triggerArea = triggerArea_prefab.instantiate()
40 triggerArea.name = "rte_triggerArea"
41 triggerArea.position = gamedata.vec3d_to_vector3(map_data.get_rte_trigger_pos())
42 triggerArea.scale = gamedata.vec3d_to_vector3(map_data.get_rte_trigger_scale())
43 get_parent().add_child.call_deferred(triggerArea)
44
45 var osl = oneShotListener_prefab.instantiate()
46 osl.name = "rte_osl"
47 osl.senders.append(NodePath("/root/scene/rte_triggerArea"))
48 get_parent().add_child.call_deferred(osl)
49
50 var usl = unlockSetterListener_prefab.instantiate()
51 usl.name = "rte_usl"
52 usl.key = "rte_%s" % global.map
53 usl.value = "unlocked"
54 usl.senders.append(NodePath("/root/scene/rte_osl"))
55 get_parent().add_child.call_deferred(usl)
56
29 # Set up door locations. 57 # Set up door locations.
30 var map_id = gamedata.map_id_by_name.get(global.map)
31 for door in gamedata.objects.get_doors(): 58 for door in gamedata.objects.get_doors():
32 if door.get_map_id() != map_id: 59 if door.get_map_id() != map_id:
33 continue 60 continue