feat: surface open opportunity need on villager field note
This commit is contained in:
@@ -984,6 +984,25 @@ resolve the need without adding a dialogue tree, quest acceptance, rewards, a
|
||||
quest log, reputation, a generic conversation framework, or saved presentation
|
||||
state in that slice.
|
||||
|
||||
The first bounded field-note opportunity surfacing slice is complete:
|
||||
|
||||
- `VillagerInspectionResult` now carries an optional read-only
|
||||
`VillagerOpportunityNote` that is present only when the inspected villager is
|
||||
the interested party of an open village opportunity;
|
||||
- `VillagerOpportunityNote.derive` decides the honest help state from the
|
||||
existing authoritative queries: the derived player-response route wins, then
|
||||
the capable helper by name, then a real unavailable reason (need already met,
|
||||
storage has no room, no stocked source in reach, or no storage at all);
|
||||
- the quiet `VillagerFieldNoteHud` shows a restrained `Need` line for exactly
|
||||
that note, coexists with the existing `E` prompt and cinematic mode, and
|
||||
re-derives it from live state without entering saves or drawing RNG;
|
||||
- a real player finite-resource harvest resolves the same open
|
||||
`OpportunityStateRecord` through the existing economy/event history, and the
|
||||
need segment clears on the next refresh;
|
||||
- unit, runtime, and query-neutrality checks cover the derive branches, the
|
||||
staged pantry-crisis surfacing, helper naming, ordinary harvest resolution,
|
||||
and the absence of saved presentation state.
|
||||
|
||||
Recently completed:
|
||||
|
||||
- `Jajce Villager Field Note 12`: a separate player-facing note selects the
|
||||
|
||||
Reference in New Issue
Block a user