Institutions & Contacts
The city has 8 institutions in three tiers. You build contacts, push them through the Loyalty track to BRIBED → PAYROLL and use their effects. Some institutions are fully implemented, others exist as slots without active effects — marked honestly here.
Institution Overview
Source: engine/internal/fixture/mapper.go:institutionDefs.
| Institution | Tier | Max Contacts | Status |
|---|---|---|---|
| CorpSec | 1 | 6 | ✅ Active effect |
| Compliance Bureau | 1 | 4 | ✅ Active effect |
| Federal Compliance Authority (FCA) | 1 | 0 | ⚪ Catalog only, no contact slots |
| District Administration | 2 | 3 | ✅ Justice effect |
| Fiscal Oversight Bureau (FOB) | 2 | 4 | ⚠️ Slots present, no institution-specific effect |
| MedCore Division | 2 | 4 | ⚠️ Slots present, no institution-specific effect |
| Arbitration Tribunal | 3 | 3 | ✅ Justice + heat effect |
| Black Market | 3 | 5 | ✅ Active effect |
Contact Lifecycle
A contact has three states (ContactState):
- DISCOVERED — revealed via SCOUT, ChainReferral or OrganicEncounter. No effects. Visible in roster.
- BRIBED — one-time bribe raises loyalty. No daily effects. Above 50 loyalty + HIGH rank = justice reduction (see below).
- PAYROLL — daily drain (
DailyPayrollCost), but the institution’s active effects apply.
Loyalty decay (SPEC_government_institutions D-01): PAYROLL contacts lose loyalty over time — without maintenance their relationship drifts and eventually the contact stops responding. Counter with MAINTAIN_CONTACT (server v1.66.0, Verwaltung category, CHA-driven, 30 min, $500, 12 h cooldown): auto-picks your lowest-loyalty active PAYROLL contact and bumps loyalty by +10 (clamped 0..100). Contacts have no NodeID — you can’t pick which one, but repeated calls cycle through the whole roster automatically.
Active Effects (PAYROLL contacts)
From engine/internal/government/institutional_effects.go:
CorpSec → reduce sector heat
sector_heat -= loyalty / 20 # daily
Loyalty 60 → −3 sector heat/day. Linear scale.
Compliance Bureau → reduce audit risk
audit_risk -= loyalty × 0.005 # daily
Loyalty 60 → −0.30 audit risk/day. Important: a HIGH Compliance Bureau contact is your only source for the exact Federal Heat value — see Heat.
Black Market → +% building income
for each active building with manager:
income_base × (1 + loyalty × 0.001) # +0.1% per loyalty point
Loyalty 80 → +8% income on all managed buildings. Stacks with owner bonus (+15%) and manager bonus (+15%).
Arbitration Tribunal (HIGH-rank, PAYROLL) → Justice
- Sentence reduction: −1 day per arrest (
judge_reduction_days: 1) - Bribed Judge (BRIBED state, rank ≥ 2): inmate hoods receive
hood_heat × 0.95daily (bribed_judge_heat_decay) — judge “manages the paperwork” - Bribe-Release: judge can release hoods for cash (severity-tiered $2k/$8k/$20k, federal blocked)
- Parole Hearing: escalated motion ($3,500 + d20 ≥ 7)
District Administration (HIGH-rank, PAYROLL) → Mayor
- Sentence reduction: −1 day per arrest (
mayor_reduction_days: 1)
Stack example: Arbitration HIGH + District HIGH = −2 days per sentence (min 1 day).
HIGH-rank contacts in general → Federal Heat drain
Every HIGH-rank institution PAYROLL slot contributes to the federal drain (criminal_justice.go applyHighContactFedHeatDrain):
federal_heat -= min(1.25, 0.5 × n_high_payroll_contacts)
Cap at −1.25/day (= 3 HIGH contacts). More HIGH slots give no further drain.
Unimplemented Institutions
FOB / Fiscal Oversight Bureau and MedCore Division exist in the institution catalog with contact slots but no institution-specific effect code in the current engine. You can build contacts — daily PAYROLL drain runs, HIGH rank counts for federal drain — but no institution-specific bonuses.
FCA / Federal Compliance Authority is in the catalog but MaxContacts: 0 — you can’t recruit contacts here. Pure lore entity (its auditors are routed via the Audit-NPC system, not contacts).
Note: Pre-1.18 wiki versions referenced election systems (District Admin), MedCore healing bonuses, CRU/fire-department mechanics, and tier-based LOW/MID/HIGH effects. These are not implemented in the current server and have been removed here.
Contact Drama Arcs
Three organic mechanics for contact acquisition beyond direct action (engine/internal/action/contact_drama.go):
1. ORGANIC_ENCOUNTER (passive)
On every RAID, ATTACK, SCOUT, INFILTRATE, or SABOTAGE action, the server checks:
chance = sector_heat × 0.2 % # 20% at sector_heat = 100
cap: max 1 encounter per player per day
On success: a LOW/MID-rank contact is automatically revealed — free, no SCOUT.
2. CHAIN_REFERRAL
A long-term PAYROLL contact introduces a new one.
Gates:
- Origin must be ≥ 30 days on PAYROLL (
ChainPayrollGateDays) - Origin loyalty ≥ 20
origin.ChainUsedmust be false (1× per contact lifetime)- Player below max-contacts cap
Mechanics:
- Success probability =
origin.Loyalty / 100 - On success: new contact in same institution, rank ≥ origin rank. Origin loses 15 loyalty.
- On fail: origin loses 5 loyalty.
origin.ChainUsedalways set to true (success or fail).
3. POACH_BID + COUNTER_BID (2-day bid war)
You can poach a rival’s contact — but they see it and can counter-bid.
Day 0 (attacker POACH_BID):
- Cash deducted immediately
- Bid must be ≥ 1.5× contact cost (
PoachMinMultiplierOfCost) - Federal Heat +1 (
PoachHeatCost) - Victim sees anonymous notification
Day 1 (victim COUNTER_BID):
- Victim can counter at any amount (cash deducted)
Day 2 EOD (resolution):
- Highest bid wins
- Loser refund: 90% of bid (10% broker fee)
- On success: contact transfers to attacker, keeping loyalty/rank
- Cooldown: 5 days per contact after resolution
Heat-scaling Bribe Costs
Pushing federal heat makes bribes more expensive:
| Federal Heat | Multiplier |
|---|---|
| 40+ (YELLOW) | ×1.25 |
| 60+ (ORANGE) | ×1.5 |
| 75+ (RED) | ×2.0 |
Source: diplomacy.bribe.federal_heat_multipliers.
Standard bribe cost range: $1,000 – $2,500 (diplomacy.bribe.cost_range). With a 2× multiplier a bribe can cost up to $5,000.
Dishonored penalty: Players marked DISHONORED pay an additional ×1.5.
Strategy
- Early CorpSec + Compliance: Tier-1, cheap, immediate effect — push sector heat and audit risk daily.
- Black Market HIGH = income multiplier: With loyalty 100 = +10% on all managed buildings.
- Arbitration HIGH is your justice insurance: Bribe-release + sentence reduction + heat decay on three fronts.
- 3 HIGH contacts is the federal-drain max: −1.25/day cap. More HIGH slots = wasted, use for other effects.
- CHAIN_REFERRAL costs 30 days patience: Worth it because success probability scales linearly with loyalty.
- POACH_BID is theft-with-risk: You lose your bid if the defender counters — only worthwhile if you’re sure you’ll outbid them.