From 1d9fcb1db4ab2b9b5314588d18fc601a9a83f6fa Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 31 Aug 2025 18:37:17 -0400 Subject: [Client] Restrict Daedalus roof access --- client/Archipelago/player.gd | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'client/Archipelago') diff --git a/client/Archipelago/player.gd b/client/Archipelago/player.gd index 37cabc6..f6b2539 100644 --- a/client/Archipelago/player.gd +++ b/client/Archipelago/player.gd @@ -89,4 +89,54 @@ func _ready(): get_parent().add_child.call_deferred(locationListener) + # Block off roof access in Daedalus. + if global.map == "daedalus": + _set_up_invis_wall(75.5, 11, -24.5, 1, 10, 49) + _set_up_invis_wall(51.5, 11, -17, 16, 10, 1) + _set_up_invis_wall(46, 10, -9.5, 1, 10, 10) + _set_up_invis_wall(67.5, 11, 17, 16, 10, 1) + _set_up_invis_wall(50.5, 11, 14, 10, 10, 1) + _set_up_invis_wall(39, 10, 18.5, 1, 10, 22) + _set_up_invis_wall(20, 15, 18.5, 1, 10, 16) + _set_up_invis_wall(11.5, 15, 3, 32, 10, 1) + _set_up_invis_wall(11.5, 16, -20, 14, 20, 1) + _set_up_invis_wall(14, 16, -26.5, 1, 20, 4) + _set_up_invis_wall(28.5, 20.5, -26.5, 1, 15, 25) + _set_up_invis_wall(40.5, 20.5, -11, 30, 15, 1) + _set_up_invis_wall(50.5, 15, 5.5, 7, 10, 1) + _set_up_invis_wall(83.5, 33.5, 5.5, 1, 7, 11) + _set_up_invis_wall(83.5, 33.5, -5.5, 1, 7, 11) + + var warp_exit_prefab = preload("res://objects/nodes/exit.tscn") + var warp_exit = warp_exit_prefab.instantiate() + warp_exit.name = "roof_access_blocker_warp_exit" + warp_exit.position = Vector3(58, 10, 0) + warp_exit.rotation_degrees.y = 90 + get_parent().add_child.call_deferred(warp_exit) + + var warp_enter_prefab = preload("res://objects/nodes/teleportAuto.tscn") + var warp_enter = warp_enter_prefab.instantiate() + warp_enter.target = warp_exit + warp_enter.position = Vector3(76.5, 30, 1) + warp_enter.scale = Vector3(4, 1.5, 1) + warp_enter.rotation_degrees.y = 90 + get_parent().add_child.call_deferred(warp_enter) + super._ready() + + +func _set_up_invis_wall(x, y, z, sx, sy, sz): + var prefab = preload("res://objects/nodes/block.tscn") + var newwall = prefab.instantiate() + newwall.position.x = x + newwall.position.y = y + newwall.position.z = z + newwall.scale.x = sz + newwall.scale.y = sy + newwall.scale.z = sx + newwall.set_surface_override_material(0, preload("res://assets/materials/blackMatte.material")) + newwall.visibility_range_end = 3 + newwall.visibility_range_end_margin = 1 + newwall.visibility_range_fade_mode = RenderingServer.VISIBILITY_RANGE_FADE_SELF + newwall.skeleton = ".." + get_parent().add_child.call_deferred(newwall) -- cgit 1.4.1