Justice & Incarceration
The city has laws. Every time one of your runners gets arrested on a criminal action, they land in jail — but not all crimes are equal. And not all players have the same contacts.
The justice system determines:
- How long your runner sits in jail (3 days to indefinite)
- Who can pull them out (your team, your cash, your judge)
- What happens if they’re a repeat offender (sentence escalation)
Crime Severity Tiers
Every criminal action in the game maps to one of four severity tiers:
| Severity | Base Sentence | Rescue DC | Bribable? |
|---|---|---|---|
| Petty | 3 days | 30 | ✅ |
| Moderate | 7 days | 45 | ✅ |
| Serious | 30 days | 60 | ✅ |
| Federal | indefinite | 85 | ❌ Rescue or escape only |
Action Mapping
PETTY (3-day base): Collect, Extort, Scout, Recruit, Vandalize, Patrol, Slander, Pickpocket, Burgle, Sabotage, Poach, Plant-Story
MODERATE (7-day base): Mug, Interrogate, Ambush, Drive-By, Raid, Torture
SERIOUS (30-day base): Arson, Assassinate
FEDERAL (indefinite): Bomb
Special case — Kidnap: fixed 3 days (hostage-hold mechanic, not part of justice system)
No arrest: Guard, Bodyguard, Bribe (passive or heat-reducing)
Recidivism
Each time your runner is arrested for the same severity tier, the sentence grows:
final_sentence = base × (1 + 0.5 × prior_arrests_same_tier)
Example:
- First Raid arrest (Moderate, 7 days): 7 days
- Second Raid arrest: 7 × (1 + 0.5) = 10 days
- Third Raid arrest: 7 × (1 + 1.0) = 14 days
Hard cap: Sentence is capped at 2× base (recidivism_final_cap_multiplier: 2.0). Example Serious: 30 base × 2 = max 60 days. Prevents permanent loss through unlimited recidivism.
Counters are per-tier, independent: 3 petty arrests don’t escalate your serious sentences.
Federal has no recidivism — it’s always indefinite.
Contact Bonuses: Judge and Mayor
Having specific NPCs on your payroll reduces sentences directly:
| Contact | Effect |
|---|---|
| Arbitration Tribunal HIGH (“Judge”) on Payroll | −1 day sentence |
| District Admin HIGH (“Mayor”) on Payroll | −1 day sentence |
| Both together | −2 days (stacks) |
Example: Your runner is arrested for Raid (7 days, Moderate). You have both Judge AND Mayor on payroll → final sentence = 7 − 1 − 1 = 5 days.
Floor: Sentence never drops below 1 day, regardless of bonuses.
IMPORTANT: Reductions are baked in at arrest time. If you lose your Judge mid-sentence (payroll unpaid, loyalty drops), you keep the benefit for this sentence.
FEDERAL: Reductions do NOT apply. The feds don’t negotiate.
Passive Effects via Contacts
Bribed Judge Reduces Runner Heat
If you have a bribed Judge (BRIBED state, not Payroll), EVERY arrested runner you own loses heat daily:
runner_heat × 0.95 per day
Narratively: the judge is “managing the paperwork” and making evidence disappear.
Multiple bribed judges do NOT stack — always 0.95/day.
HIGH-Rank Contacts Drain Federal Heat
For every HIGH-rank contact on Payroll (any institution), your federal heat drops each day:
| HIGH contacts on payroll | Drain per day |
|---|---|
| 1 | −0.5 |
| 2 | −1.0 |
| 3+ | −1.25 (cap) |
Cap is high_contact_fed_heat_drain_cap: -1.25. More than 3 HIGH contacts give no further drain — better use slots for other benefits.
This replaces the old “arrest immunity” concept: HIGH contacts don’t prevent arrests directly, but they reduce the heat that triggers them.
Active heat scrubbing (player actions)
Beyond passive contact-driven drain, three actions let you actively scrub heat off your runners + the police paper trail:
| Action | Version | What it does | Cost / cooldown |
|---|---|---|---|
| CLEAN_UP | v1.62.0 | Physical sweep at the crime node — pulls fidelity off witness events directly, retroactive -8 hood heat. STL/TCH driven, 45 min. |
— |
| DATA_WIPE | v1.68.0 | Hacks the police record system. -15 hood heat (the local cops forget you) at the cost of +5 federal heat (the FBI notices the intrusion). TCH/INT driven, 45 min. |
$1000, 48 h per-player cooldown |
| FALSE_ATTRIBUTION | — | Redirects federal heat from you onto a target. Diminishing returns — reduction = base × max(min_dim, 1.0 - fheat/dim_factor). The dirty-trick option. |
Cost varies (Diplomacy.FalseAttribution) |
These are the active counter-paths. The passive contact effects above (bribed judge / HIGH-Payroll drain) run automatically — these three are deliberate moves you slot into a plan.
Trade-off pattern (DATA_WIPE): Local heat goes down hard; federal heat goes up. Useful as a corp-clean play to dodge an audit at the cost of slow FBI escalation. Don’t spam — the 48 h per-player cooldown is a structural rate-limit, not a per-runner gate.
Rescue Missions
When your runner is in jail, you can try to pull them out. Two options:
1. Stealth Rescue (Runner Mission)
Another active runner breaks out the inmate.
Formula:
score = (rescuer.STL + rescuer.CHA) / 2 + d20
success = score ≥ DC(severity)
Cost: $2,000 prep (consumed regardless of outcome)
DCs:
- Petty: 30 — city lockup, light security
- Moderate: 45 — district jail
- Serious: 60 — max security, cameras
- Federal: 85 — near-impossible, needs elite runner + dice luck
Outcomes:
| Result | Score vs DC | Consequences |
|---|---|---|
| Success | score ≥ DC | Runner freed, Loyalty +10, federal_heat +5 |
| Partial Fail | DC > score ≥ DC−20 | Runner stays, federal_heat +15 |
| Critical Fail | score < DC−20 | Rescuer arrested (max Serious), federal_heat +25 |
Note on critical fails: The rescuer gets at most a SERIOUS charge, never FEDERAL — the rescue attempt itself isn’t a state crime.
2. Bribe-Release (Cash via Judge)
You pay your Judge, they arrange the release.
Requirement: Arbitration Tribunal HIGH on Payroll
Cost (severity-tiered, fixed):
| Severity | Bribe-Release Cost |
|---|---|
| Petty | $2,000 |
| Moderate | $8,000 |
| Serious | $20,000 |
| Federal | blocked |
Outcome: 100% success, federal_heat +3
NOT available for FEDERAL — feds can’t be bribed at that level. UI greys out the bribe option.
3. Escape Attempt (existing, passive)
Each day, an inmate has a chance to escape based on their CON/STR:
escape_chance = 0.15 + CON × 0.005 + STR × 0.002, max 0.55
A CON 80 + STR 60 runner has 67% daily escape chance — your last resort for FEDERAL sentences.
Strategy Tips
Low-heat play: Stay under the arrest threshold (hood_heat < 55) and passive arrests don’t fire.
Invest in Judge/Mayor: Two HIGH contacts on payroll save 2 days per arrest. At 5 arrests per month = 10 runner-days reclaimed.
Hire elite STL+CHA runners: A rescuer with STL 80 + CHA 70 expects 75 + 10 (d20 avg) = 85 — squeaks FEDERAL DCs.
Only BOMB with a Plan B: If you use BOMB and the runner gets arrested, they’re gone indefinitely. Have an elite rescuer ready — or accept the loss.
Recidivism alert: Once a runner has 2-3 moderate arrests, the next one stretches considerably. Rotate your crime portfolio.
Arrest Lifecycle Overview
Runner commits crime (fail_roll triggered arrest)
↓
Server calculates sentence:
- Severity from actions.json
- Base days from severity tier
- Recidivism multiplier from priorArrests[severity]
- Judge/Mayor reduction (if on payroll)
↓
Runner in jail, ArrestedUntil set
↓
Daily:
- Bribed judge: hood_heat × 0.95
- HIGH contacts: federal_heat -= 0.5 × count
- Escape roll
↓
Either: Auto-release (day reached) · Rescue mission · Escape
↓
priorArrests[severity]++ (feeds into next arrest)
References
- Action details: actions.md
- Contact system: institutions.md
- Heat system: heat.md
- Runner attributes: runners.md