diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2024-02-04 13:49:06 -0500 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2024-02-04 13:49:06 -0500 |
| commit | 72bb06c42fcab5c215ff034e8445c33057e0c23d (patch) | |
| tree | ab1c15c52567fbdf3c8a1cf89dc0aee149c97500 /Archipelago/effects.gd | |
| parent | 8175ffdc895392764613a8bb6c738c49926d5773 (diff) | |
| download | lingo-archipelago-72bb06c42fcab5c215ff034e8445c33057e0c23d.tar.gz lingo-archipelago-72bb06c42fcab5c215ff034e8445c33057e0c23d.tar.bz2 lingo-archipelago-72bb06c42fcab5c215ff034e8445c33057e0c23d.zip | |
Persist traps between connections
Diffstat (limited to 'Archipelago/effects.gd')
| -rw-r--r-- | Archipelago/effects.gd | 34 |
1 files changed, 27 insertions, 7 deletions
| diff --git a/Archipelago/effects.gd b/Archipelago/effects.gd index e6d2dcd..1e2e311 100644 --- a/Archipelago/effects.gd +++ b/Archipelago/effects.gd | |||
| @@ -58,13 +58,13 @@ func _ready(): | |||
| 58 | func activate(): | 58 | func activate(): |
| 59 | activated = true | 59 | activated = true |
| 60 | 60 | ||
| 61 | for _i in range(0, queued_iceland): | 61 | if queued_iceland > 0: |
| 62 | trigger_iceland_trap() | 62 | trigger_iceland_trap(queued_iceland) |
| 63 | 63 | ||
| 64 | queued_iceland = 0 | 64 | queued_iceland = 0 |
| 65 | 65 | ||
| 66 | 66 | ||
| 67 | func trigger_slowness_trap(): | 67 | func trigger_slowness_trap(length = 30): |
| 68 | if slowness_remaining == 0: | 68 | if slowness_remaining == 0: |
| 69 | var player = get_tree().get_root().get_node("Spatial/player") | 69 | var player = get_tree().get_root().get_node("Spatial/player") |
| 70 | player.walk_speed = orig_walk / 2.0 | 70 | player.walk_speed = orig_walk / 2.0 |
| @@ -72,13 +72,16 @@ func trigger_slowness_trap(): | |||
| 72 | 72 | ||
| 73 | $SlownessTimer.start() | 73 | $SlownessTimer.start() |
| 74 | 74 | ||
| 75 | slowness_remaining += 30 | 75 | slowness_remaining += length |
| 76 | text_dirty = true | 76 | text_dirty = true |
| 77 | 77 | ||
| 78 | var apclient = global.get_node("Archipelago") | ||
| 79 | apclient.saveLocaldata() | ||
| 78 | 80 | ||
| 79 | func trigger_iceland_trap(): | 81 | |
| 82 | func trigger_iceland_trap(length = 60): | ||
| 80 | if not activated: | 83 | if not activated: |
| 81 | queued_iceland += 1 | 84 | queued_iceland += length |
| 82 | return | 85 | return |
| 83 | 86 | ||
| 84 | if iceland_remaining == 0: | 87 | if iceland_remaining == 0: |
| @@ -88,9 +91,12 @@ func trigger_iceland_trap(): | |||
| 88 | 91 | ||
| 89 | $IcelandTimer.start() | 92 | $IcelandTimer.start() |
| 90 | 93 | ||
| 91 | iceland_remaining += 60 | 94 | iceland_remaining += length |
| 92 | text_dirty = true | 95 | text_dirty = true |
| 93 | 96 | ||
| 97 | var apclient = global.get_node("Archipelago") | ||
| 98 | apclient.saveLocaldata() | ||
| 99 | |||
| 94 | 100 | ||
| 95 | func trigger_atbash_trap(): | 101 | func trigger_atbash_trap(): |
| 96 | var newly_atbash = (atbash_remaining == 0) | 102 | var newly_atbash = (atbash_remaining == 0) |
| @@ -102,6 +108,9 @@ func trigger_atbash_trap(): | |||
| 102 | 108 | ||
| 103 | text_dirty = true | 109 | text_dirty = true |
| 104 | 110 | ||
| 111 | var apclient = global.get_node("Archipelago") | ||
| 112 | apclient.saveLocaldata() | ||
| 113 | |||
| 105 | 114 | ||
| 106 | func deactivate_atbash_trap(): | 115 | func deactivate_atbash_trap(): |
| 107 | if atbash_remaining > 0: | 116 | if atbash_remaining > 0: |
| @@ -112,6 +121,9 @@ func deactivate_atbash_trap(): | |||
| 112 | apclient.evaluateSolvability() | 121 | apclient.evaluateSolvability() |
| 113 | 122 | ||
| 114 | text_dirty = true | 123 | text_dirty = true |
| 124 | |||
| 125 | var apclient = global.get_node("Archipelago") | ||
| 126 | apclient.saveLocaldata() | ||
| 115 | 127 | ||
| 116 | 128 | ||
| 117 | func show_puzzle_skip_message(node_path): | 129 | func show_puzzle_skip_message(node_path): |
| @@ -180,6 +192,10 @@ func _tick_slowness(): | |||
| 180 | player.run_speed = orig_run | 192 | player.run_speed = orig_run |
| 181 | 193 | ||
| 182 | $SlownessTimer.stop() | 194 | $SlownessTimer.stop() |
| 195 | |||
| 196 | if slowness_remaining % 5 == 0: | ||
| 197 | var apclient = global.get_node("Archipelago") | ||
| 198 | apclient.saveLocaldata() | ||
| 183 | 199 | ||
| 184 | 200 | ||
| 185 | func _tick_iceland(): | 201 | func _tick_iceland(): |
| @@ -192,6 +208,10 @@ func _tick_iceland(): | |||
| 192 | ) | 208 | ) |
| 193 | 209 | ||
| 194 | $IcelandTimer.stop() | 210 | $IcelandTimer.stop() |
| 211 | |||
| 212 | if iceland_remaining % 5 == 0: | ||
| 213 | var apclient = global.get_node("Archipelago") | ||
| 214 | apclient.saveLocaldata() | ||
| 195 | 215 | ||
| 196 | 216 | ||
| 197 | func _process(_delta): | 217 | func _process(_delta): |
