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 -34
View File
@@ -4,11 +4,11 @@
institution does to the people inside it, and the crime, policing, and justice that put them there.*
Core is the engine every other Institution mod runs on. **On its own it changes nothing you can
see** — no items, no jobs, no UI, no XML. It ships one small assembly and is completely inert until
another Institution mod is installed on top of it. You install Core only because something else asks
for it.
see** — no items, no jobs, no new menus. It sits completely quiet until another Institution mod is
installed on top of it. You install Core only because something else asks for it.
This wiki documents what that engine actually computes, down to the exact numbers.
This wiki explains what that hidden engine actually does once a mod above it puts it to work — down to
the exact numbers, because knowing how the numbers move is half the fun of running a prison.
---
@@ -19,29 +19,29 @@ This wiki documents what that engine actually computes, down to the exact number
That single sentence is the whole suite. Colonists, prisoners, and slaves drift toward crime on a
continuous spectrum; a policing and justice layer discovers, catches, punishes, reforms, or paroles
them. Core is where the *spectrum* lives as code — before anyone is caught, before there is a record
to read, before there is a warden to search them.
them. Core is where the *spectrum* itself lives — before anyone is caught, before there is a record to
read, before there is a warden to search them.
## Why a shared engine
The propensity idea did not start abstract. It was written twice, concretely, in two different mods:
the piss spree's `WouldFoulPeople` (which drunk, miserable pawn starts a mess) and the breakout's
`WouldArmSelf` (which prisoner whittles a shiv when the door opens). Both asked the same real
question — *would **this** pawn do it?* — and both answered it their own way.
The propensity idea didn't start out abstract. It grew up twice, in two different mods: one deciding
which drunk, miserable pawn starts a mess, and one deciding which prisoner whittles a shiv the moment a
door opens. Both were asking the same real question — *would **this** pawn do it?* — and each answered
it its own way, which meant they could disagree about who was dangerous.
Core exists so they stop disagreeing. When the contraband system, the justice system, and the gang
system all read one disposition engine, they agree about who is dangerous instead of each computing
it from scratch and drifting apart. One pawn who is "the scary one" is the scary one to every module
at once. That coherence — not any single number — is the point of a shared substrate.
system all read one disposition engine, they agree about who is dangerous instead of each judging it
separately and drifting apart. The pawn who is "the scary one" is the scary one to every part of the
suite at once. That coherence — not any single number — is the point of a shared foundation.
Core carries exactly the three things every Institution mod reads and none should own alone, and
Core carries exactly the three things every Institution mod needs and none should own alone, and
nothing else:
| Pillar | Class | Answers | Page |
|---|---|---|---|
| **Propensity** | `Propensity` | *Would this pawn do it?* (nature × nurture, seeded) | [Propensity](Propensity.md) |
| **Criminal record** | `CriminalRecord` | *What has this pawn actually done?* (one per-pawn history) | [Criminal Record](Criminal-Record.md) |
| **Secured context** | `SecuredContexts` | *What kind of hold is this pawn under, and who may search them?* | [Secured Context](Secured-Context.md) |
| Pillar | Answers | Page |
|---|---|---|
| **Propensity** | *Would this pawn do it?* (nature × nurture) | [Propensity](Propensity.md) |
| **Criminal record** | *What has this pawn actually done?* (one history per pawn) | [Criminal Record](Criminal-Record.md) |
| **Secured context** | *What kind of hold is this pawn under, and who may search them?* | [Secured Context](Secured-Context.md) |
The distinction between the first two is the spine of the whole design: **propensity is suspicion, a
record is fact.** Propensity says "this pawn *seems* dangerous"; a record says "this pawn *has*
@@ -51,22 +51,23 @@ instead of on vibes.
## The pages of this wiki
- **[Propensity](Propensity.md)** — nature × nurture in full: the trait-weight table, the nurture
multiplier ladder, the `Would()` formula with worked examples, and why the roll is seeded per pawn.
- **[Criminal Record](Criminal-Record.md)** — every field, who writes and reads each, the
`For` vs `PeekFor` distinction, how it persists, and why `reform` is the pivot of the suite.
- **[Secured Context](Secured-Context.md)** — the Free / Prisoner / Slave kinds, `Of()` and
`OnMap()`, `IsHeld` vs `CanConceal`, and why the suite keys off this instead of "prisoner."
multiplier ladder, the disposition formula with worked examples, and why each pawn's roll is fixed
rather than re-rolled.
- **[Criminal Record](Criminal-Record.md)** — everything a record remembers, who fills in each part,
how it persists across saves, and why *reform* is the pivot of the whole suite.
- **[Secured Context](Secured-Context.md)** — the Free / Prisoner / Slave kinds, what counts as
"held" versus what counts as "able to hide something," and why the suite keys off this instead of
"is a prisoner."
- **[Treatment Engine](Treatment-Engine.md)** — the shared rehabilitation maths: mark a condition
treatable, reduce it by skill × facility quality per session, and build a recovery track toward
discharge. Ward's psychiatric care and Justice's reform share this one engine.
- **[Modder API](Modder-API.md)** — the public surface any mod can call, and the one seam
(`Propensity.DeterrenceFactor`) that lets a justice layer feed back into disposition without Core
ever depending on it.
treatable, reduce it a little each session by skill and facility quality, and build a recovery track
toward discharge. Ward's psychiatric care and Justice's reform run on this one engine.
- **[Modder API](Modder-API.md)** — the "for modders" page: the tools any mod can call to build on
Core. Players can skip it.
## The suite
Each mod stands alone as an install; together they form one system. Core is the leaf everything else
depends on.
Each mod stands alone as an install; together they form one system. Core sits underneath everything
else.
| Mod | What it adds | Needs |
|---|---|---|
@@ -79,9 +80,8 @@ depends on.
## Requirements & load order
- **RimWorld 1.6.** Core references only the base game — no Harmony, no DLC, no other mod.
- Load Core **before** any other Institution mod (`loadAfter` Ludeon.RimWorld only).
- `packageId`: `flan.institution.core`.
- **RimWorld 1.6.** Core needs only the base game — no Harmony, no DLC, no other mod.
- Load Core **before** any other Institution mod in your mod list.
---