213 lines
10 KiB
Markdown
213 lines
10 KiB
Markdown
# Propensity — nature × nurture
|
||
|
||
Propensity is the suite's disposition engine. It answers one question and only one: *"would **this**
|
||
pawn do it?"* — never *"would a prisoner,"* never *"would a colonist."* Every behaviour in the suite
|
||
that hinges on a pawn's character comes back to this, so crime, contraband brewing, escape arming, and
|
||
gang recruitment all read the same answer instead of each guessing.
|
||
|
||
The model is deliberately old-fashioned: **nature × nurture.**
|
||
|
||
- **Nature** is a fixed property of the person — their traits. Almost nobody is strongly disposed, and
|
||
this never changes over a pawn's life.
|
||
- **Nurture** is what the colony has done *to* them — mood, mistreatment, unmet needs, the shadow a
|
||
sentence leaves. This is the half **you** control, and the half no other mod models.
|
||
|
||
Good conditions pull nurture down; neglect and cruelty push it up. A saint left to rot can cross the
|
||
line; a monster kept content and deterred may never act. Both of those stories are possible by design.
|
||
|
||
---
|
||
|
||
## Nature — who they are
|
||
|
||
Every pawn starts from a **baseline of 0.05** — the floor of the human condition in this model:
|
||
everyone is capable of *something*, most people barely. From there, each trait the pawn has adds or
|
||
subtracts, and the total is held to the 0–1 range (never below 0, never above 1).
|
||
|
||
### Trait weights
|
||
|
||
Traits are matched **by name**, so if a trait's mod isn't installed that entry is simply skipped.
|
||
That's how Core uses Vanilla Traits Expanded's dark traits when VTE is present without *requiring* VTE
|
||
to be installed.
|
||
|
||
| Trait | Weight | Source | Note |
|
||
|---|---:|---|---|
|
||
| Psychopath | **+0.45** | Vanilla | no empathy; the heaviest single input |
|
||
| Kleptomaniac | **+0.40** | Vanilla Traits Expanded | counted if VTE is installed |
|
||
| Bloodlust | **+0.35** | Vanilla | enjoys violence |
|
||
| Pyromaniac | **+0.30** | Vanilla Traits Expanded | counted if VTE is installed |
|
||
| Greedy | **+0.25** | Vanilla | wants more than their share |
|
||
| Abrasive | **+0.15** | Vanilla | friction with everyone |
|
||
| Ascetic | **−0.15** | Vanilla | wants little, takes little |
|
||
| Kind | **−0.30** | Vanilla | the strongest pull *down* |
|
||
|
||
Core adds no traits of its own — it reads the ones the game and your other mods already provide.
|
||
Vanilla's own dark traits count right alongside VTE's.
|
||
|
||
### Worked Nature values
|
||
|
||
Because weights simply add and then clamp, Nature is easy to read by hand:
|
||
|
||
| Pawn | Arithmetic | Nature |
|
||
|---|---|---:|
|
||
| Ordinary pawn (none of the above) | 0.05 | **0.05** |
|
||
| Kind pawn | 0.05 − 0.30 = −0.25 → clamp | **0.00** |
|
||
| A single Greedy trait | 0.05 + 0.25 | **0.30** |
|
||
| Psychopath | 0.05 + 0.45 | **0.50** |
|
||
| Psychopath **and** Kind | 0.05 + 0.45 − 0.30 | **0.20** |
|
||
| Greedy + Abrasive | 0.05 + 0.25 + 0.15 | **0.45** |
|
||
| Psychopath + Bloodlust + Kleptomaniac | 0.05 + 0.45 + 0.35 + 0.40 = 1.25 → clamp | **1.00** |
|
||
|
||
Two things fall out of this. First, the clamp isn't decorative: a Kind pawn floors at exactly `0`
|
||
(nature can never make them *disposed*, only never disposed), and a stacked monster ceilings at `1`.
|
||
Second, traits genuinely net against each other — a Kind Psychopath is a real, middling `0.20`, not a
|
||
contradiction.
|
||
|
||
Most rolled pawns sit at or near the `0.05` floor. That's intended: a colony full of ordinary people
|
||
is supposed to be mostly safe on nature alone. What makes them dangerous is nurture.
|
||
|
||
---
|
||
|
||
## Nurture — what you have done to them
|
||
|
||
Nurture is a **multiplier**. An ordinary pawn under ordinary conditions sits at **1.0**. The number
|
||
rises as things go wrong and falls as they go right. Each lever below stacks on top of the last.
|
||
|
||
### The multiplier ladder
|
||
|
||
| Lever | Factor | Applies when | Stacks? |
|
||
|---|---|---|---|
|
||
| **Despair** | ×2.5 | mood below 20% | mutually exclusive with "badly kept" |
|
||
| **Badly kept** | ×1.6 | mood 20–35% | mutually exclusive with "despair" |
|
||
| **Held & unhappy** | ×1.4 | held **and** mood below 40% | on top of the mood lever |
|
||
| **Prisonization** | × (depends on reform, see below) | the pawn has a non-zero reform score | on top |
|
||
| **Deterrence** | × (the colony's climate of order) | always (neutral 1.0 with only Core) | on top |
|
||
|
||
The two mood levers are either/or: a pawn is either in despair *or* badly kept, never both. "Held &
|
||
unhappy" is separate and multiplies again — so a mistreated prisoner in despair compounds
|
||
`2.5 × 1.4 = 3.5` before anything else. That is a badly run cell.
|
||
|
||
### Prisonization — the reform lever
|
||
|
||
The reform lever is where a sentence leaves a permanent mark. A pawn's **reform score** runs from
|
||
about −1 to +1 and turns into a multiplier:
|
||
|
||
| Reform score | Meaning | Factor |
|
||
|---:|---|---:|
|
||
| **+1.0** | fully rehabilitated | 0.50 |
|
||
| +0.5 | improving | 0.75 |
|
||
| 0 | untouched (no effect) | *1.00* |
|
||
| −0.5 | hardening | 1.25 |
|
||
| **−1.0** | prisonized | 1.50 |
|
||
| beyond +1.2 | (over-reformed) | floors at **0.40** |
|
||
| beyond −2.0 | (utterly broken) | ceilings at **2.00** |
|
||
|
||
Reform is nominally a 0-to-1 rehabilitation score, but harsh punishment can drive it **negative** —
|
||
that's the "hardened, prisonized" end. Within the realistic −1…+1 range the factor spans 0.5…1.5; the
|
||
0.4 / 2.0 limits only bite at the extremes, catching a pawn who's been endlessly punished or endlessly
|
||
rehabilitated.
|
||
|
||
Propensity only *reads* this score — nothing in Core moves it. The Justice layer's discipline and
|
||
parole are what nudge it up or down, which is how institutionalization and recidivism enter the game
|
||
without a separate mechanic. A pawn broken by a brutal prison stays broken (nurture ×1.5) after
|
||
release; a pawn genuinely reformed stays calmer (×0.5) for good. The scar rides on one number.
|
||
|
||
### Deterrence — the climate of order
|
||
|
||
The final lever multiplies by the colony's overall **climate of order**. **With only Core installed
|
||
it's neutral — a flat 1.0** — because Core by itself doesn't know what deterrence is. Install
|
||
**Institution: Justice** and it fills this in: a well-policed colony pulls the factor below 1 and
|
||
deters everyone a little; a lawless one pushes it above 1 and emboldens them. That's what makes
|
||
catching and punishing *one* pawn matter to the disposition of *the rest*.
|
||
|
||
With only Core installed, this lever does nothing, and that is correct. The technical details of how a
|
||
mod fills in deterrence are on the [Modder API](Modder-API.md) page.
|
||
|
||
---
|
||
|
||
## Would — the full roll
|
||
|
||
Nature and Nurture are ingredients. The full roll is the meal: the actual yes/no for a specific
|
||
behaviour at a specific base rate. For a given behaviour, the chance works out to:
|
||
|
||
> **chance = base rate × (0.1 + Nature × 2) × Nurture**, capped at 85%.
|
||
|
||
Three things are happening there:
|
||
|
||
1. **Base rate** is the behaviour's own dial — how likely an *average* pawn is to do this particular
|
||
thing (a rare act uses a small number, a common one a larger). Core doesn't decide it; whichever
|
||
system is asking does.
|
||
2. **(0.1 + Nature × 2)** is the nature amplifier. It spans **×0.1** (a saint, Nature 0) to **×2.1**
|
||
(Nature 1). At the common `0.05` floor it's **×0.2** — so an ordinary pawn is one-fifth as likely
|
||
as the base rate, while a maxed monster is over twice as likely — *before* nurture.
|
||
3. **× Nurture** applies circumstance on top, and the whole thing is capped at **85%** by default.
|
||
Nobody is ever a dead certainty; there's always slack. A behaviour that wants a harder or softer
|
||
ceiling can set its own cap.
|
||
|
||
### Worked example 1 — an ordinary colonist, content
|
||
|
||
Base rate 10%, an ordinary pawn (Nature 0.05), good mood so Nurture 1.0:
|
||
|
||
- nature term = 0.1 + 0.05 × 2 = 0.2
|
||
- chance = 0.10 × 0.2 × 1.0 = 0.02 → **2%**
|
||
|
||
Two percent — and, critically, **fixed**. For this pawn and this question it's a settled 2% coin that
|
||
either comes up or doesn't; it isn't re-flipped every moment.
|
||
|
||
### Worked example 2 — a mistreated psychopath prisoner
|
||
|
||
A Psychopath + Bloodlust prisoner (Nature 0.85), mood 15% (despair ×2.5), held and unhappy (×1.4),
|
||
reform −0.5 (hardening → ×1.25), Core-only so deterrence 1.0. Base rate 10%:
|
||
|
||
- nature term = 0.1 + 0.85 × 2 = 1.8
|
||
- nurture = 2.5 × 1.4 × 1.25 = 4.375
|
||
- chance = 0.10 × 1.8 × 4.375 = 0.7875 → **~79%**
|
||
|
||
Same base rate as example 1, same engine — but nature and a badly-run cell have turned a 2% pawn into
|
||
a near-certainty. The player did that, lever by lever.
|
||
|
||
### Worked example 3 — hitting the cap
|
||
|
||
A fully stacked monster (Nature clamps to 1.0), in despair (×2.5) and held & unhappy (×1.4), in a
|
||
lawless colony where Justice has set deterrence to 1.4. Base rate 10%:
|
||
|
||
- nature term = 0.1 + 1.0 × 2 = 2.1
|
||
- nurture = 2.5 × 1.4 × 1.4 = 4.9
|
||
- raw chance = 0.10 × 2.1 × 4.9 = 1.029
|
||
- capped at **85%**
|
||
|
||
The raw product blew past 100%; the cap reins it to 85%. Even here, a 15% sliver of "not today"
|
||
survives. That sliver is deliberate — it keeps the worst pawn a character with a bad day coming, not a
|
||
scripted event.
|
||
|
||
---
|
||
|
||
## The fixed roll — characters, not a dice cup
|
||
|
||
Each pawn's answer to "would they?" is **fixed** by two things: who the pawn is (their permanent
|
||
identity) and which behaviour is being asked about. It is not re-rolled from scratch each time. This is
|
||
the single most important design decision on this page, and it's worth being precise about why.
|
||
|
||
**Save/reload stability.** Because the answer is tied to the pawn's permanent identity and the specific
|
||
question — not to the live random stream — asking "would they?" gives the same answer before and after
|
||
a save/reload, as long as the inputs (traits, mood, reform) are the same. You can't scum a reload to
|
||
re-roll a pawn into a different person. *Who* they are doesn't shift under them on a reload.
|
||
|
||
**A character, not a moment-to-moment lottery.** If the game flipped a fresh coin every tick, any pawn
|
||
would eventually do anything if you waited long enough. Fixing the roll instead makes "would this pawn
|
||
pocket a shiv?" a settled fact about that pawn under those conditions — what makes them a character,
|
||
not a dice cup.
|
||
|
||
**Live circumstance still bites.** The roll freezes the *identity*, not the *situation*. Nurture is
|
||
recomputed live, so as mood collapses or reform hardens, the same pawn's chance climbs and the same
|
||
fixed coin can flip from "no" to "yes." The pawn who wouldn't have acted last month acts now — not
|
||
because the dice changed, but because you let their world get worse.
|
||
|
||
**Different questions, independent answers.** Each behaviour is its own separate question, so the
|
||
answers don't leak into each other: a pawn who would pocket a shiv is not therefore a pawn who would
|
||
inform on a cellmate. One pawn can be reliably one kind of trouble and reliably not another, and that
|
||
pattern is stable across the whole game.
|
||
|
||
---
|
||
|
||
*Part of the **Institution** suite.*
|