diff options
Diffstat (limited to 'Archipelago/client.gd')
-rw-r--r-- | Archipelago/client.gd | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Archipelago/client.gd b/Archipelago/client.gd index 3973f0e..6621194 100644 --- a/Archipelago/client.gd +++ b/Archipelago/client.gd | |||
@@ -104,6 +104,7 @@ var _pilgrimage_allows_roof_access = false | |||
104 | var _pilgrimage_allows_paintings = false | 104 | var _pilgrimage_allows_paintings = false |
105 | var _sunwarp_shuffle = false | 105 | var _sunwarp_shuffle = false |
106 | var _sunwarp_mapping = [] | 106 | var _sunwarp_mapping = [] |
107 | var _speed_boost_mode = false | ||
107 | var _slot_seed = 0 | 108 | var _slot_seed = 0 |
108 | 109 | ||
109 | var _map_loaded = false | 110 | var _map_loaded = false |
@@ -117,6 +118,7 @@ var _puzzle_skips = 0 | |||
117 | var _cached_slowness = 0 | 118 | var _cached_slowness = 0 |
118 | var _cached_iceland = 0 | 119 | var _cached_iceland = 0 |
119 | var _cached_atbash = 0 | 120 | var _cached_atbash = 0 |
121 | var _cached_speed_boosts = 0 | ||
120 | var _geronimo_skip = false | 122 | var _geronimo_skip = false |
121 | var _checked_paintings = [] | 123 | var _checked_paintings = [] |
122 | 124 | ||
@@ -330,6 +332,10 @@ func _on_data(): | |||
330 | _sunwarp_shuffle = false | 332 | _sunwarp_shuffle = false |
331 | if _slot_data.has("sunwarp_permutation"): | 333 | if _slot_data.has("sunwarp_permutation"): |
332 | _sunwarp_mapping = _slot_data["sunwarp_permutation"] | 334 | _sunwarp_mapping = _slot_data["sunwarp_permutation"] |
335 | if _slot_data.has("speed_boost_mode"): | ||
336 | _speed_boost_mode = _slot_data["speed_boost_mode"] | ||
337 | else: | ||
338 | _speed_boost_mode = false | ||
333 | 339 | ||
334 | if ( | 340 | if ( |
335 | _location_classification_bit != kCLASSIFICATION_LOCAL_INSANITY | 341 | _location_classification_bit != kCLASSIFICATION_LOCAL_INSANITY |
@@ -348,6 +354,7 @@ func _on_data(): | |||
348 | _cached_slowness = 0 | 354 | _cached_slowness = 0 |
349 | _cached_iceland = 0 | 355 | _cached_iceland = 0 |
350 | _cached_atbash = 0 | 356 | _cached_atbash = 0 |
357 | _cached_speed_boosts = 0 | ||
351 | _geronimo_skip = false | 358 | _geronimo_skip = false |
352 | 359 | ||
353 | _localdata_file = "user://archipelago_data/%s_%d" % [_seed, _slot] | 360 | _localdata_file = "user://archipelago_data/%s_%d" % [_seed, _slot] |
@@ -379,6 +386,9 @@ func _on_data(): | |||
379 | if localdata.size() > 5: | 386 | if localdata.size() > 5: |
380 | _geronimo_skip = localdata[5] | 387 | _geronimo_skip = localdata[5] |
381 | 388 | ||
389 | if localdata.size() > 6: | ||
390 | _cached_speed_boosts = localdata[6] | ||
391 | |||
382 | requestSync() | 392 | requestSync() |
383 | 393 | ||
384 | sendMessage( | 394 | sendMessage( |
@@ -568,7 +578,8 @@ func saveLocaldata(): | |||
568 | effects_node.slowness_remaining, | 578 | effects_node.slowness_remaining, |
569 | effects_node.iceland_remaining, | 579 | effects_node.iceland_remaining, |
570 | effects_node.atbash_remaining, | 580 | effects_node.atbash_remaining, |
571 | _geronimo_skip | 581 | _geronimo_skip, |
582 | effects_node.speed_boosts_remaining, | ||
572 | ] | 583 | ] |
573 | file.store_var(data, true) | 584 | file.store_var(data, true) |
574 | file.close() | 585 | file.close() |
@@ -800,6 +811,8 @@ func processItem(item, index, from, flags): | |||
800 | effects_node.trigger_iceland_trap() | 811 | effects_node.trigger_iceland_trap() |
801 | if item_name == "Atbash Trap": | 812 | if item_name == "Atbash Trap": |
802 | effects_node.trigger_atbash_trap() | 813 | effects_node.trigger_atbash_trap() |
814 | if item_name == "Speed Boost": | ||
815 | effects_node.trigger_speed_boost() | ||
803 | if item_name == "Puzzle Skip": | 816 | if item_name == "Puzzle Skip": |
804 | _puzzle_skips += 1 | 817 | _puzzle_skips += 1 |
805 | 818 | ||