From 131844fc133e2b1c2a4fccaa8a8a542f10d47265 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 25 Oct 2025 12:10:01 -0400 Subject: The Fuzzy is playable now --- apworld/client/player.gd | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'apworld/client/player.gd') diff --git a/apworld/client/player.gd b/apworld/client/player.gd index 9acb942..712a59b 100644 --- a/apworld/client/player.gd +++ b/apworld/client/player.gd @@ -25,6 +25,7 @@ func _ready(): _set_up_mastery_listener("advanced") _set_up_mastery_listener("charismatic") _set_up_mastery_listener("crystalline") + _set_up_mastery_listener("fuzzy") _set_up_mastery_listener("icarus") _set_up_mastery_listener("stellar") @@ -219,6 +220,29 @@ func _ready(): q_wpl.senders.append(NodePath("../QPanel")) giftmap_parent.add_child.call_deferred(q_wpl) + if ap.enable_gift_maps.has("The Fuzzy"): + var gongus_panel = panel_prefab.instantiate() + gongus_panel.name = "GongusPanel" + gongus_panel.answer = "gongus" + gongus_panel.position = Vector3(33.5, -260, 5.5) + giftmap_panel.proxies.append(NodePath("../GongusPanel")) + giftmap_parent.add_child.call_deferred(gongus_panel) + + var kiwi_panel = panel_prefab.instantiate() + kiwi_panel.name = "KiwiPanel" + kiwi_panel.answer = "kiwi" + kiwi_panel.position = Vector3(33.5, -270, 5.5) + giftmap_panel.proxies.append(NodePath("../KiwiPanel")) + giftmap_parent.add_child.call_deferred(kiwi_panel) + + var fuzzy_wpl = wpl_prefab.instantiate() + fuzzy_wpl.name = "FuzzyWpl" + fuzzy_wpl.exit = "the_fuzzy" + fuzzy_wpl.senders.append(NodePath("../GongusPanel")) + fuzzy_wpl.senders.append(NodePath("../KiwiPanel")) + fuzzy_wpl.complete_at = 1 + giftmap_parent.add_child.call_deferred(fuzzy_wpl) + if ap.enable_gift_maps.has("The Stellar"): var hatkirby_panel = panel_prefab.instantiate() hatkirby_panel.name = "HatkirbyPanel" @@ -505,6 +529,32 @@ func _ready(): saver.senderGroup.append(NodePath("/root/scene/Components/Collectables")) get_node("/root/scene").add_child.call_deferred(saver) + # Add the mastery to The Fuzzy. + if global.map == "the_fuzzy": + var collectable_prefab = preload("res://objects/nodes/collectable.tscn") + var saver_prefab = preload("res://objects/nodes/saver.tscn") + var usl_prefab = preload("res://objects/nodes/listeners/unlockSetterListener.tscn") + + var mastery = collectable_prefab.instantiate() + mastery.name = "collectable" + mastery.position = Vector3(0, 2, -20) + mastery.unlock_type = "smiley" + mastery.material_override = load("res://assets/materials/gold.material") + get_node("/root/scene/Components/Collectables").add_child.call_deferred(mastery) + + var usl = usl_prefab.instantiate() + usl.name = "unlockSetterListenerMastery" + usl.key = "fuzzy_mastery" + usl.value = "unlocked" + usl.senders.append(NodePath("/root/scene/Components/Collectables/collectable")) + get_node("/root/scene/Components").add_child.call_deferred(usl) + + var saver = saver_prefab.instantiate() + saver.name = "saver_collectables" + saver.type = "collectables" + saver.senderGroup.append(NodePath("/root/scene/Components/Collectables")) + get_node("/root/scene").add_child.call_deferred(saver) + # Add the mastery to The Stellar. if global.map == "the_stellar": var collectable_prefab = preload("res://objects/nodes/collectable.tscn") -- cgit 1.4.1