diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2026-02-08 12:10:19 -0500 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2026-02-08 12:10:19 -0500 |
| commit | 7a0606dd10dbd256675bff35ebd8a7957a3607e8 (patch) | |
| tree | 5731b27bbfc44d7f2650196fd4bb6d7d2e1d8396 /apworld/client | |
| parent | dbae1ea0a0b1946b3ccf7d8033139050f1106695 (diff) | |
| download | lingo2-archipelago-7a0606dd10dbd256675bff35ebd8a7957a3607e8.tar.gz lingo2-archipelago-7a0606dd10dbd256675bff35ebd8a7957a3607e8.tar.bz2 lingo2-archipelago-7a0606dd10dbd256675bff35ebd8a7957a3607e8.zip | |
Added custom mint ending
Diffstat (limited to 'apworld/client')
| -rw-r--r-- | apworld/client/manager.gd | 2 | ||||
| -rw-r--r-- | apworld/client/maps/control_center.gd | 33 |
2 files changed, 35 insertions, 0 deletions
| diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index e259708..f10a0b7 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd | |||
| @@ -67,6 +67,7 @@ const kEndingNameByVictoryValue = { | |||
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | var apworld_version = [0, 0, 0] | 69 | var apworld_version = [0, 0, 0] |
| 70 | var custom_mint_ending = "" | ||
| 70 | var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2 | 71 | var cyan_door_behavior = kCYAN_DOOR_BEHAVIOR_H2 |
| 71 | var daedalus_only = false | 72 | var daedalus_only = false |
| 72 | var daedalus_roof_access = false | 73 | var daedalus_roof_access = false |
| @@ -478,6 +479,7 @@ func _client_connected(slot_data): | |||
| 478 | _last_new_item = localdata[0] | 479 | _last_new_item = localdata[0] |
| 479 | 480 | ||
| 480 | # Read slot data. | 481 | # Read slot data. |
| 482 | custom_mint_ending = slot_data.get("custom_mint_ending", "") | ||
| 481 | cyan_door_behavior = int(slot_data.get("cyan_door_behavior", 0)) | 483 | cyan_door_behavior = int(slot_data.get("cyan_door_behavior", 0)) |
| 482 | daedalus_only = bool(slot_data.get("daedalus_only", false)) | 484 | daedalus_only = bool(slot_data.get("daedalus_only", false)) |
| 483 | daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false)) | 485 | daedalus_roof_access = bool(slot_data.get("daedalus_roof_access", false)) |
| diff --git a/apworld/client/maps/control_center.gd b/apworld/client/maps/control_center.gd index 1fecc7b..8e919ab 100644 --- a/apworld/client/maps/control_center.gd +++ b/apworld/client/maps/control_center.gd | |||
| @@ -96,6 +96,39 @@ func on_map_load(root): | |||
| 96 | sign2.text = "Masteries: %d/%d" % [mastery_count, ap.masteries_requirement] | 96 | sign2.text = "Masteries: %d/%d" % [mastery_count, ap.masteries_requirement] |
| 97 | root.get_node("/root/scene").add_child.call_deferred(sign2) | 97 | root.get_node("/root/scene").add_child.call_deferred(sign2) |
| 98 | 98 | ||
| 99 | # Handle custom Mint Ending. | ||
| 100 | if ap.custom_mint_ending != "": | ||
| 101 | var panel_prefab = preload("res://objects/nodes/panel.tscn") | ||
| 102 | var tpl_prefab = preload("res://objects/nodes/listeners/teleportListener.tscn") | ||
| 103 | |||
| 104 | var mint_ending = root.get_node("/root/scene/Components/Endings/mint_ending") | ||
| 105 | |||
| 106 | var mint_panel = panel_prefab.instantiate() | ||
| 107 | mint_panel.name = "mint_panel" | ||
| 108 | mint_panel.clue = ap.custom_mint_ending | ||
| 109 | mint_panel.symbol = "" | ||
| 110 | mint_panel.answer = ap.custom_mint_ending | ||
| 111 | mint_panel.position = Vector3(-63, 3, -29) | ||
| 112 | mint_panel.rotation_degrees = Vector3(-45, 90, 0) | ||
| 113 | root.get_node("/root/scene").add_child.call_deferred(mint_panel) | ||
| 114 | |||
| 115 | var mint_tpl = tpl_prefab.instantiate() | ||
| 116 | mint_tpl.name = "mint_tpl" | ||
| 117 | mint_tpl.teleport_point = mint_ending.position | ||
| 118 | mint_tpl.teleport_rotate = mint_ending.rotation_degrees | ||
| 119 | mint_tpl.target_path = mint_ending | ||
| 120 | mint_tpl.senders.append(NodePath("/root/scene/mint_panel")) | ||
| 121 | root.get_node("/root/scene").add_child.call_deferred(mint_tpl) | ||
| 122 | |||
| 123 | var mint_tpl2 = tpl_prefab.instantiate() | ||
| 124 | mint_tpl2.name = "mint_tpl2" | ||
| 125 | mint_tpl2.teleport_point = Vector3(0, -1000, 0) | ||
| 126 | mint_tpl2.target_path = mint_panel | ||
| 127 | mint_tpl2.senders.append(NodePath("/root/scene/mint_panel")) | ||
| 128 | root.get_node("/root/scene").add_child.call_deferred(mint_tpl2) | ||
| 129 | |||
| 130 | mint_ending.position.y = -1000 | ||
| 131 | |||
| 99 | 132 | ||
| 100 | func _set_up_mastery_listener(root, name): | 133 | func _set_up_mastery_listener(root, name): |
| 101 | var prefab = preload("res://objects/nodes/listeners/unlockReaderListener.tscn") | 134 | var prefab = preload("res://objects/nodes/listeners/unlockReaderListener.tscn") |
