feat: add physical animal care delivery

This commit is contained in:
Rijad Zuzo
2026-07-31 00:19:41 +02:00
parent 7d410d8193
commit ead75fca68
25 changed files with 1469 additions and 191 deletions
+25 -9
View File
@@ -926,9 +926,10 @@ code proven by those two consumers.
The first identity-backed livestock slice is complete. Dunja has a stable
animal ID, simulation-owned position and hunger/feed state, and a loaded cozy
presentation whose persistent cue derives from that state. One exact operation
serves both NPC and player feeding, withdraws real pantry food, mutates only the
target animal, and appends one economic fact. World-schema v10 save/restore
preserves the result without replaying the transient response.
serves both NPC and player feeding, consumes real food from the actor's current
source, mutates only the target animal, and appends one economic fact.
World-schema v10 save/restore preserves the result without replaying the
transient response.
The first loaded-animal routine slice is complete. Dunja alternates between
stable shelter and pasture IDs without RNG; her exact target and current
@@ -955,15 +956,30 @@ shows the action and real availability, remains visible in cinematic mode, and
briefly reports success or blockage. Restore clears transient feedback and
re-derives the current prompt without adding saved state or drawing RNG.
The next bounded slice should make NPC animal care physically honest:
`village_pantry -> NPC inventory -> exact named goat`. A caretaker should keep
the same animal claim, collect one real food into the existing carried-food
presentation, and deliver it without duplication across contention or
mid-route restore. Keep breeding, products, herd scheduling, animal indexing,
and active/abstract animal LOD deferred.
NPC animal care is now physically honest:
`village_pantry -> NPC inventory -> exact named goat`. A caretaker reserves the
goat before visiting the pantry, keeps that stable claim through both travel
legs, visibly carries the withdrawn unit, and consumes only carried inventory
at delivery. One-unit contention records the late shortfall and releases only
the losing claim. A post-pickup restore preserves the inventory, exact goat,
destination, event count, and final checksum without a new saved phase field
or RNG draw.
The next bounded slice should advance Milestone 9 with player-facing villager
inspection. One nearby-person context should show the authoritative name,
current action, exact target, carried item, and current recorded decision reason
when available. After restore it should honestly say that it is awaiting the
next decision while the other facts re-derive. Do not add dialogue, trade,
reputation, quest state, breeding, products, herd scheduling, animal indexing,
or active/abstract animal LOD in that slice.
Recently completed:
- `Jajce Care Delivery 11`: NPC `feed_animal` is now one compound, two-leg
action from the real pantry through caretaker inventory to the exact reserved
goat. Carried presentation, ordered transfer facts, late contention,
conservation, and post-pickup deterministic continuation are proven without
a schema bump or generic job framework.
- `Jajce Context Action 10`: one ephemeral result now keeps the displayed `E`
prompt and executed stable target aligned across existing player
interactions. Named goat care shows exact pantry availability and transient