feat: add paired goat care

This commit is contained in:
Rijad Zuzo
2026-07-30 23:03:15 +02:00
parent 5511c295a5
commit d950c3da68
19 changed files with 541 additions and 61 deletions
+5 -5
View File
@@ -119,9 +119,9 @@ func can_complete_feed(animal_id: StringName, agent_id: int) -> bool:
)
func get_available_feed_name(npc_id: int) -> String:
func has_available_feed_target(npc_id: int) -> bool:
if active_world_adapter == null or not active_world_adapter.has_method("get_animal_candidates"):
return ""
return false
var candidates: Array[Dictionary] = active_world_adapter.get_animal_candidates(
SimulationIds.ACTION_FEED_ANIMAL
)
@@ -132,8 +132,8 @@ func get_available_feed_name(npc_id: int) -> String:
and animal_state.can_npc_feed()
and animal_state.is_available_for(npc_id)
):
return animal_state.get_display_name()
return ""
return true
return false
func find_node_for_player(from_position: Vector3, max_distance: float) -> AnimalNode:
@@ -250,7 +250,7 @@ func _begin_due_routine(animal_state: AnimalStateRecord) -> bool:
if AnimalNode.get_by_id(animal_state.get_animal_id()) == null:
return false
var candidates: Array[Dictionary] = active_world_adapter.get_animal_routine_sites(
animal_state.get_species_id()
animal_state.get_species_id(), animal_state.get_animal_id()
)
if candidates.is_empty():
return false