# 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](Warden-Search.md) — 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: ```csharp 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](Compatibility.md). ## 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).*