From d5af5a849cf90067d60c4671b2cb01cdc9a73682 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Fri, 29 Mar 2024 00:11:18 -0400 Subject: AFD notnerb --- Archipelago/load.gd | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'Archipelago') 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(): var apclient = global.get_node("Archipelago") var panels_parent = self.get_node("Panels") + var date = Time.get_date_dict_from_system() + var april_fools = false + if date["month"] == 4 && date["day"] == 1: + april_fools = true + # Add a wall-blocked raycast to the player. var wallcast = RayCast.new() wallcast.name = "wallcast" @@ -406,6 +411,8 @@ func _load(): if not classes.has(painting): var i = rng.randi_range(0, all_paintings.size() - 1) var chosen = all_paintings[i] + if april_fools: + chosen = "bg_notnerb" classes[painting] = chosen all_paintings.remove(i) @@ -430,6 +437,9 @@ func _load(): var j = rng.randi_range(0, all_paintings.size() - 1) remaining.append(all_paintings[j]) all_paintings.remove(j) + + if april_fools: + remaining = ["bg_notnerb"] for painting in gamedata.paintings.keys(): if randomized.has(painting): @@ -558,6 +568,14 @@ func _load(): multiplayer_node.ghost_mode = true add_child(multiplayer_node) + if april_fools: + # Change the appearance of every painting. + var notnerb_painting = load("res://nodes/paintings/bg_notnerb.tscn").instance() + for child in $Decorations/Paintings.get_children(): + if child.get_node_or_null("GridMap") != null: + child.get_node("GridMap").queue_free() + child.add_child(notnerb_painting.get_node("GridMap").duplicate(true)) + # Hook up the scene to be able to handle connection failures. apclient.connect("could_not_connect", self, "archipelago_disconnected") -- cgit 1.4.1