Runners

Your Operatives

Runners — also called Hoods in slang — are the backbone of your organization. They execute your orders, scout areas, raid rivals, and manage your buildings. Without runners, nothing happens.

You can control a maximum of 100 runners, organized into up to 10 teams of 10 members each.


Attributes

Each runner has six core attributes that determine their strengths:

Attribute Abbrev. Description
Strength STR Physical power. Determines melee damage, intimidation, and carry capacity.
Intelligence INT Mental acuity. Influences scouting quality, hacking success, and plan detection.
Stealth STL Ability to remain undetected. Reduces heat buildup and increases stealth action success.
Tech TCH Equipment and technology proficiency. Determines hacking, explosives, and vehicle handling.
Charisma CHA Persuasiveness. Influences recruitment, bribery, and team leadership.
Constitution CON Resilience. Determines max HP, stress resistance, and recovery speed.

Dynamic States

Beyond fixed attributes, each runner has four status values that change constantly:

Status Range Meaning
Loyalty (LOY) 0–100 How loyal the runner is to you. Below 40: unreliable — may execute orders sloppily. Below 20: refuses orders or deserts.
Hit Points (HP) 0–max Health. At 0 the runner is incapacitated (Active=false). Does NOT regenerate passively — restore via the SEND_TO_MEDIC action ($800 clean, heals 25 + CON×0.5 HP and clears 10 heat).
Stress (STRS) 0–100 Psychological strain. High stress reduces performance and loyalty. Chronic stress leads to breakdowns.
Heat (HEAT) 0–100 Individual heat level. Independent from sector heat. High heat = arrest risk on every action.

Loyalty is the most critical value. A runner with high heat and low LOY is a ticking time bomb — they might testify against you if arrested.

Heat cooldown — SEND_TO_SAFEHOUSE: A runner whose heat is climbing toward arrest territory can be pulled off the street with SEND_TO_SAFEHOUSE (STL-driven, 30 min, 3-day default lockout). The runner goes inactive for the duration, but the safehouse-multiplier kicks in on the entry day so the heat decay is much faster than on-street decay. Last-resort tool for hot runners that can’t risk another action without getting arrested. Full entry in Actions — Personnel Management.

Attribute progression (server v1.63.0+): STR/INT/STL/TCH/CHA/CON were fixed at hood creation through v1.62.x. The new TRAIN_HOOD action (Verwaltung, $500 clean, full-day 480 min, 24 h cooldown) bumps the runner’s highest current attribute by +1 (or +2 on crit-success), capped at 80. Specialist arc — strong gets stronger, weak stays cheap. Random-roll generation can still produce attributes above 80 at hire time; training only raises post-hire growth to the soft 80 ceiling.

