diff options
Diffstat (limited to 'Archipelago/client.gd')
-rw-r--r-- | Archipelago/client.gd | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Archipelago/client.gd b/Archipelago/client.gd index e3b2c89..f0a4d2e 100644 --- a/Archipelago/client.gd +++ b/Archipelago/client.gd | |||
@@ -92,6 +92,7 @@ var _last_new_item = -1 | |||
92 | var _progressive_progress = {} | 92 | var _progressive_progress = {} |
93 | var _has_colors = ["white"] | 93 | var _has_colors = ["white"] |
94 | var _received_indexes = [] | 94 | var _received_indexes = [] |
95 | var _puzzle_skips = 0 | ||
95 | 96 | ||
96 | signal could_not_connect | 97 | signal could_not_connect |
97 | signal connect_status | 98 | signal connect_status |
@@ -539,6 +540,7 @@ func mapFinishedLoading(): | |||
539 | _received_indexes.clear() | 540 | _received_indexes.clear() |
540 | _progressive_progress.clear() | 541 | _progressive_progress.clear() |
541 | _has_colors = ["white"] | 542 | _has_colors = ["white"] |
543 | _puzzle_skips = 0 | ||
542 | emit_signal("evaluate_solvability") | 544 | emit_signal("evaluate_solvability") |
543 | 545 | ||
544 | for item in _held_items: | 546 | for item in _held_items: |
@@ -632,6 +634,8 @@ func processItem(item, index, from, flags): | |||
632 | effects_node.trigger_iceland_trap() | 634 | effects_node.trigger_iceland_trap() |
633 | if item_name == "Atbash Trap": | 635 | if item_name == "Atbash Trap": |
634 | effects_node.trigger_atbash_trap() | 636 | effects_node.trigger_atbash_trap() |
637 | if item_name == "Puzzle Skip": | ||
638 | _puzzle_skips += 1 | ||
635 | 639 | ||
636 | 640 | ||
637 | func doorIsVanilla(door): | 641 | func doorIsVanilla(door): |
@@ -646,6 +650,14 @@ func evaluateSolvability(): | |||
646 | emit_signal("evaluate_solvability") | 650 | emit_signal("evaluate_solvability") |
647 | 651 | ||
648 | 652 | ||
653 | func getAvailablePuzzleSkips(): | ||
654 | return _puzzle_skips | ||
655 | |||
656 | |||
657 | func usePuzzleSkip(): | ||
658 | _puzzle_skips -= 1 | ||
659 | |||
660 | |||
649 | func colorForItemType(flags): | 661 | func colorForItemType(flags): |
650 | var int_flags = int(flags) | 662 | var int_flags = int(flags) |
651 | if int_flags & 1: # progression | 663 | if int_flags & 1: # progression |