diff options
Diffstat (limited to 'client/Archipelago/keyboard.gd')
-rw-r--r-- | client/Archipelago/keyboard.gd | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/client/Archipelago/keyboard.gd b/client/Archipelago/keyboard.gd index e43ec9f..600a047 100644 --- a/client/Archipelago/keyboard.gd +++ b/client/Archipelago/keyboard.gd | |||
@@ -79,17 +79,25 @@ func save(): | |||
79 | func update_unlocks(): | 79 | func update_unlocks(): |
80 | unlocks.resetKeys() | 80 | unlocks.resetKeys() |
81 | 81 | ||
82 | var has_doubles = false | ||
83 | |||
82 | for k in kALL_LETTERS: | 84 | for k in kALL_LETTERS: |
83 | var level = 0 | 85 | var level = 0 |
84 | 86 | ||
85 | if not letters_in_keyholders.has(k): | 87 | if not letters_in_keyholders.has(k): |
86 | level = letters_saved.get(k, 0) + letters_dynamic.get(k, 0) | 88 | level = letters_saved.get(k, 0) + letters_dynamic.get(k, 0) |
87 | 89 | ||
88 | if level > 2: | 90 | if level >= 2: |
89 | level = 2 | 91 | level = 2 |
92 | has_doubles = true | ||
90 | 93 | ||
91 | unlocks.unlockKey(k, level) | 94 | unlocks.unlockKey(k, level) |
92 | 95 | ||
96 | if has_doubles and unlocks.data["double_letters"] != "unlocked": | ||
97 | var ap = global.get_node("Archipelago") | ||
98 | if ap.cyan_door_behavior == ap.kCYAN_DOOR_BEHAVIOR_DOUBLE_LETTER: | ||
99 | unlocks.setData("double_letters", "unlocked") | ||
100 | |||
93 | 101 | ||
94 | func collect_local_letter(key, level): | 102 | func collect_local_letter(key, level): |
95 | if level < 0 or level > 2 or level < letters_saved.get(key, 0): | 103 | if level < 0 or level > 2 or level < letters_saved.get(key, 0): |