Wiki: player-facing rewrite of every layer + add a scenario FAQ, linked from Home
This commit is contained in:
@@ -3,32 +3,22 @@
|
||||
*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**:
|
||||
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.
|
||||
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)
|
||||
```
|
||||
Diligence runs 0 to 1 and multiplies the whole find chance. A lax or miserable warden misses things a
|
||||
dutiful one would turn up. It starts from a baseline of **0.55** and moves with traits and mood:
|
||||
|
||||
| Trait / factor | Δ Diligence | Reasoning |
|
||||
|---|---|---|
|
||||
@@ -41,22 +31,10 @@ d = clamp01(d)
|
||||
|
||||
## 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)
|
||||
```
|
||||
Corruption also runs 0 to 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 — that chance is their Corruption × 0.6, rolled per
|
||||
hidden item before the find roll. Corruption starts from a baseline of **0.04** (most guards are
|
||||
mostly honest) and moves with traits and mood:
|
||||
|
||||
| Trait / factor | Δ Corruption | Reasoning |
|
||||
|---|---|---|
|
||||
@@ -68,18 +46,17 @@ c = clamp01(c)
|
||||
|
||||
## 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.
|
||||
Read the two tables 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:
|
||||
Find chance for a hidden item is roughly the base find chance × Diligence, with a separate look-away
|
||||
chance (Corruption × 0.6) 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 |
|
||||
|---|---|---|---|---|
|
||||
@@ -95,22 +72,16 @@ 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:
|
||||
Corruption is not only "looks away." The other half is reaching *in* — a bent guard who slips a
|
||||
prisoner contraband through the very same door a smuggler or a gangmate uses. Only what can ride on a
|
||||
body gets slipped across a handshake. Whether and when a guard does this is gated on that guard's
|
||||
Corruption.
|
||||
|
||||
```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).
|
||||
In Contraband on its own, this "smuggle in" ability exists but is 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
|
||||
|
||||
@@ -119,9 +90,9 @@ plugs into. See [Compatibility](Compatibility.md).
|
||||
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.
|
||||
- **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
|
||||
|
||||
@@ -132,10 +103,9 @@ plugs into. See [Compatibility](Compatibility.md).
|
||||
| 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 |
|
||||
| Smuggle payload | body-hideable 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.*
|
||||
**
|
||||
|
||||
Reference in New Issue
Block a user