summary refs log tree commit diff stats
path: root/client
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-08-29 13:30:58 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-08-29 13:30:58 -0400
commit8566f6e7fb54f5f52241ac86ebd1a6636ceb4a08 (patch)
treefb1374cb88bcbb30aff54ddb6a01b4864e185966 /client
parentcda8cb3349483146d23ab020fe73f3e2c54b10eb (diff)
downloadlingo2-archipelago-8566f6e7fb54f5f52241ac86ebd1a6636ceb4a08.tar.gz
lingo2-archipelago-8566f6e7fb54f5f52241ac86ebd1a6636ceb4a08.tar.bz2
lingo2-archipelago-8566f6e7fb54f5f52241ac86ebd1a6636ceb4a08.zip
[Client] Added ending locations
Getting an ending (other than White) also does not send you to the credits.
Diffstat (limited to 'client')
-rw-r--r--client/Archipelago/player.gd12
-rw-r--r--client/Archipelago/settings_screen.gd2
-rw-r--r--client/Archipelago/worldportListener.gd8
3 files changed, 22 insertions, 0 deletions
diff --git a/client/Archipelago/player.gd b/client/Archipelago/player.gd index 5d17d68..082aa64 100644 --- a/client/Archipelago/player.gd +++ b/client/Archipelago/player.gd
@@ -51,4 +51,16 @@ func _ready():
51 51
52 get_parent().add_child.call_deferred(locationListener) 52 get_parent().add_child.call_deferred(locationListener)
53 53
54 for ending in gamedata.objects.get_endings():
55 var room = gamedata.objects.get_rooms()[ending.get_room_id()]
56 if room.get_map_id() != map_id:
57 continue
58
59 var locationListener = ap.SCRIPT_locationListener.new()
60 locationListener.location_id = ending.get_ap_id()
61 locationListener.name = "locationListener_%d" % ending.get_ap_id()
62 locationListener.senders.append(NodePath("/root/scene/" + ending.get_path()))
63
64 get_parent().add_child.call_deferred(locationListener)
65
54 super._ready() 66 super._ready()
diff --git a/client/Archipelago/settings_screen.gd b/client/Archipelago/settings_screen.gd index 5a4a76d..0611bab 100644 --- a/client/Archipelago/settings_screen.gd +++ b/client/Archipelago/settings_screen.gd
@@ -42,6 +42,7 @@ func _ready():
42 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/player.gd")) 42 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/player.gd"))
43 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/saver.gd")) 43 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/saver.gd"))
44 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/teleportListener.gd")) 44 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/teleportListener.gd"))
45 installScriptExtension(ResourceLoader.load("user://maps/Archipelago/worldportListener.gd"))
45 46
46 var proto_script = load("user://maps/Archipelago/generated/proto.gd") 47 var proto_script = load("user://maps/Archipelago/generated/proto.gd")
47 var gamedata_script = load("user://maps/Archipelago/gamedata.gd") 48 var gamedata_script = load("user://maps/Archipelago/gamedata.gd")
@@ -145,6 +146,7 @@ func connectionSuccessful():
145 clearResourceCache("res://objects/nodes/door.tscn") 146 clearResourceCache("res://objects/nodes/door.tscn")
146 clearResourceCache("res://objects/nodes/listeners/animationListener.tscn") 147 clearResourceCache("res://objects/nodes/listeners/animationListener.tscn")
147 clearResourceCache("res://objects/nodes/listeners/teleportListener.tscn") 148 clearResourceCache("res://objects/nodes/listeners/teleportListener.tscn")
149 clearResourceCache("res://objects/nodes/listeners/worldportListener.tscn")
148 clearResourceCache("res://objects/nodes/player.tscn") 150 clearResourceCache("res://objects/nodes/player.tscn")
149 clearResourceCache("res://objects/nodes/saver.tscn") 151 clearResourceCache("res://objects/nodes/saver.tscn")
150 152
diff --git a/client/Archipelago/worldportListener.gd b/client/Archipelago/worldportListener.gd new file mode 100644 index 0000000..c31c825 --- /dev/null +++ b/client/Archipelago/worldportListener.gd
@@ -0,0 +1,8 @@
1extends "res://scripts/nodes/listeners/worldportListener.gd"
2
3
4func changeScene():
5 if exit == "menus/credits":
6 return
7
8 super.changeScene()