HP system rework (planned, #589): the current single-HP-pool model gets a multi-phase replacement — body parts + targeted damage + permanent injuries + cyberware swaps + humanity score. Spec draft in docs/HP_AND_CYBERWARE.md; cyberware sourcing + Ripperdoc-NPC system in docs/CYBERWARE.md. Until those phases land, HP behaves as documented above.


Recruitment

You find new runners via a 2-day cycle:

Day 1: Send a recruiter to a venue (building with recruits tag) — a bar, harbor, university, or fight club. The RECRUIT action targets the building itself. Different venues attract different runner types:

Venue Typical Runners
Bar / Nightclub All-rounders, street fighters (high STR/CON)
Harbor / Docks Smugglers, physical workers (STR/CON)
University / Tech Hub Hackers, planners (INT/TCH)
Fight Club / Arena Elite fighters (STR/CON), low INT
Luxury Restaurant Charmers, con artists (CHA/INT)

Day 2: You receive 0 to 3 candidates to choose from. Review their attributes and decide who to hire.

Recruit Cost (standard)

Regular recruitment costs $600 in clean cash (economy.recruit_cost: 600). There is no separate “emergency” path — if your pool is empty, your only options are waiting for the next day or starting venue scouting.


Teams

Runners are organized into teams. Each team has a team leader whose CHA value determines how many runners they can effectively coordinate (delegation capacity). Maximum 10 teams with up to 10 members each.

The advantage of teams: you can issue team-wide orders instead of controlling each runner individually. “Team Alpha: patrol Sector 7” is one command — all members execute it.

Important: Runners without a team assignment are inactive — they cannot execute daily orders but still cost salary.

Team management in the Runner screen:

Each team displays: member counter (e.g. “3/10”), coordination bonus and delegation capacity of the leader.

Team Roster Table

Within each team, members are displayed as a full table — identical to the Roster view with portrait, name, HP, heat, loyalty and all six attributes as mini-bars. This gives you full oversight of each member’s capabilities even in the team view.


Manager Role

Hoods can be assigned to a building as manager (assign_manager action):

If manager heat > 30, the synergy modifier kicks in additionally: sector wash cap drops — managers with low heat keep your laundering pipeline clean.


Portraits

Every runner has a unique 3D portrait — an automatically generated profile image based on the runner’s name and role. The portrait is rendered in real-time from Synty character models using Babylon.js.

How Portraits Work

Status Effects

The portrait visually reflects the runner’s condition:

Condition Visual Effect
Arrested Grayscale filter + bars overlay
High stress (>80) Slight blur effect
Assigned to team Colored border in team color

Detail Portrait

When you open a runner in the detail panel, you see a large 280px portrait — a high-resolution bust shot of the character. The portrait is cached after first render and displayed instantly thereafter.

No WebGL?

If your browser does not support WebGL, you see a colored circle with the role abbreviation (EN, GH, AN, TC, FX) instead. Less pretty, but functional.


Player Character

In addition to the auto-generated runner portraits, you have your own player character — your personal in-game profile.

Customization

In Hub → Settings you’ll find the character editor with a live 3D preview:

Option Description
Character Model 8 different cyberpunk models (Cyborg, Mercenary, Racer, Rich, Street)
Skin Tone (MST) 8 skin tones, applied via real-time texture manipulation
Pose T-Pose, A-Pose or I-Pose
Hairstyles 8 hairstyles (mutually exclusive with headgear)
Headgear 4 hats/helmets (mutually exclusive with hairstyles)
Earrings 9 variants
Piercings 4 variants — multi-select supported (e.g. nose + lip simultaneously)
Masks 1 variant

Camera Controls

The 3D preview supports full camera control:

Profile Picture

A 128×128 head portrait is automatically rendered from your character and saved as your profile picture. It appears:

Your character and profile picture are saved server-side and available across all devices.


Manager Role

You can station a runner as a manager in a building. This is mandatory — a building without a manager generates $0.

Manager Tab in the Runner Screen

The Runner screen has a dedicated Manager tab that shows all current managers with their assigned buildings:

Information Description
Runner Attributes Compact attribute overview (STR, INT, STL, TCH, CHA, CON) with mini-bars
Assigned Building Name, zone, category and front status of the building
Building Financials Daily income, rent/maintenance, net profit at a glance
Defense & Value Defense value and property value of the building
Delegation Capacity Based on CHA — how many subordinates the manager can coordinate

Assigning a Manager

To assign a manager, click “Assign Manager” in the Manager tab. An inline runner picker opens showing all available runners (active, not already a manager). Click a runner to station them as manager.

Important: A runner assigned as manager automatically leaves their current team.

Heat Warning

Managers of illegal operations (drug lab, weapons cache, fence shop) passively accumulate heat just from working there. Rotate your managers regularly to distribute heat.


In the Runner and Economy screens you see 7-day sparklines per player that aggregate your entire workforce across every sector where you own buildings (sector axis — covers ALL workers in your sectors, including rivals’). The data comes from the server-side pipeline (WorkforceXxxHistory in the fixture) and is rolled up deterministically from per-sector daily snapshots:

Sparkline Source What you see
Heat trend per-sector HeatHistory Average + max heat across your sectors — “where will the cops show up first?”
Income trend per-sector IncomeHistory Daily revenue from buildings in your sectors
Wage trend per-sector WageHistory Monthly wage bill + owner/staff split
Productivity trend per-sector ProductivityHistory Owner and staff productivity (weighted)
Psychometrics trend per-sector PsychometricsHistory Avg fear / corruption / loyalty / observance
Population trend per-sector PopulationHistory Total / labor supply / labor demand
Demographics trend per-sector DemographicsHistory Newborn / juvenile / adult / elderly counts
Wealth trend per-sector WealthHistory Avg + min + max wealth + wealth gap
Churn trend per-sector ChurnHistory Hires / promotions / retires / quits / deaths sums
Wealth-flow trend per-sector WealthFlowHistory Inflow / outflow + signed Net (negative = money flowing out on net)

Interpretation:

Sparklines are silent-day-aware — days with no activity are skipped instead of drawn as zero lines, so the trend isn’t distorted by quiet weekends.