Law Enforcement
Status: 6-layer rework COMPLETE since v1.18.0. Patrol (L1) + Investigation (L2) + Audit-NPC (L3) + Prison (L4) + AI-Corp Rework (L5) + Counterplay (L6) live (#226).
In CORP//LLM the police are no longer abstract probability — they patrol the city, see your crimes, can be bribed, can be raided, and you can hide from them. Three counter-actions give you choices about how to manage Heat instead of just “commit fewer crimes”.
Tiers
Three police tiers with different behavior and risk. Layer 1 ships Local only — higher tiers follow in Layers 2/5.
| Tier | Trigger | Behavior | Counterplay |
|---|---|---|---|
| Local Cops | Sector heat ≥ 30 | Patrol from Sec-Corp Precincts. Sight 3 nodes. Corruption-prone. | Bribe (cheap), Relocate, Raid Precinct |
| CorpSec (Layer 2) | Corp Crackdown | Spawn from Corp HQ. Sight 4. Tougher, less corruptible. | Diplomatic, Hacking |
| Federal Agents (Layer 2) | Federal Heat ≥ RED | RICO Task Force. Sight 5. Lethal. | Lawyer, Asset Hiding |
How patrols work
Spawn: every Sec-Corp Precinct in a sector spawns cops based on sector Heat:
| Sector Heat | Patrols |
|---|---|
| < 30 | 0 |
| 30-59 | 1 |
| 60-79 | 2 |
| ≥ 80 | 3 |
| + CRACKDOWN | ×2 (max 10) |
Movement: cops walk one node per tick on pre-planned routes (Precinct → 3 Building Entries → Precinct). Routes are cached — replan only at route-end.
Sight (BFS): a cop “sees” a crime when the crime’s node falls within its 3-node radius (BFS on the city graph). Sight contact with active crime → automatic Heat bump.
| Tier | Hood Heat | Federal Heat |
|---|---|---|
| Local | +5 | +0.5 |
| CorpSec | +10 | +1.5 |
| Federal | +20 | +5.0 |
Heat bumps are deterministic — no dice roll. If the cop sees you, you take Heat. Period.
Counter-Actions
Three different options, each with its own trade-off:
BRIBE_COP — pay off a cop
Pauses a patrol for 7 days.
- Target: Precinct NodeID. Server picks the first available Local cop assigned to that station.
- Cost: 1.5× standard bribe cost (~$1,500 mixed cash) × multiplier
- Cooldown: 24h per target (action cooldown). Effect duration: cop stays offline 7 days (re-bribe pointless while offline).
- Effect: cop → Offline 7 days, your bit set in BribedByMask, cop’s Corruption +30
- Risk: catch-roll — the cop might rat you out. Chance = 15% × (1 - corruption/100). Clean cops snitch more:
- 0% corruption → 15% catch chance
- 30% corruption → 10.5%
- 60% corruption → 6%
- 100% corruption → 0% (fully bought)
Strategy: repeated bribes on the same cop build up his corruption. Past 60% he becomes a permanent Dirty Cop (Layer 6) and actively shields you.
RAID_PRECINCT — strike the police station
Heavy blow against patrol infrastructure.
- Target: Precinct NodeID
- Cost: no cash — only hood Heat +8, sector Heat +5, Federal Heat +10
- Cooldown: 72h per target
- Effect: ALL Local cops at that station are taken out. Patrol re-spawn from that precinct blocked for 14 days.
- On failure: runner arrest (mid for normal-fail, high for crit-fail)
Strategy: last resort when a sector gets too hot and bribes are too expensive. Federal Heat penalty enforces restraint.
RELOCATE_OPS — relocate operations
Soft evasion. Cops see your crime but can’t pin it on you for 2 days.
- Target: sector (or NodeID, resolved to sector)
- Cost: 0.3× standard bribe cost (~$300 mixed cash)
- Cooldown: 48h per target
- Effect: Phase 3.5 incident detection skips your crimes in that sector for 2 days. Hood Heat -3.
- On failure: only Pay-fail — no penalty
Strategy: use after an EXTORT spree in a hot sector to break the immediate Heat spiral. Cops and the precinct stay active — only the trail of your presence fades.
Visibility
Patrols only show on the map in your scouted sectors (Fog of War, same as sector aggregates). Other players cannot see which cops you have bribed.
Determinism
All patrol mechanics are reproducible — same seed + day + tick yields byte-identical patrol state. Bribe catch-roll uses a separate RNG stream (tag 0xBC) independent of tick position.
Investigation System (Layer 2, v1.14.0)
When cops repeatedly see you, attention escalates from “sector heat” to personal cases against you.
Stages
| Stage | Threshold | Investigator | Decay |
|---|---|---|---|
| Beat-Cop | spawns on first patrol-witness | Anonymous | 10 days idle → no further drop |
| Detective | ≥ 5 Evidence-Tokens | Named (Det. Voss, etc.) | 10 days idle → Beat-Cop |
| Task-Force | ≥ 10 tokens | Named (Lt. Cross, etc.) | 10 days idle → Detective |
| RICO | ≥ 20 tokens + Federal-Heat ORANGE+ | Federal Agent (SA Quintana) | NEVER |
Evidence-Tokens per crime: Petty=1, Moderate=3, Serious=7, Federal=15. Patrol-witness ×3 multiplier.
Counter-Actions
- BRIBE_DETECTIVE ($5k mixed): Halves evidence accrual 14 days. Detective+ only. RICO immune.
- DISCREDIT_INVESTIGATOR ($4k, 50% hit): Stage drop -1. On miss: +5 Federal-Heat.
- ELIMINATE_INVESTIGATOR ($8k, RAID-class): Stage drop +25 Federal-Heat. RICO immune (federal jurisdiction survives lead-agent death).
RICO Endgame
7-day countdown from RICO escalation. At 0 → federal seizure (50% Clean / 30% Dirty + hood-lock + possible elimination). While active: all heat bumps ×1.10. Only escape: LAWYER_RETAINER (Layer 6).
Audit-NPC (Layer 3, v1.15.0)
Federal Auditor physically travels to your front building. You see origin → target path + remaining days.
- Trigger: AuditRisk ≥ 0.8 (
auditor_trigger_threshold: 0.8) + Federal-Heat bump +10. - Travel: 3 days fixed (
auditor_travel_days: 3). - Counters: BRIBE_AUDITOR / COOK_BOOKS / KIDNAP_AUDITOR / WITNESS_INTIMIDATION (RAID-class — eliminates auditor + dumps 20 evidence into existing investigation).
- On arrival without counter: Cash confiscation + hood-lock + Investigation Evidence +10 (can promote Beat-Cop → Detective in one shot).
Prison (Layer 4, v1.16.0)
Arrested runners route to Inmate records in Prison nodes (severity → security level: petty/moderate→low, serious→high, federal→max). Prison DefenseValue augments rescue DC.
Counter-Actions
- RESCUE_RUNNER: STL+CHA roll vs prison-defense + 20. On success: inmate freed + NetworkContacts banked.
- PAROLE_HEARING: Judge contact (HIGH-rank) + $3500. d20 ≥ 7 → freed. On miss: Parole-Eligibility +14 days.
- BribeRelease: Cash for Judge, deterministic (federal blocked).
Prison Networking
Inmate accrues 1 contact per 7 days inside. On release/rescue/parole: contacts bank to Player.PrisonNetworkContactsBanked (lifetime counter).
AI-Corp Rework (Layer 5, v1.17.0)
AI corps now own real buildings + react to your presence.
- EXPANSION acquires real BUILDING_ENTRY nodes in corp sectors (no longer just counter bumps).
- Hostile Takeover: at AuditRisk ≥ 0.7 — 50% normal buyout (full premium), 50% eviction (50% premium + building goes to OwnedNodes). Player.AICorpGrudgeCount tracks lifetime attempts.
- Turf War: player owns building in corp home/adjacent → +1 hostility per day. At threshold 7 → Corp-Strike: sector heat +8 (3-day cooldown).
Counterplay (Layer 6, v1.18.0)
LAWYER_RETAINER
- Setup: $5k clean upfront + $1k/week
- Effect: -25% evidence accrual, RICO clock ticks +1 day faster
- Auto-expire: 30 days or cash-deplete
Dirty Cops
Repeat-bribe on the same cop → at 60% corruption, permanent DirtyCop relationship. Cop ignores your crimes in their sector for the unit’s lifetime. Per-player sticky (bitmask) — other players see the cop normally.