From 53e0509fcb20cc824e3fe5b3d3a826f09fc9c166 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 27 Sep 2025 21:06:32 -0400 Subject: Treat worldports as items for tracker --- apworld/client/worldport.gd | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'apworld/client/worldport.gd') diff --git a/apworld/client/worldport.gd b/apworld/client/worldport.gd index cdca248..ed9891e 100644 --- a/apworld/client/worldport.gd +++ b/apworld/client/worldport.gd @@ -3,6 +3,8 @@ extends "res://scripts/nodes/worldport.gd" var absolute_rotation = false var target_rotation = 0 +var port_id = null + func _ready(): var node_path = String( @@ -13,7 +15,7 @@ func _ready(): if ap.shuffle_worldports: var gamedata = global.get_node("Gamedata") - var port_id = gamedata.get_port_for_map_node_path(global.map, node_path) + port_id = gamedata.get_port_for_map_node_path(global.map, node_path) if port_id != null: if port_id in ap.port_pairings: var target_port = gamedata.objects.get_ports()[ap.port_pairings[port_id]] @@ -29,6 +31,8 @@ func _ready(): sets_entry_point = true invisible = false fades = true + else: + port_id = null if global.map == "icarus" and exit == "daedalus": if not ap.daedalus_roof_access: @@ -39,6 +43,10 @@ func _ready(): func bodyEntered(body): if body.is_in_group("player"): + if port_id != null: + var ap = global.get_node("Archipelago") + ap.client.checkWorldport(port_id) + if absolute_rotation: entry_rotate.y = target_rotation - body.rotation_degrees.y -- cgit 1.4.1