diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/Archipelago/manager.gd | 2 | ||||
-rw-r--r-- | client/Archipelago/player.gd | 20 | ||||
-rw-r--r-- | client/README.md | 7 |
3 files changed, 20 insertions, 9 deletions
diff --git a/client/Archipelago/manager.gd b/client/Archipelago/manager.gd index 6eea2bd..25f68c1 100644 --- a/client/Archipelago/manager.gd +++ b/client/Archipelago/manager.gd | |||
@@ -1,6 +1,6 @@ | |||
1 | extends Node | 1 | extends Node |
2 | 2 | ||
3 | const MOD_VERSION = 0 | 3 | const MOD_VERSION = 1 |
4 | 4 | ||
5 | var SCRIPT_client | 5 | var SCRIPT_client |
6 | var SCRIPT_keyboard | 6 | var SCRIPT_keyboard |
diff --git a/client/Archipelago/player.gd b/client/Archipelago/player.gd index 4b995bc..9de3e07 100644 --- a/client/Archipelago/player.gd +++ b/client/Archipelago/player.gd | |||
@@ -190,11 +190,29 @@ func _ready(): | |||
190 | warp_enter.rotation_degrees.y = 90 | 190 | warp_enter.rotation_degrees.y = 90 |
191 | get_parent().add_child.call_deferred(warp_enter) | 191 | get_parent().add_child.call_deferred(warp_enter) |
192 | 192 | ||
193 | # Remove door behind X1. | ||
194 | if global.map == "the_entry": | 193 | if global.map == "the_entry": |
194 | # Remove door behind X1. | ||
195 | var door_node = get_tree().get_root().get_node("/root/scene/Components/Doors/exit_1") | 195 | var door_node = get_tree().get_root().get_node("/root/scene/Components/Doors/exit_1") |
196 | door_node.handleTriggered() | 196 | door_node.handleTriggered() |
197 | 197 | ||
198 | # Display win condition. | ||
199 | var sign_prefab = preload("res://objects/nodes/sign.tscn") | ||
200 | var sign1 = sign_prefab.instantiate() | ||
201 | sign1.position = Vector3(-7, 5, -15.01) | ||
202 | sign1.text = "victory" | ||
203 | get_parent().add_child.call_deferred(sign1) | ||
204 | |||
205 | var sign2 = sign_prefab.instantiate() | ||
206 | sign2.position = Vector3(-7, 4, -15.01) | ||
207 | sign2.text = "%s ending" % kEndingNameByVictoryValue.get(ap.victory_condition, "?") | ||
208 | |||
209 | var sign2_color = kEndingNameByVictoryValue.get(ap.victory_condition, "coral").to_lower() | ||
210 | if sign2_color == "white": | ||
211 | sign2_color = "silver" | ||
212 | |||
213 | sign2.material = load("res://assets/materials/%s.material" % sign2_color) | ||
214 | get_parent().add_child.call_deferred(sign2) | ||
215 | |||
198 | super._ready() | 216 | super._ready() |
199 | 217 | ||
200 | await get_tree().process_frame | 218 | await get_tree().process_frame |
diff --git a/client/README.md b/client/README.md index 1e94bdb..99589c5 100644 --- a/client/README.md +++ b/client/README.md | |||
@@ -88,10 +88,3 @@ not recommended to load these save files outside of the randomizer. | |||
88 | 88 | ||
89 | A connection to Archipelago is required to resume playing a multiworld. This is | 89 | A connection to Archipelago is required to resume playing a multiworld. This is |
90 | because the set of items you have received is not stored locally. | 90 | because the set of items you have received is not stored locally. |
91 | |||
92 | ### What about wall snipes? | ||
93 | |||
94 | "Wall sniping" refers to the fact that you are able to solve puzzles on the | ||
95 | other side of opaque walls. The player is never expected to or required to do | ||
96 | this in normal gameplay. This randomizer does not change how wall snipes work, | ||
97 | but it will likewise never require the use of them. | ||