From 138ab8e0b86e1737cd4656769a14de07b78c3c30 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(+) diff --git a/Archipelago/load.gd b/Archipelago/load.gd index 3e11b8b..dc4049e 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): @@ -581,6 +591,14 @@ func _load(): # Hook up Geronimo handler. $player.connect("player_jumped", apclient, "geronimo") + 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