about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2024-05-01 16:00:34 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2024-05-01 16:00:34 -0400
commit0e10801d335a52d3e88ad02a5f3ff9784a53a119 (patch)
tree1f18e7b4e95d0953a95abf1c4ce4ee157eb3ea3e
parentfad5732724e672735062502d94300c36551148de (diff)
downloadlingo-archipelago-0e10801d335a52d3e88ad02a5f3ff9784a53a119.tar.gz
lingo-archipelago-0e10801d335a52d3e88ad02a5f3ff9784a53a119.tar.bz2
lingo-archipelago-0e10801d335a52d3e88ad02a5f3ff9784a53a119.zip
Prevent puzzle skipping locked panels
-rw-r--r--Archipelago/panel.gd18
1 files changed, 10 insertions, 8 deletions
diff --git a/Archipelago/panel.gd b/Archipelago/panel.gd index 9d30455..ce632c5 100644 --- a/Archipelago/panel.gd +++ b/Archipelago/panel.gd
@@ -40,25 +40,27 @@ func evaluate_solvability():
40 solvable = true 40 solvable = true
41 var missing = [] 41 var missing = []
42 42
43 if apclient._color_shuffle: 43 if locked:
44 solvable = false
45 elif apclient._color_shuffle:
44 for color in data["color"]: 46 for color in data["color"]:
45 if not apclient._has_colors.has(color): 47 if not apclient._has_colors.has(color):
46 missing.append(color) 48 missing.append(color)
47 solvable = false 49 solvable = false
48 50
49 if locked: 51 if solvable:
50 self.get_parent().get_node("Viewport/GUI/Panel/Label").text = "Locked"
51 self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = false
52 self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = Color(
53 0.2, 0.7, 0.7
54 )
55 elif solvable:
56 if effects.atbash_remaining > 0: 52 if effects.atbash_remaining > 0:
57 self.get_parent().get_node("Viewport/GUI/Panel/Label").text = atbash_text 53 self.get_parent().get_node("Viewport/GUI/Panel/Label").text = atbash_text
58 else: 54 else:
59 self.get_parent().get_node("Viewport/GUI/Panel/Label").text = orig_text 55 self.get_parent().get_node("Viewport/GUI/Panel/Label").text = orig_text
60 self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = true 56 self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = true
61 self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = orig_color 57 self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = orig_color
58 elif locked:
59 self.get_parent().get_node("Viewport/GUI/Panel/Label").text = "Locked"
60 self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = false
61 self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = Color(
62 0.2, 0.7, 0.7
63 )
62 else: 64 else:
63 var missing_text = "Missing: " 65 var missing_text = "Missing: "
64 for thing in missing: 66 for thing in missing: