feat: generate animal-care quests and render them in the journal
This commit is contained in:
@@ -77,6 +77,19 @@ func _refresh() -> void:
|
||||
if quest == null:
|
||||
quest_kicker.text = ""
|
||||
quest_label.text = ""
|
||||
elif quest.has_animal_target():
|
||||
var requester_name := _get_npc_name(quest.get_requester_npc_id())
|
||||
var animal_name := _get_animal_name(quest.get_animal_id())
|
||||
quest_kicker.text = "ACTIVE QUEST"
|
||||
quest_label.text = (
|
||||
"%s · bring %.0f %s to %s"
|
||||
% [
|
||||
requester_name,
|
||||
quest.get_target_amount(),
|
||||
String(quest.get_resource_id()).replace("_", " "),
|
||||
animal_name,
|
||||
]
|
||||
)
|
||||
else:
|
||||
var requester_name := _get_npc_name(quest.get_requester_npc_id())
|
||||
quest_kicker.text = "ACTIVE QUEST"
|
||||
@@ -141,3 +154,12 @@ func _get_npc_name(npc_id: int) -> String:
|
||||
if npc.id == npc_id:
|
||||
return npc.npc_name
|
||||
return "Someone"
|
||||
|
||||
|
||||
func _get_animal_name(animal_id: StringName) -> String:
|
||||
if (
|
||||
simulation_manager.has_method("get_animal_display_name")
|
||||
and simulation_manager.get_animal_display_name(animal_id) != ""
|
||||
):
|
||||
return simulation_manager.get_animal_display_name(animal_id)
|
||||
return String(animal_id).replace("_", " ").capitalize()
|
||||
|
||||
Reference in New Issue
Block a user