diff options
Diffstat (limited to 'Archipelago/panel.gd')
-rw-r--r-- | Archipelago/panel.gd | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Archipelago/panel.gd b/Archipelago/panel.gd index fc5963a..2224ffa 100644 --- a/Archipelago/panel.gd +++ b/Archipelago/panel.gd | |||
@@ -5,6 +5,9 @@ var orig_text = "" | |||
5 | var atbash_text = "" | 5 | var atbash_text = "" |
6 | var orig_color = Color(0, 0, 0, 0) | 6 | var orig_color = Color(0, 0, 0, 0) |
7 | var solvable = true | 7 | var solvable = true |
8 | var locked = false | ||
9 | var solve_index = null | ||
10 | var solved_remotely = false | ||
8 | 11 | ||
9 | const kAtbashPre = "abcdefghijklmnopqrstuvwxyz1234567890+-" | 12 | const kAtbashPre = "abcdefghijklmnopqrstuvwxyz1234567890+-" |
10 | const kAtbashPost = "zyxwvutsrqponmlkjihgfedcba0987654321-+" | 13 | const kAtbashPost = "zyxwvutsrqponmlkjihgfedcba0987654321-+" |
@@ -31,6 +34,10 @@ func answer_correct(): | |||
31 | var effects = get_tree().get_root().get_node("Spatial/AP_Effects") | 34 | var effects = get_tree().get_root().get_node("Spatial/AP_Effects") |
32 | effects.deactivate_atbash_trap() | 35 | effects.deactivate_atbash_trap() |
33 | 36 | ||
37 | if solve_index != null: | ||
38 | var apclient = global.get_node("Archipelago") | ||
39 | apclient.solvePanel(solve_index, solved_remotely) | ||
40 | |||
34 | 41 | ||
35 | func evaluate_solvability(): | 42 | func evaluate_solvability(): |
36 | var apclient = global.get_node("Archipelago") | 43 | var apclient = global.get_node("Archipelago") |
@@ -39,7 +46,9 @@ func evaluate_solvability(): | |||
39 | solvable = true | 46 | solvable = true |
40 | var missing = [] | 47 | var missing = [] |
41 | 48 | ||
42 | if apclient._color_shuffle: | 49 | if locked: |
50 | solvable = false | ||
51 | elif apclient._color_shuffle: | ||
43 | for color in data["color"]: | 52 | for color in data["color"]: |
44 | if not apclient._has_colors.has(color): | 53 | if not apclient._has_colors.has(color): |
45 | missing.append(color) | 54 | missing.append(color) |
@@ -52,6 +61,12 @@ func evaluate_solvability(): | |||
52 | self.get_parent().get_node("Viewport/GUI/Panel/Label").text = orig_text | 61 | self.get_parent().get_node("Viewport/GUI/Panel/Label").text = orig_text |
53 | self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = true | 62 | self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = true |
54 | self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = orig_color | 63 | self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = orig_color |
64 | elif locked: | ||
65 | self.get_parent().get_node("Viewport/GUI/Panel/Label").text = "Locked" | ||
66 | self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = false | ||
67 | self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = Color( | ||
68 | 0.2, 0.7, 0.7 | ||
69 | ) | ||
55 | else: | 70 | else: |
56 | var missing_text = "Missing: " | 71 | var missing_text = "Missing: " |
57 | for thing in missing: | 72 | for thing in missing: |