From e2936fdd05a7178772a47f5e7923a75c1b04a357 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Fri, 16 Jun 2023 19:05:58 -0400 Subject: Atbash trap --- Archipelago/panel.gd | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'Archipelago/panel.gd') diff --git a/Archipelago/panel.gd b/Archipelago/panel.gd index 6ec5e14..bf43653 100644 --- a/Archipelago/panel.gd +++ b/Archipelago/panel.gd @@ -2,16 +2,29 @@ extends Node var data = {} var orig_text = "" +var atbash_text = "" var orig_color = Color(0, 0, 0, 0) +const kAtbashPre = "abcdefghijklmnopqrstuvwxyz1234567890+-" +const kAtbashPost = "zyxwvutsrqponmlkjihgfedcba0987654321-+" + func _ready(): orig_text = self.get_parent().get_node("Viewport/GUI/Panel/Label").text orig_color = self.get_parent().get_node("Quad").get_surface_material(0).albedo_color + for i in range(0, orig_text.length()): + var old_char = orig_text[i] + if old_char in kAtbashPre: + var j = kAtbashPre.find(old_char) + atbash_text += kAtbashPost[j] + else: + atbash_text += old_char + func evaluate_solvability(): var apclient = global.get_node("Archipelago") + var effects = get_tree().get_root().get_node("Spatial/AP_Effects") var solvable = true var missing = [] @@ -23,7 +36,10 @@ func evaluate_solvability(): solvable = false if solvable: - self.get_parent().get_node("Viewport/GUI/Panel/Label").text = orig_text + 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 else: @@ -37,3 +53,5 @@ func evaluate_solvability(): self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = Color( 0.7, 0.2, 0.2 ) + + self.get_parent().get_node("Viewport").render_target_update_mode = 1 -- cgit 1.4.1