summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-08-31 18:37:17 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-08-31 18:37:17 -0400
commit1d9fcb1db4ab2b9b5314588d18fc601a9a83f6fa (patch)
treeb97479658c6ed39268789934baea045249bb6e25
parent9e023e65e171a40fc72b34700260e3b8e6a80228 (diff)
downloadlingo2-archipelago-1d9fcb1db4ab2b9b5314588d18fc601a9a83f6fa.tar.gz
lingo2-archipelago-1d9fcb1db4ab2b9b5314588d18fc601a9a83f6fa.tar.bz2
lingo2-archipelago-1d9fcb1db4ab2b9b5314588d18fc601a9a83f6fa.zip
[Client] Restrict Daedalus roof access
-rw-r--r--client/Archipelago/player.gd50
1 files changed, 50 insertions, 0 deletions
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():
89 89
90 get_parent().add_child.call_deferred(locationListener) 90 get_parent().add_child.call_deferred(locationListener)
91 91
92 # Block off roof access in Daedalus.
93 if global.map == "daedalus":
94 _set_up_invis_wall(75.5, 11, -24.5, 1, 10, 49)
95 _set_up_invis_wall(51.5, 11, -17, 16, 10, 1)
96 _set_up_invis_wall(46, 10, -9.5, 1, 10, 10)
97 _set_up_invis_wall(67.5, 11, 17, 16, 10, 1)
98 _set_up_invis_wall(50.5, 11, 14, 10, 10, 1)
99 _set_up_invis_wall(39, 10, 18.5, 1, 10, 22)
100 _set_up_invis_wall(20, 15, 18.5, 1, 10, 16)
101 _set_up_invis_wall(11.5, 15, 3, 32, 10, 1)
102 _set_up_invis_wall(11.5, 16, -20, 14, 20, 1)
103 _set_up_invis_wall(14, 16, -26.5, 1, 20, 4)
104 _set_up_invis_wall(28.5, 20.5, -26.5, 1, 15, 25)
105 _set_up_invis_wall(40.5, 20.5, -11, 30, 15, 1)
106 _set_up_invis_wall(50.5, 15, 5.5, 7, 10, 1)
107 _set_up_invis_wall(83.5, 33.5, 5.5, 1, 7, 11)
108 _set_up_invis_wall(83.5, 33.5, -5.5, 1, 7, 11)
109
110 var warp_exit_prefab = preload("res://objects/nodes/exit.tscn")
111 var warp_exit = warp_exit_prefab.instantiate()
112 warp_exit.name = "roof_access_blocker_warp_exit"
113 warp_exit.position = Vector3(58, 10, 0)
114 warp_exit.rotation_degrees.y = 90
115 get_parent().add_child.call_deferred(warp_exit)
116
117 var warp_enter_prefab = preload("res://objects/nodes/teleportAuto.tscn")
118 var warp_enter = warp_enter_prefab.instantiate()
119 warp_enter.target = warp_exit
120 warp_enter.position = Vector3(76.5, 30, 1)
121 warp_enter.scale = Vector3(4, 1.5, 1)
122 warp_enter.rotation_degrees.y = 90
123 get_parent().add_child.call_deferred(warp_enter)
124
92 super._ready() 125 super._ready()
126
127
128func _set_up_invis_wall(x, y, z, sx, sy, sz):
129 var prefab = preload("res://objects/nodes/block.tscn")
130 var newwall = prefab.instantiate()
131 newwall.position.x = x
132 newwall.position.y = y
133 newwall.position.z = z
134 newwall.scale.x = sz
135 newwall.scale.y = sy
136 newwall.scale.z = sx
137 newwall.set_surface_override_material(0, preload("res://assets/materials/blackMatte.material"))
138 newwall.visibility_range_end = 3
139 newwall.visibility_range_end_margin = 1
140 newwall.visibility_range_fade_mode = RenderingServer.VISIBILITY_RANGE_FADE_SELF
141 newwall.skeleton = ".."
142 get_parent().add_child.call_deferred(newwall)