feat: surface player routes for village needs
This commit is contained in:
@@ -782,24 +782,14 @@ func get_relationship_cause(relationship: RelationshipStateRecord) -> EconomicEv
|
||||
|
||||
|
||||
func get_known_events(npc_id: int, max_count: int = 3) -> Array[EconomicEventRecord]:
|
||||
var known: Array[EconomicEventRecord] = []
|
||||
for event_id in event_knowledge_system.get_known_event_ids(npc_id, max_count):
|
||||
var event := event_log.get_by_id(event_id)
|
||||
if event != null:
|
||||
known.append(event)
|
||||
return known
|
||||
return event_log.get_by_ids(event_knowledge_system.get_known_event_ids(npc_id, max_count))
|
||||
|
||||
|
||||
func get_retained_memory_events(npc_id: int, max_count: int = 4) -> Array[EconomicEventRecord]:
|
||||
var retained: Array[EconomicEventRecord] = []
|
||||
var event_ids := event_knowledge_system.get_retained_event_ids(
|
||||
npc_id, _get_lasting_event_ids(npc_id), max_count
|
||||
)
|
||||
for event_id in event_ids:
|
||||
var event := event_log.get_by_id(event_id)
|
||||
if event != null:
|
||||
retained.append(event)
|
||||
return retained
|
||||
return event_log.get_by_ids(event_ids)
|
||||
|
||||
|
||||
func get_active_opportunity() -> OpportunityStateRecord:
|
||||
@@ -820,18 +810,26 @@ func get_active_opportunity_helper() -> OpportunityHelperResult:
|
||||
)
|
||||
|
||||
|
||||
func get_active_opportunity_player_response() -> OpportunityPlayerResponseResult:
|
||||
var active := get_active_opportunity()
|
||||
if active == null:
|
||||
return null
|
||||
var helper := get_active_opportunity_helper()
|
||||
return opportunity_system.find_player_response(
|
||||
active, economy.get_storage(active.get_target_id()), resource_states, helper != null
|
||||
)
|
||||
|
||||
|
||||
func get_latest_opportunity_for_npc(npc_id: int) -> OpportunityStateRecord:
|
||||
return opportunity_system.get_latest_for_npc(npc_id)
|
||||
|
||||
|
||||
func get_opportunity_trigger_event(opportunity: OpportunityStateRecord) -> EconomicEventRecord:
|
||||
var event_id := opportunity.get_trigger_event_id() if opportunity != null else -1
|
||||
return event_log.get_by_id(event_id)
|
||||
return event_log.get_by_id(opportunity.get_trigger_event_id() if opportunity != null else -1)
|
||||
|
||||
|
||||
func get_opportunity_resolution_event(opportunity: OpportunityStateRecord) -> EconomicEventRecord:
|
||||
var event_id := opportunity.get_resolution_event_id() if opportunity != null else -1
|
||||
return event_log.get_by_id(event_id)
|
||||
return event_log.get_by_id(opportunity.get_resolution_event_id() if opportunity != null else -1)
|
||||
|
||||
|
||||
func npc_knows_event(npc_id: int, event_id: int) -> bool:
|
||||
|
||||
Reference in New Issue
Block a user