Files
institution/Wiki/ward/Home.md
T
flan e96ac23949 Move AI attribution to a single NOTICE file
Per the updated project policy, AI/Claude attribution lives in exactly one NOTICE file per repo and
nowhere else -- removed it from the About description, README, wiki, and roadmap.
2026-07-16 01:30:09 +00:00

6.6 KiB
Raw Blame History

Institution: Ward

Involuntary psychiatric commitment for RimWorld 1.6 — the third pawn state, neither free nor guilty.

The psychiatric-care layer of the Institution suite. Ward runs on Core's shared treatment engine and ships bundled in the single Institution install with a toggle of its own; it still installs standalone (needing only Institution: Core and Harmony). Once a separate sister mod, now folded in.

RimWorld gives a person exactly two places to stand: colonist, or prisoner. There is no third state for someone who is neither free nor guilty. Out of the box you cannot commit anyone. A colonist breaks, wanders off, punches a wall, recovers on their own, and goes back to hauling steel as though nothing happened. Mental breaks are episodic and amnesiac — nothing persists, nothing is done about them.

Ward adds the missing state, and the room to put it in. A colonist you arrest can be set to psychiatric care. Wardens counsel them at a treatment station. A room with prisoner beds and a treatment station is a psychiatric ward, not a prison cell. Treatment lowers the patient's mental-break threshold while it lasts — and it decays, so it has to be sustained. A ward you don't staff is worse than no ward at all.


The third state, without a fourth enum slot

The reason "commit a colonist" isn't a stock feature is a single compiled fact. RimWorld.GuestStatus is a three-value enum:

Guest    = 0
Prisoner = 1
Slave    = 2

A mod cannot add a fourth value to a compiled enum. That one constraint drives every design decision in Ward — and in the rest of the ecosystem. It is why Hospitality carries dozens of Harmony patches to maintain a pawn who is in your colony but is not your colonist: the enum has no slot for one, so it runs a shadow guest system and defends it by patching bed validity, allowed areas, the work JobGiver and the mental-state handler.

Ward doesn't pay that tax. A committed pawn is a prisoner, in vanilla's own sense of the word — arresting your own colonist already performs the colonist→prisoner transition. Ward only adds a new mode to hold them under, and PrisonerInteractionModeDef is a Def, not an enum. Adding one is XML plus, at most, a worker class. This is not a trick; it is the established pattern. Prison Labor already ships seven custom interaction modes of its own.

So the state itself costs zero patches — it is all defs:

Extension point What Ward adds Patches needed
PrisonerInteractionModeDef Ward_PsychiatricCare (non-exclusive) 0
RoomRoleDef (workerClass is public) Ward_PsychWard 0
WorkGiverDef (giverClass) Ward_WardenPsychiatricCare 0
JobDef, HediffDef, ThoughtDef, ThingDef treatment, recovery, neglect, the station 0

Ward does use Harmony where a patch is the cleaner tool (a patient's inspect line, and more), so it is not a zero-patch mod. Its compatibility is about which methods it avoids: it touches none of the contested methods the popular psych/prison mods fight over, and never prefixes MentalStateHandler.TryStartMentalState. The full argument — which mods it was verified against and why it can't collide with them — is on The Compat Harness page.


Riding the prisoner rail (why the suite cares)

The design choice that makes Ward cheap also makes it interesting inside the wider Institution suite. A committed patient is a genuine vanilla prisoner. That means they are a secure context in exactly the sense the rest of the suite understands: a pawn who is held, searchable, and capable of concealing and improvising contraband. A patient in a psych ward can hoard a shiv or brew something foul in a smuggled vessel for free, because the contraband, search, corruption and gang systems were written against "held pawn," and a ward patient satisfies that predicate without Ward writing a line of integration code.

The ward is a prison cell that happens to also be a ward. Room.isPrisonCell is a cached field written only when the room's shape changes — it is not derived from the room's role — so re-labelling a cell as a ward cannot break containment, food delivery, or prison breaks. The compat harness asserts exactly this: a built ward is both roleIsWard = True and stillPrisonCellAsWard = True. The two claims pull against each other, and both have to hold.


Wiki index

Page What's on it
Home (this page) What Ward is, the third-state problem, the suite
Commitment How commitment works in play: the mode, station, room role, work giver, job, hediff, thoughts, neglect, and how it stacks with recruitment — with every real def name and number
The Compat Harness The in-game test tool this repo carries: booting real headless RimWorld with the whole suite + the most-subscribed Workshop mods (~24 active), the dependency-ordered build, the WARDTEST / PNTEST / CBTEST / FPBRIDGE assertion families, and how to run it

Part of the Institution suite

A set of RimWorld 1.6 mods about what an institution does to the people inside it. Each mod stands alone as an install; together they interlock into one system — colonists and prisoners drift toward crime on a spectrum of nature × nurture, and a policing/justice layer discovers, catches, punishes, reforms, or paroles them. Ward's psychiatric ward is a secure context where a committed patient can conceal and improvise contraband exactly as a prisoner can, because they ride the same prisoner rail.

Mod What it is
Institution: Ward (this) Involuntary psychiatric commitment — the third pawn state, neither free nor guilty. Also carries the suite's in-game compat harness.
Institution: Core The shared engine — propensity (nature × nurture), the criminal record, secured context.
Institution: Contraband The physical smuggling loop — conceal, improvise shivs, dig Prison-Architect tunnels, warden search, warden corruption.
Institution: Justice Corrections & policing — classification, deterrence, discipline, parole, regime.
Institution: Gangs Gangs as contraband economies — joining, smuggling networks, rivalry, fights-as-crime. Also the home of the suite's cross-module CBTEST integration test.
Foul Play The vessel + substance + throw framework, and the "Piss Nuke" flagship; bridges to Core + Contraband when both are present.

Reference sibling mods by name — the mods are separate repositories and cross-repo links break.