diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2024-03-29 00:11:18 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2024-03-29 10:19:22 -0400 |
commit | d5af5a849cf90067d60c4671b2cb01cdc9a73682 (patch) | |
tree | 2d65a251866e956ce3536098fba1f7ac84b71916 | |
parent | 00a65635d7aee086a2a8cdd077d5335112104d0f (diff) | |
download | lingo-archipelago-d5af5a849cf90067d60c4671b2cb01cdc9a73682.tar.gz lingo-archipelago-d5af5a849cf90067d60c4671b2cb01cdc9a73682.tar.bz2 lingo-archipelago-d5af5a849cf90067d60c4671b2cb01cdc9a73682.zip |
AFD notnerb
-rw-r--r-- | Archipelago/load.gd | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Archipelago/load.gd b/Archipelago/load.gd index 09c357c..7550fba 100644 --- a/Archipelago/load.gd +++ b/Archipelago/load.gd | |||
@@ -25,6 +25,11 @@ func _load(): | |||
25 | var apclient = global.get_node("Archipelago") | 25 | var apclient = global.get_node("Archipelago") |
26 | var panels_parent = self.get_node("Panels") | 26 | var panels_parent = self.get_node("Panels") |
27 | 27 | ||
28 | var date = Time.get_date_dict_from_system() | ||
29 | var april_fools = false | ||
30 | if date["month"] == 4 && date["day"] == 1: | ||
31 | april_fools = true | ||
32 | |||
28 | # Add a wall-blocked raycast to the player. | 33 | # Add a wall-blocked raycast to the player. |
29 | var wallcast = RayCast.new() | 34 | var wallcast = RayCast.new() |
30 | wallcast.name = "wallcast" | 35 | wallcast.name = "wallcast" |
@@ -406,6 +411,8 @@ func _load(): | |||
406 | if not classes.has(painting): | 411 | if not classes.has(painting): |
407 | var i = rng.randi_range(0, all_paintings.size() - 1) | 412 | var i = rng.randi_range(0, all_paintings.size() - 1) |
408 | var chosen = all_paintings[i] | 413 | var chosen = all_paintings[i] |
414 | if april_fools: | ||
415 | chosen = "bg_notnerb" | ||
409 | classes[painting] = chosen | 416 | classes[painting] = chosen |
410 | all_paintings.remove(i) | 417 | all_paintings.remove(i) |
411 | 418 | ||
@@ -430,6 +437,9 @@ func _load(): | |||
430 | var j = rng.randi_range(0, all_paintings.size() - 1) | 437 | var j = rng.randi_range(0, all_paintings.size() - 1) |
431 | remaining.append(all_paintings[j]) | 438 | remaining.append(all_paintings[j]) |
432 | all_paintings.remove(j) | 439 | all_paintings.remove(j) |
440 | |||
441 | if april_fools: | ||
442 | remaining = ["bg_notnerb"] | ||
433 | 443 | ||
434 | for painting in gamedata.paintings.keys(): | 444 | for painting in gamedata.paintings.keys(): |
435 | if randomized.has(painting): | 445 | if randomized.has(painting): |
@@ -558,6 +568,14 @@ func _load(): | |||
558 | multiplayer_node.ghost_mode = true | 568 | multiplayer_node.ghost_mode = true |
559 | add_child(multiplayer_node) | 569 | add_child(multiplayer_node) |
560 | 570 | ||
571 | if april_fools: | ||
572 | # Change the appearance of every painting. | ||
573 | var notnerb_painting = load("res://nodes/paintings/bg_notnerb.tscn").instance() | ||
574 | for child in $Decorations/Paintings.get_children(): | ||
575 | if child.get_node_or_null("GridMap") != null: | ||
576 | child.get_node("GridMap").queue_free() | ||
577 | child.add_child(notnerb_painting.get_node("GridMap").duplicate(true)) | ||
578 | |||
561 | # Hook up the scene to be able to handle connection failures. | 579 | # Hook up the scene to be able to handle connection failures. |
562 | apclient.connect("could_not_connect", self, "archipelago_disconnected") | 580 | apclient.connect("could_not_connect", self, "archipelago_disconnected") |
563 | 581 | ||