From a75545582b2bce63b6b1ee8d8799047ec05231dd Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 5 Oct 2025 13:10:17 -0400 Subject: Update A Job Well Done sign --- apworld/client/manager.gd | 29 +++++++++++++++++++++++++++++ apworld/client/player.gd | 2 ++ 2 files changed, 31 insertions(+) diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index b13c1bd..4f5018f 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd @@ -237,6 +237,9 @@ func _process_item(item, amount): if player != null: player.evaluate_solvability.emit() + if item_id == gamedata.objects.get_special_ids()["A Job Well Done"]: + update_job_well_done_sign() + # Show a message about the item if it's new. if int(item["index"]) > _last_new_item: _last_new_item = int(item["index"]) @@ -604,3 +607,29 @@ func _process_key_item(key, level): level += 1 keyboard.collect_remote_letter(key, level) + + +func update_job_well_done_sign(): + if global.map != "daedalus": + return + + var gamedata = global.get_node("Gamedata") + var job_item = gamedata.objects.get_special_ids()["A Job Well Done"] + var jobs_done = client.getItemAmount(job_item) + + var sign2 = get_tree().get_root().get_node_or_null("scene/Meshes/Miscellaneous/sign2") + var sign3 = get_tree().get_root().get_node_or_null("scene/Meshes/Miscellaneous/sign3") + + if sign2 != null and sign3 != null: + if jobs_done == 0: + sign2.text = "what are you doing" + sign3.text = "?" + elif jobs_done == 1: + sign2.text = "a job well done" + sign3.text = "is its own reward" + else: + sign2.text = "%d jobs well done" % jobs_done + sign3.text = "are their own reward" + + sign2.get_node("MeshInstance3D").mesh.text = sign2.text + sign3.get_node("MeshInstance3D").mesh.text = sign3.text diff --git a/apworld/client/player.gd b/apworld/client/player.gd index f387929..b73f61e 100644 --- a/apworld/client/player.gd +++ b/apworld/client/player.gd @@ -313,6 +313,8 @@ func _ready(): entry1.get_parent().add_child.call_deferred(entry12) entry1.queue_free() + ap.update_job_well_done_sign() + var minimap = ap.SCRIPT_minimap.new() minimap.name = "Minimap" minimap.visible = ap.show_minimap -- cgit 1.4.1