diff options
Diffstat (limited to 'Archipelago/panel.gd')
| -rw-r--r-- | Archipelago/panel.gd | 20 |
1 files changed, 19 insertions, 1 deletions
| 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 | |||
| 2 | 2 | ||
| 3 | var data = {} | 3 | var data = {} |
| 4 | var orig_text = "" | 4 | var orig_text = "" |
| 5 | var atbash_text = "" | ||
| 5 | var orig_color = Color(0, 0, 0, 0) | 6 | var orig_color = Color(0, 0, 0, 0) |
| 6 | 7 | ||
| 8 | const kAtbashPre = "abcdefghijklmnopqrstuvwxyz1234567890+-" | ||
| 9 | const kAtbashPost = "zyxwvutsrqponmlkjihgfedcba0987654321-+" | ||
| 10 | |||
| 7 | 11 | ||
| 8 | func _ready(): | 12 | func _ready(): |
| 9 | orig_text = self.get_parent().get_node("Viewport/GUI/Panel/Label").text | 13 | orig_text = self.get_parent().get_node("Viewport/GUI/Panel/Label").text |
| 10 | orig_color = self.get_parent().get_node("Quad").get_surface_material(0).albedo_color | 14 | orig_color = self.get_parent().get_node("Quad").get_surface_material(0).albedo_color |
| 11 | 15 | ||
| 16 | for i in range(0, orig_text.length()): | ||
| 17 | var old_char = orig_text[i] | ||
| 18 | if old_char in kAtbashPre: | ||
| 19 | var j = kAtbashPre.find(old_char) | ||
| 20 | atbash_text += kAtbashPost[j] | ||
| 21 | else: | ||
| 22 | atbash_text += old_char | ||
| 23 | |||
| 12 | 24 | ||
| 13 | func evaluate_solvability(): | 25 | func evaluate_solvability(): |
| 14 | var apclient = global.get_node("Archipelago") | 26 | var apclient = global.get_node("Archipelago") |
| 27 | var effects = get_tree().get_root().get_node("Spatial/AP_Effects") | ||
| 15 | 28 | ||
| 16 | var solvable = true | 29 | var solvable = true |
| 17 | var missing = [] | 30 | var missing = [] |
| @@ -23,7 +36,10 @@ func evaluate_solvability(): | |||
| 23 | solvable = false | 36 | solvable = false |
| 24 | 37 | ||
| 25 | if solvable: | 38 | if solvable: |
| 26 | self.get_parent().get_node("Viewport/GUI/Panel/Label").text = orig_text | 39 | if effects.atbash_remaining > 0: |
| 40 | self.get_parent().get_node("Viewport/GUI/Panel/Label").text = atbash_text | ||
| 41 | else: | ||
| 42 | self.get_parent().get_node("Viewport/GUI/Panel/Label").text = orig_text | ||
| 27 | self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = true | 43 | self.get_parent().get_node("Viewport/GUI/Panel/TextEdit").editable = true |
| 28 | self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = orig_color | 44 | self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = orig_color |
| 29 | else: | 45 | else: |
| @@ -37,3 +53,5 @@ func evaluate_solvability(): | |||
| 37 | self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = Color( | 53 | self.get_parent().get_node("Quad").get_surface_material(0).albedo_color = Color( |
| 38 | 0.7, 0.2, 0.2 | 54 | 0.7, 0.2, 0.2 |
| 39 | ) | 55 | ) |
| 56 | |||
| 57 | self.get_parent().get_node("Viewport").render_target_update_mode = 1 | ||
