diff options
Diffstat (limited to 'Archipelago/client.gd')
-rw-r--r-- | Archipelago/client.gd | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/Archipelago/client.gd b/Archipelago/client.gd index 06fb3a6..05294d5 100644 --- a/Archipelago/client.gd +++ b/Archipelago/client.gd | |||
@@ -115,6 +115,7 @@ var _puzzle_skips = 0 | |||
115 | var _cached_slowness = 0 | 115 | var _cached_slowness = 0 |
116 | var _cached_iceland = 0 | 116 | var _cached_iceland = 0 |
117 | var _cached_atbash = 0 | 117 | var _cached_atbash = 0 |
118 | var _geronimo_skip = false | ||
118 | 119 | ||
119 | signal could_not_connect | 120 | signal could_not_connect |
120 | signal connect_status | 121 | signal connect_status |
@@ -300,7 +301,7 @@ func _on_data(): | |||
300 | 301 | ||
301 | if localdata.size() > 1: | 302 | if localdata.size() > 1: |
302 | _puzzle_skips = localdata[1] | 303 | _puzzle_skips = localdata[1] |
303 | 304 | ||
304 | if localdata.size() > 2: | 305 | if localdata.size() > 2: |
305 | _cached_slowness = localdata[2] | 306 | _cached_slowness = localdata[2] |
306 | else: | 307 | else: |
@@ -316,6 +317,11 @@ func _on_data(): | |||
316 | else: | 317 | else: |
317 | _cached_atbash = 0 | 318 | _cached_atbash = 0 |
318 | 319 | ||
320 | if localdata.size() > 5: | ||
321 | _geronimo_skip = localdata[5] | ||
322 | else: | ||
323 | _geronimo_skip = false | ||
324 | |||
319 | requestSync() | 325 | requestSync() |
320 | 326 | ||
321 | emit_signal("client_connected") | 327 | emit_signal("client_connected") |
@@ -475,7 +481,8 @@ func saveLocaldata(): | |||
475 | _puzzle_skips, | 481 | _puzzle_skips, |
476 | effects_node.slowness_remaining, | 482 | effects_node.slowness_remaining, |
477 | effects_node.iceland_remaining, | 483 | effects_node.iceland_remaining, |
478 | effects_node.atbash_remaining | 484 | effects_node.atbash_remaining, |
485 | _geronimo_skip | ||
479 | ] | 486 | ] |
480 | file.store_var(data, true) | 487 | file.store_var(data, true) |
481 | file.close() | 488 | file.close() |
@@ -720,6 +727,15 @@ func usePuzzleSkip(): | |||
720 | saveLocaldata() | 727 | saveLocaldata() |
721 | 728 | ||
722 | 729 | ||
730 | func geronimo(): | ||
731 | if !_geronimo_skip: | ||
732 | messages.showMessage("Geronimo! You found a puzzle skip.") | ||
733 | |||
734 | _puzzle_skips += 1 | ||
735 | _geronimo_skip = true | ||
736 | saveLocaldata() | ||
737 | |||
738 | |||
723 | func colorForItemType(flags): | 739 | func colorForItemType(flags): |
724 | var int_flags = int(flags) | 740 | var int_flags = int(flags) |
725 | if int_flags & 1: # progression | 741 | if int_flags & 1: # progression |