diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-31 18:37:17 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-08-31 18:37:17 -0400 |
commit | 1d9fcb1db4ab2b9b5314588d18fc601a9a83f6fa (patch) | |
tree | b97479658c6ed39268789934baea045249bb6e25 /client/Archipelago | |
parent | 9e023e65e171a40fc72b34700260e3b8e6a80228 (diff) | |
download | lingo2-archipelago-1d9fcb1db4ab2b9b5314588d18fc601a9a83f6fa.tar.gz lingo2-archipelago-1d9fcb1db4ab2b9b5314588d18fc601a9a83f6fa.tar.bz2 lingo2-archipelago-1d9fcb1db4ab2b9b5314588d18fc601a9a83f6fa.zip |
[Client] Restrict Daedalus roof access
Diffstat (limited to 'client/Archipelago')
-rw-r--r-- | client/Archipelago/player.gd | 50 |
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 | |||
128 | func _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) | ||