From e448f5b318f05cae1b40a949e11ef2d7fb613645 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Mon, 15 Apr 2024 11:39:52 -0400 Subject: Implemented panels mode door shuffle --- Archipelago/panel.gd | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'Archipelago/panel.gd') diff --git a/Archipelago/panel.gd b/Archipelago/panel.gd index aec18e8..0e8f1df 100644 --- a/Archipelago/panel.gd +++ b/Archipelago/panel.gd @@ -5,6 +5,7 @@ var orig_text = "" var atbash_text = "" var orig_color = Color(0, 0, 0, 0) var solvable = true +var locked = false const kAtbashPre = "abcdefghijklmnopqrstuvwxyz1234567890+-" const kAtbashPost = "zyxwvutsrqponmlkjihgfedcba0987654321-+" @@ -45,7 +46,13 @@ func evaluate_solvability(): missing.append(color) solvable = false - if solvable: + if locked: + self.get_parent().get_node("Viewport/GUI/Panel/Label").text = "Locked" + self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = false + self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = Color( + 0.2, 0.7, 0.7 + ) + elif solvable: if effects.atbash_remaining > 0: self.get_parent().get_node("Viewport/GUI/Panel/Label").text = atbash_text else: -- cgit 1.4.1 From 0e10801d335a52d3e88ad02a5f3ff9784a53a119 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Wed, 1 May 2024 16:00:34 -0400 Subject: Prevent puzzle skipping locked panels --- Archipelago/panel.gd | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'Archipelago/panel.gd') 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(): solvable = true var missing = [] - if apclient._color_shuffle: + if locked: + solvable = false + elif apclient._color_shuffle: for color in data["color"]: if not apclient._has_colors.has(color): missing.append(color) solvable = false - if locked: - self.get_parent().get_node("Viewport/GUI/Panel/Label").text = "Locked" - self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = false - self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = Color( - 0.2, 0.7, 0.7 - ) - elif solvable: + if solvable: if effects.atbash_remaining > 0: self.get_parent().get_node("Viewport/GUI/Panel/Label").text = atbash_text else: self.get_parent().get_node("Viewport/GUI/Panel/Label").text = orig_text self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = true self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = orig_color + elif locked: + self.get_parent().get_node("Viewport/GUI/Panel/Label").text = "Locked" + self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = false + self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = Color( + 0.2, 0.7, 0.7 + ) else: var missing_text = "Missing: " for thing in missing: -- cgit 1.4.1