Cyberware
Cyberware is chrome you bolt onto your runners — stat bonuses on healthy parts and permanent-damage repair on wrecked ones. Introduced in HP system Phase 4 (server v1.84.0+, tracker #589).
This page is the player-facing guide. Engine details live in SPEC_combat.md §16-§20 and the design surface in docs/CYBERWARE.md.
TL;DR
- Scout a sector with a recruiter — every ripperdoc in that sector is revealed.
- Open the Cyberware tab on an injured runner (or any runner you want to upgrade).
- Pick a ripperdoc, a cyberware item from their inventory, and a target body part.
- Submit the action. The runner travels, the doc rolls the 4-bucket surgery table, you get an outcome.
Ripperdocs
A Ripperdoc is a first-class NPC that installs chrome at a specific clinic building.
Spawn rule
- One per sector, picked at session start at a random
BUILDING_ENTRYnode. Deterministic from the session seed — same seed = same ripperdoc layout every replay. - Sectors with no eligible building entry slot don’t get a ripperdoc (rare on real maps).
Per-doc stats
| Field | Range | What it does |
|---|---|---|
| SurgerySkill | 50..89 | Drives the success probability. Higher = safer. |
| Discretion | 30..79 | Captured for Phase 4c federal-heat trail (no gameplay effect yet). |
| Tier | 1 (Phase 4 trimmed) | Bounds which cyberware they can install. Tier-2/3 docs land in Phase 4d. |
Discovery
Ripperdocs are invisible until you scout the sector they sit in. SCOUT triggers DiscoverRipperdocsInSector automatically — you don’t run a separate clinic-scout action.
Once revealed, they show up under Player → Ripperdocs with their full inventory and per-item cost / stat-mods / humanity-cost. Rival’s discoveries stay hidden until Phase 4b’s HACK_RECON leak lands.
Inventory
Every ripperdoc starts with 3-5 Tier-1 items at session start. Each day rollover tops them back up to 3-5 items. Tier-2 / Tier-3 stock is empty in Phase 4 trimmed — those tiers land via SUPPLY_ILLEGAL smuggling when #588 lands.
INSTALL_CYBERWARE action
| Field | Value |
|---|---|
| Category | Verwaltung |
| Primary attribute | INT (medical know-how) |
| Secondary attribute | CON (toleration) |
| Cost | Clean cash, = cyberware.base_cost from the catalog |
| Duration | 120 min (2 h) — runner busy for the install + immediate post-op |
| Cooldown | 72 h per runner (prevents chrome-stacking spam) |
| Target | Self runner + ripperdoc building |
The submission carries three params: cyberware_id, target_part, ripperdoc_id (resolved from the picked clinic’s NodeID). Validator rejects: undiscovered ripperdoc, empty inventory, incompatible part, insufficient cash, runner inactive / arrested / on cooldown.
The 4-bucket surgery table
After the validator passes, the engine rolls P_success = SurgerySkill/100 × (1 - tier × 0.05).
A Tier-1 install at a 70-skill ripperdoc = 0.70 × 0.95 = 66.5% success.
Cost + inventory are consumed on every outcome. Failure doesn’t refund — that’s the price of cybering up at a back-alley clinic.
| Roll | Bucket | Effect |
|---|---|---|
r < P_success |
Success | Chrome installed, stat_mods applied, target part’s Permanent flag cleared if it was wrecked, HP restored to MaxHP. |
Failure → r2 < 0.40 |
Botched install | Chrome destroyed, target part flipped to Permanent=true (HP=0). No stat_mods. |
Failure → 0.40 ≤ r2 < 0.70 |
Partial functionality | Install succeeds, but stat_mods operate at 50% (integer rounded toward zero). Persistent marker until next swap / removal. |
Failure → 0.70 ≤ r2 < 0.95 |
Surgical complication | Install succeeds fully on the target. A different healthy part flips Permanent=true — collateral damage. |
Failure → r2 ≥ 0.95 |
Dead on table | Runner dies. All parts zeroed, Active=false, ripperdoc still keeps your money. |
Replay-deterministic: same (day, player, hood-id) always produces the same roll. Save scumming via re-roll is not a thing.
Stat-mod stacking
Cyberware stat-mods stack on top of Base* snapshot values, uncapped. Locked decision per SPEC_combat.md row 13 — chromed runners can blow past 100 STR.
Example sequence:
| Step | STR | Notes |
|---|---|---|
| Hire runner | 80 | BaseSTR = 80 snapshotted at spawn |
| Install Militech Cyberarm (left) | 95 | +15 STR |
| Install Militech Cyberarm (right) | 110 | +15 STR again, past 100 cap |
| Crit-lethal hit, left arm goes Permanent (no chrome installed there yet) | n/a | Phase 3 penalty applies |
| Install Cyberarm on the wrecked left arm | 110 | Cyberware now covers the loss, no penalty |
Phase 5’s Humanity will be the balance lever — chrome-stacking lowers humanity, low humanity = cyberpsychosis behaviour penalties.
Swap policy
Re-installing on an occupied slot destroys the old chrome (no refund). Fast iteration, simple UX. The Phase 4b REMOVE_CYBERWARE action below gives a 50%-refund alternative.
Practical implication: pick your cyberware carefully. Swapping a low-tier item for a higher one via the swap policy wastes the lower one entirely; REMOVE-then-INSTALL recovers 50% of the lower item’s base cost.
Reputation (Phase 4b, server v1.85.0)
Every ripperdoc tracks a per-player reputation score from 0 to 100, starting at the neutral default of 50. Loyal customers get cheaper, safer installs. Newcomers pay full freight and roll the dice a little more.
Triggers (Phase 4b)
| Outcome | Rep delta |
|---|---|
| INSTALL success | +5 |
| INSTALL botched (bucket 1) | −10 |
| INSTALL partial / complication / dead-on-table | 0 (neutral) |
| REMOVE_CYBERWARE | 0 (neutral) |
Other triggers — successful bribe (+10), ripperdoc-raid while patron (−20), rival bribes the doc to leak your roster (−25) — ride with Phase 4c counter-intel work.
What rep does
- Install price:
base × (1.25 - rep/200)— softer than the docs/CYBERWARE.md baseline. Examples:- rep 0 → 1.25× (+25% surcharge)
- rep 50 → 1.00× (no change)
- rep 100 → 0.75× (−25% discount)
- Install success multiplier:
× (1 + (rep-50)/500)— ±10% swing on top of the baseSurgerySkill/100 × (1 - tier × 0.05)formula. Examples:- rep 0 → ×0.90
- rep 50 → ×1.00
- rep 100 → ×1.10
Both curves are softer than the docs baseline (locked decisions 22-23) so reputation is an influence, not a deciding factor in the early game.
Affordability gate
The cost gate runs after the rep discount. A rep-100 patron can afford an $8,000 cyberarm with only $6,000 clean cash, because effective cost = $6,000.
Fog-of-war
Rep is per-player and per-doc, surfaced only for ripperdocs you have discovered. Rivals never see your rep with their docs (yet — Phase 4c’s HACK_RECON leak adds rival cyberware-roster surfacing, but not rep curves).
REMOVE_CYBERWARE (Phase 4b, server v1.85.0)
Pull chrome out of a runner. Frees the slot, refunds half the catalog base cost, and returns the part to the wrecked state (Permanent=true) per the docs/CYBERWARE.md Recovery paths.
| Field | Value |
|---|---|
| Category | Verwaltung |
| Primary attribute | INT |
| Cost | $0 (the refund is the net effect) |
| Refund | 50% of catalog base_cost — raw, not the rep-discounted price you paid |
| Duration | 60 min (half of INSTALL — explant is faster than implant) |
| Cooldown | 24 h per runner (lighter than INSTALL’s 72 h) |
| Surgery roll | None — always succeeds |
| Reputation impact | None |
Why bother?
- Strategic chrome swap: REMOVE → wait 24 h → INSTALL different chrome on the same slot. INSTALL’s 72-h cooldown still rate-limits the re-up.
- Humanity recovery (Phase 5): Phase 5 will tie removed chrome’s
humanity_costback to the runner’s humanity score. Removing a stack of chrome is the explicit path to recover cyberpsychosis. - Refund the install: 50% of
base_costreturned in clean cash. A botched $8,000 install you regret? REMOVE it for $4,000 back.
Side effects
- Slot empty (
HasCyberware[part] = false) - Part
Permanent = true(re-applies the Phase 3 attribute penalty for limbs) - Stat-mods reverse via
RecomputeStats - Knockout-rule re-check — if removing this slot pushes the runner over ≥2 limbs permanent,
Active = false
Cooldown rationale
24 h per_runner sits lighter than INSTALL’s 72 h on purpose. Removing chrome is mechanically simpler than implanting (in-fiction: explant is a 1-hour drill, implant is a 2-hour splice). The asymmetric cooldown enables tactical chrome management without enabling chrome-spam — the 72-h INSTALL cooldown still gates how often you can re-up a slot.
Factions (Phase 4d, server v1.86.0)
Every ripperdoc now carries a faction alignment picked at session start. Faction shows up as a tag on each discovered shop’s card and modulates pricing, surgery quality, and Tier-3 access.
Distribution
| Faction | Share | Tier ceiling | Surgery skill | Discretion |
|---|---|---|---|---|
| Independent | 70% | Tier 1-2 | 50-89 | 30-79 |
| Ripperdoc Cartel | 15% | Tier 1-3 | 70-100 | 70-99 (raised) |
| ChromeWerks Inc. | 10% | Tier 2-3 | 70-100 | 30-79 |
| Arasaka Med | 5% | Tier 3 only | 70-100 | 30-79 |
What each faction means in Phase 4d
- Independent: the everyman option. No special effect — just a safe baseline.
- Cartel: spawns with extra Discretion (the value that Phase 4c federal_heat trail will consume). Carries Tier 1-3 inventory at spawn. No active discount.
- ChromeWerks: applies a ×0.9 multiplicative discount on top of the rep curve. At rep=100 the final price is
0.75 × 0.9 = 0.675×of base — the strongest deal in the city. - Arasaka Med: Tier 3 only. The label is captured for Phase 4c’s rival-affinity refusal mechanism. In Phase 4d it behaves like any other Tier-3 shop.
Strategic implications
- High-rep + ChromeWerks combo unlocks the cheapest Tier-3 installs in the game.
- Cartel docs spawn with reliably high SurgerySkill — useful even for Tier-1 work if you draw a low-skill Independent in your starter sectors.
- Arasaka Med is a rare encounter (~5% of shops) and ships Tier 3 exclusively. Treat it as a luxury endgame doc.
- Phase 4c will layer black-market vs licensed semantics, federal-heat trail (via Cartel Discretion), and the Arasaka rival refusal logic on top.
Tier-3 catalog (shipped in v1.86.0)
5 high-end entries in the $25k-$60k band. Stocked at session start via 1 random seed per Tier-3-capable shop (Cartel + ChromeWerks + Arasaka Med). Ongoing refresh waits on the #588 SUPPLY_ILLEGAL loot pipeline.
| ID | Name | Slot | Cost | Stat-mods | Humanity |
|---|---|---|---|---|---|
sandevistan_proto |
Sandevistan Prototype | head | $55,000 | STL +20 / TCH +10 | 30 |
berserk_processor |
Berserk Processor | head | $40,000 | STR +20 / CON +10 | 28 |
subdermal_heavy |
Mil-Spec Subdermal Weave | torso | $50,000 | CON +25 | 28 |
optical_ar_combat |
Combat-AR Optics | head | $30,000 | TCH +15 / INT +5 | 22 |
skeletal_brace_mk2 |
Skeletal Brace Mk2 | leg_left / leg_right | $25,000 | STR +10 / CON +10 | 18 |
Tier-3 access gate
Tier-3 installs require reputation ≥ 70 with the ripperdoc. Below 70 the plan validator rejects with a TIER3_REP_GATE error; if you somehow drift below 70 mid-plan (e.g. a botched install earlier in the same plan docked rep -10), the op layer double-checks and silently no-ops at execute time without consuming cash or inventory.
The rep curve discount + ChromeWerks faction discount still apply above the gate, so a rep=100 ChromeWerks patron pays $25k-$60k × 0.75 × 0.9 for Tier-3 chrome.
Humanity & cyberpsychosis (Phase 5, server v1.87.0)
Every install carries a humanity cost. Stack too much chrome and your runner slides through four behavioural bands — eventually going cyberpsycho and risking permanent loss.
Humanity stat
- Range: 0..100. New runners spawn at 100 (pristine).
- Drop: each successful
INSTALL_CYBERWAREdocks humanity by the cataloghumanity_cost. Botched / dead-on-table buckets DON’T touch humanity (no chrome went in); partial / complication buckets do (chrome installed). - Restore:
REMOVE_CYBERWARErefunds half the install-timehumanity_cost.THERAPY_SESSION(below) restores +15.
Behavioural bands
| Range | State | LOY decay/day | Friendly-fire risk | Faction-leave risk |
|---|---|---|---|---|
| 100..80 | Stable | 0 | none | none |
| 79..50 | Jittery | −1 | none | none |
| 49..25 | Unstable | −2 | none | none |
| 24..0 | Cyberpsycho | −3 | 10% per combat minute | up to 9.5%/day (curve below) |
Order-refusal is deferred to Phase 5b — Phase 5 trimmed ships LOY decay + friendly-fire + faction-leave only.
Cyberpsycho friendly-fire
In the Cyberpsycho band, each combat minute rolls 10% to flip the target to a random allied team-mate at the same node. Damage formula unchanged — only target identity swaps. No ally present at the node = no swap (attack proceeds normally).
Faction-leave (permanent runner loss)
Daily roll for Cyberpsycho hoods:
P_leave = clamp((20 − humanity) / 200, 0, 0.10)
| Humanity | P_leave/day |
|---|---|
| 19 | 0.5% |
| 15 | 2.5% |
| 10 | 5.0% |
| 5 | 7.5% |
| 1 | 9.5% |
On positive roll the runner is permanently lost — Hood.Active=false, gazette entry, FactionLeftDay set. The roll fires BEFORE LOY decay so a runner who leaves doesn’t also eat that day’s decay.
THERAPY_SESSION action
| Field | Value |
|---|---|
| Category | Verwaltung |
| Primary attribute | INT |
| Cost | $2,000 clean |
| Duration | 720 min (12 h session) |
| Cooldown | 72 h per runner |
| Effect | +15 humanity (clamped at 100) |
| Provider | Reuses existing ripperdoc shops — no new NPC entity in trimmed scope |
Any discovered Alive ripperdoc accepts the action. The runner travels to the shop, undergoes a 12-hour session, returns with 15 humanity restored.
Why bother?
- A chrome-stacked Cyberpsycho runner is unreliable in combat (10% friendly-fire per minute) AND bleeds LOY 3/day AND risks daily faction-leave. The bonuses from stacked stat-mods stop being worth it.
- Phase 4’s “uncapped stat stacking” power fantasy gets its balance lever HERE — humanity is the cost of all that chrome.
- REMOVE_CYBERWARE recovery path is half-refund; cheaper than waiting for a runner to bleed out of the cyberpsycho band via THERAPY_SESSION sessions alone.
Tier-1 catalog (shipped in v1.84.0)
10 entries covering every body part. Future Tier-2 lines drop via smuggling.
| ID | Name | Slot | Cost | Stat-mods | Humanity |
|---|---|---|---|---|---|
neural_link_basic |
Basic Neural Link | head | $2,500 | INT +5 | 5 |
cyber_eye_optical |
Optical Cyber-Eye | head | $3,500 | TCH +4 / STL +3 | 6 |
cha_implant_voice |
Voice-Modulator Implant | head | $3,000 | CHA +8 | 6 |
neural_link_pro |
Pro Neural Link | head | $6,000 | INT +10 / TCH +5 | 10 |
cyberarm_militech |
Militech Cyberarm | arm_left / arm_right | $8,000 | STR +15 | 12 |
cyberarm_artisan |
Artisan Cyberarm | arm_left / arm_right | $7,500 | STR +8 / TCH +8 | 10 |
cyberleg_speedware |
Speedware Cyberleg | leg_left / leg_right | $6,500 | STL +12 | 10 |
cyberleg_reinforced |
Reinforced Cyberleg | leg_left / leg_right | $5,500 | STR +6 / CON +6 | 8 |
subdermal_armor_light |
Subdermal Armor Mesh | torso | $9,000 | CON +15 | 14 |
synth_lung_filter |
Synth-Lung Filter | torso | $4,000 | CON +6 / STL +4 | 7 |
HumanityCost is captured at install time. Phase 5 will sum it across the runner to compute the humanity score; in Phase 4 it’s stored for forward compatibility only.
What’s still coming
| Phase | Scope | Tracker |
|---|---|---|
| 4c | HACK_RECON cyberware leak + bribe trigger + ripperdoc-raid loss-event + rival-bribes-doc + black-market vs licensed split (dirty-cash variant, lower success, no federal_heat trail, police RAID risk) + Arasaka Med refusal mechanism (rival-affinity check) | Future spec PR |
| 5b | Order refusal mechanic (1/10 Jittery / random Unstable) + drug-cycle recovery action + dedicated Therapist NPC system (split from ripperdocs) | Future spec PR |
| Loot pipeline | Tier-2 catalog + ongoing Tier-2/3 refresh via PRODUCE_DRUGS / SUPPLY_ILLEGAL | Blocks on #588 |
See also
- Runners — HP body parts & Phase 3 permanent damage
- Combat — knockout rule + brawl crit
- SPEC_combat.md §16-§20 (engine spec)
docs/CYBERWARE.md(design surface)docs/HP_AND_CYBERWARE.md(multi-phase overview)