roadmap: Foul Play is universal (any pawn fills vessels); the eight-liquid catalogue

- Universality principle: filling/fermenting/throwing/drinking/addicting are any
  pawn's behaviours, gated by disposition, not prisoner status. Contraband is the
  held-pawn CONCEALMENT lens on top. Prisoner gate lives only on the conceal path.
- Drink-any-fluid stage now includes blood as a substance and per-fluid addiction
  rarity modified by mental health + circumstances.
This commit is contained in:
flan
2026-07-15 04:04:56 +00:00
parent 036facab29
commit 8c029eba88
+11
View File
@@ -301,6 +301,17 @@ built on the existing `SubstanceDef` (data) + `CompVessel` (delivery) + `CompFer
disease + humiliation in one throw. "Mix everything": the blend is a runtime list on the vessel, disease + humiliation in one throw. "Mix everything": the blend is a runtime list on the vessel,
defaulting to the def's single substance when unmixed, so every existing vessel still works. defaulting to the def's single substance when unmixed, so every existing vessel still works.
**Universality principle (2026-07-15): Foul Play is for EVERY pawn; Contraband is the prison lens.**
Filling a vessel, fermenting it, throwing it, drinking it, and addicting to it are behaviours of *any*
pawn — colonist, prisoner, slave, raider, visitor — gated by **disposition (propensity)**, never by
prisoner status. "Not just prisoners fill vessels; any pawn can and will." That is the propensity
engine (already universal) driving substance behaviour, and it is the mechanics-level expression of
the whole thesis: every pawn on a spectrum. The prisoner-only concept is **concealment/search**, which
is Contraband's held-pawn overlay: a prisoner *hides* the vessel they filled as a secret; a free
colonist just has it. So the prisoner gate lives ONLY on the conceal path (`AcquireWorker`), never on
the fill/ferment/throw/drink behaviours. A universal "a disposed pawn fills a vessel" job is its own
piece, separate from the contraband brew that hides the result.
**Reframed 2026-07-15 (user directive): vessels are GENERIC, contents are RUNTIME.** Hooch is not a **Reframed 2026-07-15 (user directive): vessels are GENERIC, contents are RUNTIME.** Hooch is not a
bespoke item — it 1:1 models piss *except it is flammable*. A vessel is a generic container; what is in bespoke item — it 1:1 models piss *except it is flammable*. A vessel is a generic container; what is in
it (piss, hooch, feces, a blend) is instance state that can be **filled, fermented, poured between it (piss, hooch, feces, a blend) is instance state that can be **filled, fermented, poured between