feat: surface player routes for village needs
This commit is contained in:
@@ -311,16 +311,25 @@ func _run() -> void:
|
||||
runtime_opportunity.get_trigger_event_id() if runtime_opportunity != null else -1
|
||||
)
|
||||
var runtime_helper: OpportunityHelperResult = simulation_manager.get_active_opportunity_helper()
|
||||
var runtime_player_response: OpportunityPlayerResponseResult = (
|
||||
simulation_manager.get_active_opportunity_player_response()
|
||||
)
|
||||
_check(
|
||||
(
|
||||
runtime_opportunity != null
|
||||
and runtime_helper == null
|
||||
and runtime_player_response != null
|
||||
and runtime_player_response.action_id == SimulationIds.ACTION_GATHER_WOOD
|
||||
and runtime_player_response.target_id == SimulationIds.STORAGE_VILLAGE_WOODPILE
|
||||
and runtime_player_response.available_source_count > 0
|
||||
and not simulation_manager.npc_knows_event(witness.id, runtime_trigger_id)
|
||||
and whisper_kicker.text == "VILLAGE NEED"
|
||||
and contributor.npc_name in whisper_message.text
|
||||
and "needs wood" in whisper_message.text
|
||||
and whisper_kicker.text == "YOU CAN HELP"
|
||||
and (
|
||||
"Harvest a tree; wood goes straight to the village woodpile."
|
||||
in whisper_message.text
|
||||
)
|
||||
),
|
||||
"The real blocked-work need should surface while the distant helper remains uninformed"
|
||||
"An unassisted blocked-work need should surface its real player harvest route"
|
||||
)
|
||||
_check(
|
||||
(
|
||||
@@ -330,6 +339,7 @@ func _run() -> void:
|
||||
"Possible helper: none informed, trusted, and able to supply"
|
||||
in village_stats_label.text
|
||||
)
|
||||
and "Player route: Gather Wood → Village Woodpile" in village_stats_label.text
|
||||
and "◆ Find wood for Study" in inspector_label.text
|
||||
and not contributor_visual.get_node("OpportunityConcernRoot").visible
|
||||
),
|
||||
@@ -348,6 +358,7 @@ func _run() -> void:
|
||||
witness.id, runtime_trigger_id
|
||||
)
|
||||
runtime_helper = simulation_manager.get_active_opportunity_helper()
|
||||
runtime_player_response = simulation_manager.get_active_opportunity_player_response()
|
||||
_check(
|
||||
(
|
||||
communicated_trigger != null
|
||||
@@ -357,6 +368,7 @@ func _run() -> void:
|
||||
)
|
||||
and communicated_trigger.get_source_npc_id() == contributor.id
|
||||
and runtime_helper != null
|
||||
and runtime_player_response == null
|
||||
and runtime_helper.helper_npc_id == witness.id
|
||||
and runtime_helper.action_id == SimulationIds.ACTION_GATHER_WOOD
|
||||
and whisper_kicker.text == "NEWS TRAVELS"
|
||||
|
||||
Reference in New Issue
Block a user