about summary refs log tree commit diff stats
path: root/Archipelago/load.gd
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2024-03-29 00:11:18 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2024-03-29 00:11:18 -0400
commit138ab8e0b86e1737cd4656769a14de07b78c3c30 (patch)
treeeb8122a95f7895d3bb4af9d685d9377416539678 /Archipelago/load.gd
parent01c1f08379d22b36f3eaedfa355c6e49ef3fa820 (diff)
downloadlingo-archipelago-138ab8e0b86e1737cd4656769a14de07b78c3c30.tar.gz
lingo-archipelago-138ab8e0b86e1737cd4656769a14de07b78c3c30.tar.bz2
lingo-archipelago-138ab8e0b86e1737cd4656769a14de07b78c3c30.zip
AFD notnerb
Diffstat (limited to 'Archipelago/load.gd')
-rw-r--r--Archipelago/load.gd18
1 files changed, 18 insertions, 0 deletions
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():
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):
@@ -581,6 +591,14 @@ func _load():
581 # Hook up Geronimo handler. 591 # Hook up Geronimo handler.
582 $player.connect("player_jumped", apclient, "geronimo") 592 $player.connect("player_jumped", apclient, "geronimo")
583 593
594 if april_fools:
595 # Change the appearance of every painting.
596 var notnerb_painting = load("res://nodes/paintings/bg_notnerb.tscn").instance()
597 for child in $Decorations/Paintings.get_children():
598 if child.get_node_or_null("GridMap") != null:
599 child.get_node("GridMap").queue_free()
600 child.add_child(notnerb_painting.get_node("GridMap").duplicate(true))
601
584 # Hook up the scene to be able to handle connection failures. 602 # Hook up the scene to be able to handle connection failures.
585 apclient.connect("could_not_connect", self, "archipelago_disconnected") 603 apclient.connect("could_not_connect", self, "archipelago_disconnected")
586 604