Death traits and internals
deadly-room is a trait, authored via deadly: above, or in
TypeScript for safeVerbs/chance. Its fields are cause (which
defaults to the phrase key from Chord, 'hazard' in TS), messageId,
safeVerbs, and chance. The Steam Vault is this trait's Chord
surface.
health is a trait that is Chord-reachable only through combat:
under use combat, combatant with health 20 and max-health 30 seeds
it, auto-attached, and there is no standalone health adjective. The single
life-state model (ADR-226) comprises health/maxHealth, a
consciousness threshold, an asleep flag, and the terminal
dead/causeOfDeath pair; the behavior owns takeDamage/heal/kill
and the derived isAlive/isConscious. Entities without it are simply
alive; it is opt-in, and the platform attaches one to the player lazily
the first time something kills them. Combat damages through it.
deadly-room-death is an internal action that has no grammar and is
never typed. It is the redirect target both deadly forms rewrite
commands into: it validates
unconditionally ("death is inevitable once redirected"), calls the
platform death sink, and reports the died event. Interceptors never see
it. One wire-shape nuance for event listeners: on this path the death
text rides the died event's messageId; on the kill the player path
the text is a separate phrase event and the died event carries only the
cause; same visible result, different payloads:
kill the player | deadly exit / deadly room | |
|---|---|---|
| Refusals | none — a statement, not an action; the when suffix is the only gate | none — the redirect validates unconditionally, and interceptors never see it |
| Death text | the phrase key, spoken as a separate phrase event | the phrase key, riding player-died's messageId |
| Events | player-died (carries only the cause) | player-died (carries cause and messageId) |
| Ending | game-lost on the death and endgame channels — unless a story policy revives the player inside the veto window | same |
No shipped .story uses these constructs yet; the live production use of
the same machinery is Dungeo's Aragain Falls (a TypeScript transformer on
the identical seam; falls-deadly-exit.transcript pins the behavior),
plus its gas, grue, and poison deaths through killPlayer.