Wiki: player-facing rewrite of every layer + add a scenario FAQ, linked from Home

This commit is contained in:
flan
2026-07-16 02:18:25 +00:00
parent ff703271ba
commit 8250dcb369
32 changed files with 1654 additions and 2510 deletions
+34 -75
View File
@@ -3,93 +3,62 @@
*The daily life of the held — and the one lever vanilla withholds.*
Most of what a prison regime needs, vanilla already gives you. The schedule is the Restrict tab. The
mood-driven disposition already flows through `Propensity.Nurture` — a neglected prisoner runs hotter
with no new machinery. So Regime does not rebuild any of that. It adds the single thing vanilla flatly
refuses to model: **recreation.**
mood-driven disposition already flows through the colony's underlying systems — a neglected prisoner
runs hotter with no new machinery. So Regime does not rebuild any of that. It adds the single thing
vanilla flatly refuses to model: **recreation.**
---
## What vanilla does, and what Regime flips
Vanilla denies prisoners the **Joy** (recreation) need outright — the need is flagged `colonistsOnly`
and `neverOnPrisoner`, so it simply never appears on a prisoner. A caged pawn has no recreation bar,
cannot take joy from anything, and never suffers for its absence.
Vanilla denies prisoners the **Joy** (recreation) need outright — the need is flagged colonists-only, so
it simply never appears on a prisoner. A caged pawn has no recreation bar, cannot take joy from
anything, and never suffers for its absence.
Regime flips exactly that one bit on, via a small Harmony postfix — the same approach the good, popular
**Prisoner Recreation** mod takes:
```csharp
[HarmonyPatch(typeof(Pawn_NeedsTracker), "ShouldHaveNeed")]
static class Patch_PrisonerRecreation
{
static void Postfix(NeedDef nd, Pawn ___pawn, ref bool __result)
{
if (__result || nd?.defName != "Joy") return; // only touch Joy, only when vanilla said no
if (___pawn?.RaceProps?.Humanlike == true
&& ___pawn.IsPrisonerOfColony)
__result = true; // humanlike prisoners get the need
}
}
```
Three guards, in order:
1. **`__result` already true** — vanilla or another patch already granted the need. Do nothing. This
is what makes the patch *additive*: it only ever turns a `false` into `true`, never the reverse.
2. **`nd.defName != "Joy"`** — this patch is about recreation and nothing else. Every other need is
left exactly as vanilla decided.
3. **humanlike prisoner-of-colony** — animals, guests, slaves and colonists are untouched; only a
humanlike prisoner of *your* colony gains the need.
Regime flips exactly that one bit on — the same approach the good, popular **Prisoner Recreation** mod
takes. It grants the recreation need to **humanlike prisoners of your colony** and nothing else: animals,
guests, slaves and colonists are untouched, only the recreation need is affected, and it only ever
*adds* the need where vanilla withheld it — it never removes a need another mod granted.
That is the entire mechanism. Enabling recreation is trivial — once the need exists, vanilla does all
the rest (joy sources, the recreation bar, the mood effects of a full or empty one). The *value* is
not the plumbing; it is what an empty bar now costs.
the rest (joy sources, the recreation bar, the mood effects of a full or empty one). The *value* is not
the plumbing; it is what an empty bar now costs.
---
## Why a need you can neglect is the point
Giving prisoners recreation is not a mercy toggle — it is a **lever with two ends**, and the down end
is the one that matters to the suite. Once a prisoner *has* the Joy need, they can be **starved** of
it, and vanilla's own machinery then does the work:
Giving prisoners recreation is not a mercy toggle — it is a **lever with two ends**, and the down end is
the one that matters to the suite. Once a prisoner *has* the Joy need, they can be **starved** of it, and
vanilla's own machinery then does the work: no recreation lowers Joy, which lowers mood, and a low mood
raises the pawn's disposition — their odds on every "would they?" roll.
```
no recreation → Joy falls → mood falls → Propensity.Nurture rises → higher propensity
```
Every one of those steps already exists. Regime only opens the first door; mood is wired to disposition
in Core, so a prisoner who gets no yard time stews, their mood sinks, and their disposition climbs.
From [Deterrence](Deterrence.md) and [Discipline & Reform](Discipline-and-Reform.md) you already know
disposition is the multiplier the whole system keys off; Regime is what lets *neglect* feed it.
Every one of those arrows already exists. Regime only opens the first door; mood is wired to
disposition in Core, so a prisoner who gets no yard time stews, their mood sinks, and their Nurture —
and with it their odds on every "would they?" roll — climbs. From [Deterrence](Deterrence.md) and
[Discipline & Reform](Discipline-and-Reform.md) you already know Nurture is the multiplier the whole
system keys off; Regime is what lets *neglect* feed it.
Concretely, a prisoner's mood pushes their disposition into these brackets:
Concretely, in Core's `Nurture`:
| Prisoner condition | Nurture contribution |
| Prisoner condition | Disposition contribution |
|---|---|
| Mood `< 0.20` (recreation-starved, at the floor of despair) | `× 2.5` |
| Mood `< 0.35` (badly kept) | `× 1.6` |
| Held **and** mood `< 0.40` (a badly run cell) | additional `× 1.4` |
| Mood below 0.20 (recreation-starved, at the floor of despair) | ×2.5 |
| Mood below 0.35 (badly kept) | ×1.6 |
| Held **and** mood below 0.40 (a badly run cell) | an additional ×1.4 |
A prisoner you give no recreation is a prisoner you are pushing up those brackets. Regime turns "I
didn't bother building a rec room" from a non-event into a disposition cost you pay on every roll.
---
## Idempotent with Prisoner Recreation
## Works alongside Prisoner Recreation
If you also run the **Prisoner Recreation** mod, nothing breaks. Both mods do the same thing — force
`ShouldHaveNeed` to return `true` for prisoner Joy — and because Regime's postfix only acts when
`__result` is still `false`, the two are simply *two postfixes that force the same `true`*. Whichever
runs first grants the need; the second sees it already granted and returns immediately. Running both is
harmless. Running either alone is sufficient. There is no double-need, no conflict, no load-order
sensitivity between them.
If you also run the **Prisoner Recreation** mod, nothing breaks. Both mods do the same thing — grant the
recreation need to prisoners — and because Regime only acts when the need isn't already granted,
whichever runs first grants it and the other sees it already done. Running both is harmless. Running
either alone is sufficient. There is no double-need, no conflict, no load-order sensitivity between them.
Regime announces itself at startup so you can confirm it loaded:
```
[Institution: Justice] Regime: prisoner recreation enabled.
```
Regime prints a short startup message so you can confirm it loaded and prisoner recreation is enabled.
---
@@ -97,8 +66,8 @@ Regime announces itself at startup so you can confirm it loaded:
Yard time, safety needs, and visitation are *content* on this foundation, not new machinery. Each of
them is just another thing that moves a prisoner's mood — and mood is already wired to disposition — so
they need only defs and jobs, not new systems. When they land, they will make a well-run regime feel
richer; the mechanical spine is already here in this one postfix.
they build on the same spine that this one recreation change put in place. When they land, they make a
well-run regime feel richer without adding new systems underneath.
---
@@ -108,7 +77,7 @@ richer; the mechanical spine is already here in this one postfix.
their disposition sits near baseline. A cheap horseshoe pin or chess table earns its keep in crimes
that don't happen.
- **Neglect is a choice with a number.** Leaving prisoners with nothing to do isn't neutral — it drives
mood into the `×1.6` and `×2.5` Nurture brackets, and a hotter prisoner reoffends, which cools your
mood into the ×1.6 and ×2.5 disposition brackets, and a hotter prisoner reoffends, which cools your
colony's climate of order, which heats *everyone*. The rec room is deterrence you build once.
- **Recreation and reform stack.** Regime cools disposition *live* (through mood); reform cools it
*permanently* (through [Discipline & Reform](Discipline-and-Reform.md)). A reformed prisoner in a
@@ -117,14 +86,4 @@ richer; the mechanical spine is already here in this one postfix.
---
## For modders
Harmony ID `flan.institution.justice`, a single postfix on `Pawn_NeedsTracker.ShouldHaveNeed`. It is
the suite's *only* Harmony-using code — Contraband dropped its Harmony dependency after Justice was
split out. The patch class lives in the `Contraband` namespace (shared across the suite since the
extraction). The postfix is strictly additive (`false → true` only), so it is safe to stack with any
other mod that grants prisoner needs.
---
*Part of the **Institution** suite for RimWorld 1.6: Core · Contraband · Policing · Corrections · Gangs · Ward.*