feat: add missing wood opportunities

This commit is contained in:
Rijad Zuzo
2026-07-16 01:50:19 +02:00
parent f82d9683de
commit 79dd503343
26 changed files with 1054 additions and 175 deletions
+13 -8
View File
@@ -45,15 +45,20 @@ unknown profession or executable action.
## Opportunity vocabulary
`SimulationIds` also defines the first proven opportunity type,
`restock_empty_pantry`, and its `open`/`resolved` statuses. These are stable
serialized vocabulary, not editor-authored quest definitions. Dynamic trigger,
interested NPC, pantry/food goal, progress, and exact resolution-event identity
belong to `OpportunityStateRecord` and the focused opportunity system.
`SimulationIds` defines the two proven opportunity types,
`restock_empty_pantry` and `supply_missing_wood`, plus the stable `open`,
`resolved`, and `invalidated` statuses. Invalidation reasons currently
distinguish `interested_died` from `evidence_stale`. These are serialized
vocabulary, not editor-authored quest definitions. Dynamic trigger, interested
NPC, storage/resource goal, progress, exact resolution-event identity, and
close reason belong to `OpportunityStateRecord` and
`VillageOpportunitySystem`.
Do not extract a generic quest-definition registry until another real
unresolved-condition consumer proves which lifecycle fields and rules are
actually shared.
The shared record and lifecycle collaborator were extracted only after the
food and wood consumers proved those fields. Their evidence, care, resolution,
and invalidation rules remain explicit branches. Do not add a generic quest-
definition registry until real acceptance, assignment, reward, or dialogue
consumers establish a second shared contract.
## Validation