about summary refs log tree commit diff stats
path: root/client/Archipelago
diff options
context:
space:
mode:
Diffstat (limited to 'client/Archipelago')
-rw-r--r--client/Archipelago/manager.gd2
-rw-r--r--client/Archipelago/player.gd20
-rw-r--r--client/Archipelago/teleportListener.gd11
-rw-r--r--client/Archipelago/worldportListener.gd4
4 files changed, 33 insertions, 4 deletions
diff --git a/client/Archipelago/manager.gd b/client/Archipelago/manager.gd index 6eea2bd..25f68c1 100644 --- a/client/Archipelago/manager.gd +++ b/client/Archipelago/manager.gd
@@ -1,6 +1,6 @@
1extends Node 1extends Node
2 2
3const MOD_VERSION = 0 3const MOD_VERSION = 1
4 4
5var SCRIPT_client 5var SCRIPT_client
6var SCRIPT_keyboard 6var SCRIPT_keyboard
diff --git a/client/Archipelago/player.gd b/client/Archipelago/player.gd index 4b995bc..9de3e07 100644 --- a/client/Archipelago/player.gd +++ b/client/Archipelago/player.gd
@@ -190,11 +190,29 @@ func _ready():
190 warp_enter.rotation_degrees.y = 90 190 warp_enter.rotation_degrees.y = 90
191 get_parent().add_child.call_deferred(warp_enter) 191 get_parent().add_child.call_deferred(warp_enter)
192 192
193 # Remove door behind X1.
194 if global.map == "the_entry": 193 if global.map == "the_entry":
194 # Remove door behind X1.
195 var door_node = get_tree().get_root().get_node("/root/scene/Components/Doors/exit_1") 195 var door_node = get_tree().get_root().get_node("/root/scene/Components/Doors/exit_1")
196 door_node.handleTriggered() 196 door_node.handleTriggered()
197 197
198 # Display win condition.
199 var sign_prefab = preload("res://objects/nodes/sign.tscn")
200 var sign1 = sign_prefab.instantiate()
201 sign1.position = Vector3(-7, 5, -15.01)
202 sign1.text = "victory"
203 get_parent().add_child.call_deferred(sign1)
204
205 var sign2 = sign_prefab.instantiate()
206 sign2.position = Vector3(-7, 4, -15.01)
207 sign2.text = "%s ending" % kEndingNameByVictoryValue.get(ap.victory_condition, "?")
208
209 var sign2_color = kEndingNameByVictoryValue.get(ap.victory_condition, "coral").to_lower()
210 if sign2_color == "white":
211 sign2_color = "silver"
212
213 sign2.material = load("res://assets/materials/%s.material" % sign2_color)
214 get_parent().add_child.call_deferred(sign2)
215
198 super._ready() 216 super._ready()
199 217
200 await get_tree().process_frame 218 await get_tree().process_frame
diff --git a/client/Archipelago/teleportListener.gd b/client/Archipelago/teleportListener.gd index 4a7deec..6f363af 100644 --- a/client/Archipelago/teleportListener.gd +++ b/client/Archipelago/teleportListener.gd
@@ -9,6 +9,17 @@ func _ready():
9 get_tree().get_root().get_node("scene").get_path_to(self).get_concatenated_names() 9 get_tree().get_root().get_node("scene").get_path_to(self).get_concatenated_names()
10 ) 10 )
11 11
12 if (
13 global.map == "daedalus"
14 and (
15 node_path == "Components/Triggers/teleportListenerConnections"
16 or node_path == "Components/Triggers/teleportListenerConnections2"
17 )
18 ):
19 # Effectively disable these.
20 teleport_point = target_path.position
21 return
22
12 var gamedata = global.get_node("Gamedata") 23 var gamedata = global.get_node("Gamedata")
13 var door_id = gamedata.get_door_for_map_node_path(global.map, node_path) 24 var door_id = gamedata.get_door_for_map_node_path(global.map, node_path)
14 if door_id != null: 25 if door_id != null:
diff --git a/client/Archipelago/worldportListener.gd b/client/Archipelago/worldportListener.gd index c31c825..5c2faff 100644 --- a/client/Archipelago/worldportListener.gd +++ b/client/Archipelago/worldportListener.gd
@@ -1,8 +1,8 @@
1extends "res://scripts/nodes/listeners/worldportListener.gd" 1extends "res://scripts/nodes/listeners/worldportListener.gd"
2 2
3 3
4func changeScene(): 4func handleTriggered():
5 if exit == "menus/credits": 5 if exit == "menus/credits":
6 return 6 return
7 7
8 super.changeScene() 8 super.handleTriggered()