diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-22 16:42:26 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-22 16:42:26 +0800 |
| commit | 4f512323e521bf57dee7b2bd5e060b69b7b6d029 (patch) | |
| tree | b4f51622fa34617a9efef3d452af99d025761883 /src/LivingVillage.Desktop/Interaction.fs | |
| parent | 9821b54ff2a77539898b62471d79dc4685b59cad (diff) | |
| download | living-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.fs | 6 |
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 ] |
