docs: codify entity systems pattern and record combat extensions
This commit is contained in:
@@ -26,9 +26,9 @@ simulation. The current world schema is v14 and captures:
|
||||
- opportunity records with stable type/status, interested NPC, trigger event,
|
||||
target storage/resource/amount, exact later resolution event identity, or a
|
||||
deterministic invalidation reason and close tick;
|
||||
- a player record holding the player-citizen's hunger, energy, and carried
|
||||
inventory. The player's world position remains presentation-owned and is
|
||||
intentionally not serialized;
|
||||
- a player record holding the player-citizen's hunger, energy, health,
|
||||
downed state, and carried inventory. The player's world position remains
|
||||
presentation-owned and is intentionally not serialized;
|
||||
- combatant records (health, weapon, faction, position, hostility) for NPC
|
||||
defenders and standalone raiders/wolves;
|
||||
- faction records (food, warriors, aggression, morale, stance, war plan) for
|
||||
@@ -248,6 +248,13 @@ to a binary-exact grid and faction food to a binary-exact step so that
|
||||
arbitrary world floats round-trip through JSON without breaking deterministic
|
||||
continuation checksums.
|
||||
|
||||
`PlayerStateRecord` v2 adds `health`, `max_health`, `downed`, and
|
||||
`downed_ticks` so wolves and raiders can wound and down the player, with a
|
||||
brief forced recovery that restores a fighting baseline. Nested v1 player
|
||||
records migrate to full health and standing. The player combatant used by the
|
||||
conflict system is derived state and is never serialized; hostile attacks
|
||||
reduce the authoritative player health through the ordered event stream.
|
||||
|
||||
Current-schema parsing requires unique animal IDs that do not collide with
|
||||
resource or storage IDs. An animal reservation must belong to an existing NPC
|
||||
whose active feed task targets that exact animal. Every `animal_fed` event
|
||||
|
||||
Reference in New Issue
Block a user