Files
institution/Wiki/contraband/Corruption.md
T
flan 3530100ed5 Aggregate the whole suite wiki onto the Institution page
Wiki/Home.md is the suite's front door; every layer's wiki now mirrors here
under Wiki/<layer>/ (core, contraband, justice, gangs, ward), so the whole
suite reads in one place with the index linking to the local pages. The
layer repos stay canonical -- Tools/sync-wiki.sh refreshes the aggregated
copy on demand. The README's main page points to it.
2026-07-15 20:30:38 +00:00

6.9 KiB
Raw Blame History

Corruption

A search is only as thorough as the warden running it, and a warden is a person with their own diligence and their own price.

The counter to contraband is the warden search — but a search is not a machine. It is a human being with traits and a mood, and Contraband models that human being on two axes, both read off the same vanilla traits, mood, and relationships — no new stat to maintain:

Axis Question Effect on a search
Diligence How hard do they look? multiplies the find chance
Corruption How bent are they? a flat chance to look away — and a route into the prison

This is "what turns 'the game vs the player' into 'the player's own guards, each with an angle.'" The prisoner you can control. The guard you assigned to watch them, you cannot.

Diligence — how hard they look

WardenDisposition.Diligence(warden) returns 0..1 and multiplies the whole find chance in JobDriver_SearchPawn. A lax or miserable warden misses things a dutiful one would turn up.

d  = 0.55                                   // baseline
d += 0.1 × degreeOf(Industriousness)        // Lazy lowers, Industrious raises (per degree)
d += 0.15  if Abrasive                       // no qualms turning a cell over
d -= 0.20  if Kind                           // a gentle hand
d += 0.10  if Psychopath                      // does not care how it feels
d ×= Lerp(0.6, 1.1, mood)                     // a miserable warden phones it in
d  = clamp01(d)
Trait / factor Δ Diligence Reasoning
Industrious +0.1 per degree a hard worker searches hard
Lazy −0.1 per degree a lazy one frisks gently
Abrasive +0.15 happy to toss a cell
Psychopath +0.10 thoroughness without squeamishness
Kind −0.20 reluctant to be rough
Mood ×0.6 (miserable) .. ×1.1 (content) morale is thoroughness

Corruption — their price

WardenDisposition.Corruption(warden) returns 0..1. In a search, a bent warden gets a flat chance to look away on each item they would otherwise have a shot at finding:

lookAwayChance = Corruption(warden) × 0.6     // rolled per hidden item, before the find roll
c  = 0.04                                   // baseline — most guards are mostly honest
c += 0.40  if Greedy                          // has a price
c += 0.15  if Kind                            // bends the rules out of sympathy
c -= 0.10  if Ascetic                          // wants nothing, cannot be bought
c -= 0.05  if Abrasive
c ×= Lerp(1.6, 0.7, mood)                      // a desperate, miserable warden is more temptable
c  = clamp01(c)
Trait / factor Δ Corruption Reasoning
Greedy +0.40 the classic bent guard — everyone has a number
Kind +0.15 looks the other way out of sympathy, not money
Ascetic −0.10 wants nothing, so cannot be bought
Abrasive −0.05 too surly to do anyone a favour
Mood ×1.6 (miserable) .. ×0.7 (content) a happy guard is harder to tempt

The Kind warden is a double liability

Read the two formulas together and one trait jumps out. Kind lowers Diligence (−0.20) and raises Corruption (+0.15). The gentle guard both frisks softly and bends the rules out of pity — the worst warden you can put on a contraband detail, and the least obvious one, because "kind" reads as a virtue everywhere else in the game. Meanwhile mood cuts the same way on both axes: a miserable warden looks less hard and is more temptable. A depressed guard is a sieve at both ends.

Worked examples

Find chance for a hidden item is baseFind × Diligence, with a separate lookAway = Corruption × 0.6 chance to ignore it entirely. Assume a mid-skill warden whose raw find chance on a shiv is around 0.30 before disposition:

Warden Diligence Corruption Look-away/item Net on a 0.30 shiv
Neutral, content ~0.61 ~0.03 ~2% thorough-ish: ~0.18 find
Abrasive + Psychopath, content ~0.88 ~0.02 ~1% a nightmare for prisoners: ~0.26 find
Greedy, content ~0.61 ~0.31 ~18% looks capable, pockets bribes
Greedy, miserable ~0.37 ~0.62 ~37% ignores contraband over a third of the time
Kind + miserable ~0.25 ~0.27 ~16% a sieve at both ends: ~0.07 find

(Numbers rounded; mood taken as content ≈ 100% or miserable ≈ 20%.) The takeaway is that who you assign to search matters as much as whether you search at all. A greedy, miserable warden is not a guard — he is a supply line you are paying to pretend otherwise.

The bent warden as a supply route in

Corruption is not only "looks away." The Corruption.Smuggle primitive is the reaching-in half — a guard who slips a prisoner contraband through the very same Conceal door a smuggler or a gangmate uses:

ThingDef Corruption.Smuggle(warden, prisoner, tracker)
// picks a random OnBody-hideable contraband and Conceal()s it onto the prisoner; returns the def

Only what can ride on a body gets slipped across a handshake (OnBody). The method is the act itself; the caller decides who and when, gated on WardenDisposition.Corruption. In Contraband on its own, this primitive is exposed but not yet wired to an in-game trigger — it is the seam Institution: Gangs drives when a gang's outside members pay a bent warden to make a delivery, and the thing a planned secure-zone checkpoint that frisks guards is meant to catch. Search-side corruption (looking away) is fully live today; reach-in corruption is the hook the rest of the suite plugs into. See Compatibility.

How to play with it

  • Vet your wardens. A Greedy or Kind pawn on prison duty is a liability the trait tooltip won't warn you about. Ascetic and Industrious make the best searchers; Psychopath and Abrasive are brutally effective if you can stomach them.
  • Watch mood. A prison-duty warden in a slump is failing at both jobs — searching and not smuggling. Keep your guards content or rotate them out.
  • Redundancy beats brilliance. Because each search is one shot per prisoner per day and even a good warden misses a well-hidden shiv, a second diligent warden over time matters more than a single perfect search.

Quick reference

Constant Value Meaning
Diligence baseline 0.55 before traits and mood
Corruption baseline 0.04 most guards are mostly honest
Diligence mood scale ×0.6 .. ×1.1 miserable → content
Corruption mood scale ×1.6 .. ×0.7 miserable → content
Look-away multiplier ×0.6 applied to Corruption, per item
Smuggle payload OnBody contraband only what fits in a handshake

Part of the Institution suite — Core · Contraband · Justice · Gangs, alongside Foul Play and Ward. Each stands alone; together they interlock. Developed with substantial assistance from Claude (Anthropic).