Workforce & Strikes
Your buildings don’t run themselves. Owners and Staff are real NPCs with morale, fear, and grudges. Push them too hard and they walk out — your shop’s daily income drops to zero for up to two weeks. Treat them well and the workforce rewards you with sustained productivity bonuses.
This is the labor system — an opt-in deep mechanic introduced in #227 Phase 6. Every owned building participates; how it plays out depends on your management style.
How a strike fires
Once you’ve unionized a building (via UNIONIZE action) and the avg Staff Loyalty drops below 30, the workforce walks out:
- Daily income drops to 0 until resolved
- You take +0.5 FederalHeat per day while the strike continues
- Sector Heat slowly accumulates (police presence in walkout zones)
- A one-time Cash penalty of $50 × Staff hits at strike start
- Repeat strikes at the same shop escalate the penalty (1.5× → 2× → 2.5× → … up to 3×)
Non-unionized buildings can’t strike. Unionizing is the trade-off: you gain access to powerful negotiation actions (PAY_OFF_WORKERS / BREAK_STRIKE) but lose the workforce-stability of a non-unionized shop.
Four ways out
A strike ends through one of four resolution paths. Each carries distinct consequences:
| Path | Trigger | Reward / Penalty |
|---|---|---|
| resolved | avg Staff Loyalty rebounds to ≥50 organically | +5 Loyalty bonus to remaining Staff, +10% income for 5 days (post-strike recovery) |
| timeout | 14 days elapse without intervention | No bonus, no penalty — workforce comes back tired |
| broken | BREAK_STRIKE action (violent dispersal) | +5 Fear, −10 Loyalty to Staff, federal heat spike |
| paid_off | PAY_OFF_WORKERS action (cash settlement) | +15 Loyalty boost, no heat — but expensive |
Tactical breakdown:
- resolved is the carrot path — slow but pays back permanently
- broken is the stick — fast resolution but accumulates federal pattern
- paid_off is the gentle middle — costs cash but buys peace
- timeout is the worst non-action — 14 days of zero income
Chronic patterns
When the same shop’s resolution history starts skewing toward one path, the system flags it. 3+ lifetime fires at one shop with ≥60% via one path triggers a chronic pattern:
| Pattern | Signal | Consequence |
|---|---|---|
| chronic-broken | Owner keeps crushing same workforce | +0.5 FederalHeat/day per shop (capped 2.0/day per player) |
| chronic-resolved | Workforce keeps rebounding organically | +5% income permanent (the “trusted workforce” bonus) |
| chronic-paid-off | Owner keeps buying off the same shop | UI cash-bleed warning (no penalty, but expensive playstyle) |
| chronic-timeout | Owner keeps ignoring the same shop | UI neglected-shop warning (consider divesting) |
Same detection runs at the sector level — when 3+ sector-wide fires hit ≥60% one path, the SECTOR flips chronic too. Chronic-broken sectors take +0.5/day SectorHeat; “trusted neighborhood” zones surface in scouted-sector intel.
Federal labor board notices historical broken-bias. Players whose lifetime resolutions are 70%+ broken (with ≥5 sample) take an additional +1.0/day FederalHeat — even between concurrent-strike events.
Workforce crisis tiers
Your portfolio’s overall workforce-pressure level is summarized into 4 tiers:
| Tier | Trigger | UI signal |
|---|---|---|
| Normal | 0 signals firing | (no badge) |
| Pressure | 1 signal firing (e.g. 1 active strike OR contagion exposure OR low Loyalty) | “Pressure” badge |
| Crisis | 2-3 signals firing simultaneously | “Crisis” warning |
| Catastrophe | Federal pattern active OR 4+ signals OR sustained spiral | “Catastrophe” alert |
Signals counted: active strikes, federal pattern, sector contagion, understaffed buildings, low Loyalty, broken bias.
Sustained Catastrophe (5+ consecutive days) is a system-wide red flag — the labor board treats it as systemic abuse. Bots in this state suppress all aggressive workforce actions.
Sector strike contagion
When one building in a sector strikes, the non-striking unionized buildings in the same sector see Staff Loyalty drop by 1/day. Strike fear spreads through the labor solidarity network.
Bounded scope:
- Striking buildings skipped (own dynamics)
- Non-unionized buildings immune
- Drop magnitude small (1/day) — players who fix the original strike fast prevent cascade
Specialist counter: Sectors with an alive Teacher (Schul/Bildung specialist) get a +1/day Loyalty bonus on the same buildings — exact counter to contagion. Teachers hold the line until the original strike resolves.
Wage-Market actions
Three player actions interact with the strike system:
- UNIONIZE — flag building as unionized. Required for strike system to apply.
- PAY_OFF_WORKERS — cash settlement. Ends active strike (paid_off path); preventive bargaining when Loyalty 30-50.
- BREAK_STRIKE — violent dispersal. Ends active strike (broken path) but spikes Fear + heat.
Plus four Spieler-als-Boss actions for non-strike workforce management:
- RAISE_WAGE — cheap weekly Loyalty nudge
- BONUS_PAYOUT — monthly big Loyalty bump
- PERFORMANCE_REVIEW — monthly Productivity adjustment
- INTIMIDATE_STAFF — Fear-based suppression (no Loyalty improvement, but cuts quit rate)
All have per-building cooldowns to prevent spam.
Reading your portfolio
The dashboard’s Workforce Summary card surfaces:
- Active strike count + lifetime strike fires
- Chronic-broken / chronic-resolved shop counts
- Crisis level + 14-day rolling history (trajectory chart)
- Crisis trend (“rising” / “falling” / stable)
- Daily NPC payroll cost
- Federal pattern warning (“1 strike from federal escalation”)
- Days at Catastrophe tier (sustained-disaster flag)
When the trend turns “rising”, preempt with PAY_OFF_WORKERS or RAISE_WAGE before crisis hits Catastrophe — heading off the climb is cheaper than scrambling reactively.
Specialist effects
Specific specialist NPCs in a sector mutate strike-related mechanics:
| Specialist | Effect |
|---|---|
| Teacher | Counters contagion 1:1 (+1/day Staff Loyalty in unionized buildings) |
| Lawyer | Evidence accrual ×0.75 in sector — slows witness-driven heat |
| Journalist | Evidence accrual ×1.25 — amplifies witness signal |
| Guard | Evidence accrual ×1.15 — patrol coverage tightens reporting |
| Doctor | Heat-mortality ×0.5 in sector — lowers death rate |
| Judge | Audit countdown −1 extra day (faster federal investigation) |
Specialists spawn from landmark buildings (Gesundheit → Doctor, Behörden → Judge, Sicherheit → Guard) — building these landmarks shapes long-term strike outcomes city-wide.
Bot opponent behavior
Bot players adapt to their own strike history:
- broken-bias (≥70% broken resolutions): bot suppresses BREAK_STRIKE for variety
- paid_off-bias: bot dampens PAY_OFF_WORKERS preference
- chronic-broken portfolio (2+ shops): bot stops escalating
- chronic-broken sector exposure: bot avoids further BREAK_STRIKE in that zone
- rising crisis trend: bot boosts preventive RAISE_WAGE / PAY_OFF scores
- trusted portfolio (3+ chronic-resolved): bot dampens preventive scrambling
- emergency mode (5+ days at Catastrophe): bot suppresses ALL aggressive workforce actions
The bot adjusts mid-game based on its own history — so beating a bot once doesn’t lock in the same vulnerability twice.
Quick reference
| Action | Triggers | Cost | Side effects |
|---|---|---|---|
UNIONIZE |
Avg Loyalty 30+ | $5,000 | Building joins strike-eligible pool |
PAY_OFF_WORKERS |
Active strike OR Loyalty 30-50 | $80 × Staff | +15 Loyalty, no heat |
BREAK_STRIKE |
Active strike | $0 | +5 Fear, −10 Loyalty, +heat spike |
RAISE_WAGE |
Loyalty < 30 | $30 × Staff | +5 Loyalty, 7-day cooldown |
BONUS_PAYOUT |
Loyalty < 50 | $200 × Staff | +10 Loyalty, 30-day cooldown |
PERFORMANCE_REVIEW |
Productivity < 50 | $100 × Staff | +5 Productivity, 30-day cooldown |
INTIMIDATE_STAFF |
Always | $0 | +5 Fear, cuts quit rate, 7-day cooldown |