about summary refs log tree commit diff stats
path: root/apworld
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-10-23 14:17:17 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-10-23 14:17:17 -0400
commit52990b23285f981c92114f5da968163bb0715e03 (patch)
tree86696ca524ddb62c1e71e4585377440db9771a40 /apworld
parent5916d54ed137a550f46bb802d345a64e9e05d1e9 (diff)
downloadlingo2-archipelago-52990b23285f981c92114f5da968163bb0715e03.tar.gz
lingo2-archipelago-52990b23285f981c92114f5da968163bb0715e03.tar.bz2
lingo2-archipelago-52990b23285f981c92114f5da968163bb0715e03.zip
The Crystalline is playable now (sorry)
Diffstat (limited to 'apworld')
-rw-r--r--apworld/client/player.gd41
-rw-r--r--apworld/player_logic.py2
2 files changed, 43 insertions, 0 deletions
diff --git a/apworld/client/player.gd b/apworld/client/player.gd index 64672e7..9aac5a6 100644 --- a/apworld/client/player.gd +++ b/apworld/client/player.gd
@@ -127,6 +127,20 @@ func _ready():
127 souvey_wpl.senders.append(NodePath("../SouveyPanel")) 127 souvey_wpl.senders.append(NodePath("../SouveyPanel"))
128 giftmap_parent.add_child.call_deferred(souvey_wpl) 128 giftmap_parent.add_child.call_deferred(souvey_wpl)
129 129
130 if ap.enable_gift_maps.has("The Crystalline"):
131 var q_panel = panel_prefab.instantiate()
132 q_panel.name = "QPanel"
133 q_panel.answer = "q"
134 q_panel.position = Vector3(33.5, -220, 5.5)
135 giftmap_panel.proxies.append(NodePath("../QPanel"))
136 giftmap_parent.add_child.call_deferred(q_panel)
137
138 var q_wpl = wpl_prefab.instantiate()
139 q_wpl.name = "QWpl"
140 q_wpl.exit = "the_crystalline"
141 q_wpl.senders.append(NodePath("../QPanel"))
142 giftmap_parent.add_child.call_deferred(q_wpl)
143
130 giftmap_parent.add_child.call_deferred(giftmap_panel) 144 giftmap_parent.add_child.call_deferred(giftmap_panel)
131 145
132 var giftmap_tpl = tpl_prefab.instantiate() 146 var giftmap_tpl = tpl_prefab.instantiate()
@@ -295,6 +309,33 @@ func _ready():
295 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables")) 309 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables"))
296 get_node("/root/scene").add_child.call_deferred(saver) 310 get_node("/root/scene").add_child.call_deferred(saver)
297 311
312 # Add the mastery to The Crystalline.
313 if global.map == "the_crystalline":
314 var collectable_prefab = preload("res://objects/nodes/collectable.tscn")
315 var saver_prefab = preload("res://objects/nodes/saver.tscn")
316 var tpl_prefab = preload("res://objects/nodes/listeners/teleportListener.tscn")
317
318 var mastery = collectable_prefab.instantiate()
319 mastery.name = "collectable"
320 mastery.position = Vector3(0, 13, 37)
321 mastery.unlock_type = "smiley"
322 mastery.material_override = load("res://assets/materials/gold.material")
323 get_node("/root/scene/Components/Collectables").add_child.call_deferred(mastery)
324
325 var tpl = tpl_prefab.instantiate()
326 tpl.teleport_point = Vector3(0, 11.5, -20)
327 tpl.teleport_rotate = Vector3(0, 0, 180)
328 tpl.target_path = mastery
329 tpl.name = "Teleport"
330 tpl.senders.append(NodePath("/root/scene/Panels/Room_1/panel_3"))
331 mastery.add_child.call_deferred(tpl)
332
333 var saver = saver_prefab.instantiate()
334 saver.name = "saver_collectables"
335 saver.type = "collectables"
336 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables"))
337 get_node("/root/scene").add_child.call_deferred(saver)
338
298 ap.update_job_well_done_sign() 339 ap.update_job_well_done_sign()
299 340
300 # Set up door locations. 341 # Set up door locations.
diff --git a/apworld/player_logic.py b/apworld/player_logic.py index 52fc197..5f4f1d7 100644 --- a/apworld/player_logic.py +++ b/apworld/player_logic.py
@@ -239,6 +239,8 @@ class Lingo2PlayerLogic:
239 return "The Advanced" in world.options.enable_gift_maps.value 239 return "The Advanced" in world.options.enable_gift_maps.value
240 elif game_map.name == "the_charismatic": 240 elif game_map.name == "the_charismatic":
241 return "The Charismatic" in world.options.enable_gift_maps.value 241 return "The Charismatic" in world.options.enable_gift_maps.value
242 elif game_map.name == "the_crystalline":
243 return "The Crystalline" in world.options.enable_gift_maps.value
242 244
243 return False 245 return False
244 246