summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Desktop/Interaction.fs
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-22 16:42:26 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-22 16:42:26 +0800
commit4f512323e521bf57dee7b2bd5e060b69b7b6d029 (patch)
treeb4f51622fa34617a9efef3d452af99d025761883 /src/LivingVillage.Desktop/Interaction.fs
parent9821b54ff2a77539898b62471d79dc4685b59cad (diff)
downloadliving-village-4f512323e521bf57dee7b2bd5e060b69b7b6d029.tar.gz
feat(desktop): P31 step4 story progress display + evidence shots
- Task panel (T key): a storyline row per occupation, e.g. ju-qing-xian: shui-wei-yu-shou-cheng, zou-fang-zhong (line name + stage name); absent for occupation-free saves. - Occupation select page: minimal hint line showing the selected occupation's storyline name. - Evidence hook LV_STORY_SHOT=1 (+LV_STORY_OCCUPATION, LV_STORY_STAGE): boots a real world through the standard bootstrap, advances the story via the real dialogue pipeline (chooseDialogueWith bias + Story.onDialogue + StoryAnnal append), opens the task panel and saves one back-buffer frame, then exits. 4 Xvfb shots (farmer/fisher/peddler/scholar) captured under art/ (gitignored, not committed). - 4 new desktop tests (156 -> 160): panel storyline lines, bias + story advance through M5Interaction, no-occupation path stays story-free.
Diffstat (limited to 'src/LivingVillage.Desktop/Interaction.fs')
-rw-r--r--src/LivingVillage.Desktop/Interaction.fs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/LivingVillage.Desktop/Interaction.fs b/src/LivingVillage.Desktop/Interaction.fs
index bfe26c8..9aceff6 100644
--- a/src/LivingVillage.Desktop/Interaction.fs
+++ b/src/LivingVillage.Desktop/Interaction.fs
@@ -632,4 +632,8 @@ module M5Interaction =
| None -> [ "今日暂无任务" ]
| Some task ->
[ sprintf "%s:%s" (Occupation.taskNameOf task.TemplateId) (taskStateText task.State) ]
- Occupation.nameOf occupationState.Profile.Kind :: taskLines @ [ status ]
+ let storyLine =
+ sprintf "剧情线:%s,%s"
+ (Occupation.Story.lineNameOf occupationState.Profile.Kind)
+ (Occupation.Story.stageNameOf occupationState.StoryStage)
+ Occupation.nameOf occupationState.Profile.Kind :: taskLines @ [ storyLine ] @ [ status ]