You are viewing a potentially older version of this package. View all versions.
kropath-TheSyndicate-0.9.71 icon

TheSyndicate

Run contracts for the Syndicate as a career hitman. Kill almost any citizen with guns, poison, or a staged accident; beat the investigation - witnesses, cameras, prints, forensics, warrants, the manhunt - and climb the underworld. Beta.

By kropath
Date uploaded a day ago
Version 0.9.71
Download link kropath-TheSyndicate-0.9.71.zip
Downloads 10
Dependency string kropath-TheSyndicate-0.9.71

This mod requires the following mods to function

BepInEx-BepInExPack_IL2CPP-6.0.755 icon
BepInEx-BepInExPack_IL2CPP

BepInEx pack for IL2CPP x64 Unity games. Preconfigured and ready to use.

Preferred version: 6.0.755
Venomaus-SODCommon-2.1.4 icon
Venomaus-SODCommon

A common library for SOD mods.

Preferred version: 2.1.4

README

The Syndicate

Become a career hitman in Shadows of Doubt. A fixer moved you into the city clean, and now you owe them. Take contracts, put targets in the ground (with a gun, a syringe, a staged "accident") and get away with it while the investigation you just created closes in: witnesses, security cameras, fingerprints, forensics, a warrant, and a city full of enforcers who'd love to find you. Climb from a nobody Recruit to a made Lieutenant of the underworld.

This is a full career sandbox layered on top of Shadows of Doubt's murder mystery, except this time you're the murderer, and the game is the one trying to solve it.


⚠️ This is a BETA (v0.9.71)

The Syndicate is a large mod that hooks deep into the game's crime, evidence, enforcer, and economy systems. It has been played through end-to-end many times, but it is still a beta:

  • PLAY ON A NEW SANDBOX SAVE with PROCEDURAL MURDERS OFF and a starting apartment. You can begin homeless, but every Syndicate app (contracts, both shops) only ever appears on your home cruncher: no home means no way in until you rent or buy one.
  • Expect bugs. Edge cases in a game this systemic are endless. If something breaks, see Reporting a bug at the bottom.
  • Expect the balance to move. Payouts, prices, timers, and difficulty are not final. Almost everything is a config knob: if a number annoys you, change it (see Configuration).
  • Back up your saves. As with any mod that writes save data, keep a copy of a save you care about.
  • Your progress travels with your save (and Steam Cloud). The Syndicate stores its state inside your save file (the .sodb), so it rides Steam Cloud and moves between machines automatically, exactly like the base game's save. Move a save to another PC, or let Steam Cloud sync it, and your rank, gear, and contract history come with it, no extra steps. (Saves made before v0.9.71 carry a small …_mod_savestore/syndicate.json companion file; the mod reads it once on the next load, folds your progress into the save, and retires the file, so from then on it travels too. If you're moving a pre-0.9.71 save to a new PC before ever loading it there, bring that _mod_savestore folder along once.)

Feedback is genuinely wanted. That's what a beta is for.


Requirements & install

  • Shadows of Doubt (current build).
  • BepInEx-BepInExPack_IL2CPP: the IL2CPP BepInEx pack.
  • SODCommon (Venomaus): the shared modding library.
  • A cruncher (in-game computer) of your own. The Syndicate has no interface outside the game: your contracts, the Level-3 job board, and all three shop apps (Syndicate / Supplies / Groceries) are cruncher apps that install only on your home cruncher. Start your sandbox with a starting apartment; with no home there's no cruncher, and no way to read a lead or buy gear.

With a mod manager (recommended): install through Thunderstore Mod Manager or r2modman and the two dependencies come with it. Launch modded.

Manual: install the BepInEx IL2CPP pack, run the game once, drop SODCommon into BepInEx/plugins, then drop TheSyndicate.dll into BepInEx/plugins. A config file (BepInEx/config/Kropath.TheSyndicate.cfg) is generated on first launch.


Getting started

You start as a Level 0 Recruit. The moment you load in, the fixer sends you a v-mail ("The Offer"). Read it on any home cruncher.

  1. Read the intro v-mail. It explains the arrangement and gives you the Dispatcher's phone number (it's saved in your phonebook as The Dispatcher from the start).
  2. Call the Dispatcher and pick "I'm ready, check me in." Nothing happens until you do this. It's the hard gate that stops a brand-new save from ever deadlocking.
  3. Your first contract lands a couple of in-game hours later, biased toward a gentle "proving hit": someone who lives alone with no locks or cameras, so you can learn the ropes.
  4. Buy your basics. Open the Supplies app on your home cruncher and grab a Fingerprint Remover (cheap, available from the start). The vanilla Print Scanner shows what you've touched.
  5. Do the job, scan the scene, wipe your prints, leave no living witness. Then go back to your board (or wait for the fixer to call) for the next one.

Tutorial tips fire once each, at the moment they're relevant (buying supplies, entering the target's building, your first kill, first time you wear the mask).


The core loop: contracts & progression

How you get work

  • Levels 0-2: you're told, not asked. The fixer auto-assigns one contract at a time, delivered as a v-mail. Finish it, and after a cooldown (~12h) the next one arrives. You can also call the Dispatcher → "Any work for me?" to pull one early.
  • Level 3+: the job board. A contract board unlocks in the Syndicate cruncher app. Browse up to 8 offers, read the lead, and ACCEPT the ones you want, up to 3 active at once. Refresh the board for a fresh set (on a cooldown).

Reputation, levels & tiers

Every collected contract earns Underworld Reputation. Rep is your career:

Level Rank Rep needed Reward on promotion
0 Recruit 0 -
1 Associate 20 500cr + a random sync disk couriered to your base
2 Operative 50 1,500cr + a second random sync disk
3 Lieutenant 100 4,000cr + the contract board unlocks

Your level also sets your Tier (1-3): the difficulty ceiling of the jobs you'll be offered. Harder targets pay more.

Hit Tokens

Every contract you collect on also pays 1 Hit Token, even if you got caught. Spend tokens (plus a little cash) at the Syndicate app's BUY SOCIAL STANDING row to buy the game's real social credit stat, the native path to perks like echelon-floor access.

Getting paid

Killing the target doesn't pay you on the spot. Payment clears once the heat settles:

  1. Kill → the contract is marked complete, but pay is held in escrow ("awaiting forensics").
  2. The case resolves (goes cold, or you get identified) → the pay becomes collectable.
  3. Close the case on your pinboard to collect. You'll see an itemized breakdown (base + bonuses).

You always get the base fee. But if the law identifies you for the kill, you forfeit the reputation for that job (you still get the money and the token, "the job got done"). Clean work is what builds a career.

Left something on the board too long? The fixer auto-wires an uncollected payout after ~24h. You never lose money you earned.

How targets are chosen

The fixer scores every citizen on Wealth, Security, and Exposure and matches a target to your tier. Wealthier marks, locked-down homes (cameras, alarms, passwords, echelon floors), and well-connected victims (partners, big households, lots of coworkers) are harder, and pay more. Night-shift loners are easier. Homeless targets have no fixed address and are always the hardest jobs.

Some contracts hand you the target's name and address outright (Full). Others give you a partial or cold lead: a clue trail (a surname to search, an employer, a physical description, a blood type) that's guaranteed to point to exactly one person in the city. You do the detective work; those jobs pay a premium. Kill the wrong person and the contract pays nothing. The heat is all yours.


Contract objectives

Most contracts are just "put this person down." Some carry optional objectives for bonus pay (roughly 55% of jobs carry at least one). Missing an objective never fails the job: you only lose that bonus.

Objective What you do Bonus
Clean Kill Don't get identified: the case must go cold. +25%
Deadline Kill within the time window (min 24h). +20%
Photo of the Body Photograph the corpse with a camera before you collect. +30%
Poison Kill Kill with the issued syringe, nothing else. +35%
Forge an Accident Stage it as an overdose (force-feed the issued vial) or a fall (drag a knocked-out target off a height, use G to throw the body in the direction you are looking), and don't get identified. +50%
No Violence On an overdose job: put them down cleanly (sedative), never a mark on them. +30%
Dispose at Sea Kill with the issued weapon, then throw it in the sea. Keep the weapon instead and you take a penalty. −45% penalty if you keep it

A single job can layer a couple of these. Read the "Terms" on the contract before you commit.


Ways to kill

Almost any citizen in the city can be killed. (Enforcers are protected: any lethal hit on one degrades to a knockout, so you can't wreck the city's police; you can turn that off in config if you insist. Landlords can be killed, but they're never handed to you as a contract target: killing one leaves a district without a landlord, so that call is yours to make.)

Firearms

Six working guns (pistol, silenced pistol, revolver, shotgun, battle rifle, sniper rifle) with real ammo, magazines, and reloading (R). Hold right-mouse to aim, then left-click to fire; left-click without aiming is a melee strike. Highlights:

  • Magazines & reload. Each gun has a mag size and a reload time; keep a reload key bound or you can dry-fire yourself into a corner.
  • Shotgun fires a spread of buckshot (lethal up close, wounding at range) or a single deer-slug (switch with B).
  • Lethality. Shotgun and sniper kill in one hit; a headshot with any gun kills; otherwise it's the two-hit rule (first shot drops, second finishes).
  • Sniper scope. Aiming the sniper rifle opens a variable scope: scroll to zoom (a 4.0x readout shows by the crosshair), and its shots reach much farther than the other guns.
  • Noise. Gunshots alarm anyone who hears them and are remembered as evidence, except the silenced pistol. Drawing a gun at all makes nearby civilians nervous.
  • Casings carry your fingerprint if you're not gloved (the revolver ejects none, the careful killer's choice).

Poison: the syringe

A reusable syringe (3 doses). Jab a target within reach:

  • On a knocked-out target: instant, silent kill.
  • On a conscious target: not instant. They stagger like they're drunk and drop dead about 5 in-game minutes later. Walk away clean before they fall; they can still be seen wandering in the meantime.

Poison: the vial (forged overdose)

A single-use vial. Force-feed it to an already knocked-out target and their death is staged as a self-inflicted overdose ~10 minutes later. Leave the empty bottle as the "evidence." If the coroner sees a beaten-up body, though, it reads as murder, not an overdose, so put them down cleanly first.

Sedative (silent KO)

A sedative (repurposed sleeping pills, 3 uses). Sneak up behind a target (or catch them asleep) with nobody watching and put them out cold, no violence, no marks. This is how you set up a clean forged accident, and how you satisfy the "No Violence" objective. Knocked-out bodies stay down about 3× longer than a vanilla takedown, long enough to drag.

Restraint: handcuffs, tape & moving people

Not every job ends the instant you reach the target. Handcuffs (a vanilla item) now hold a citizen for about 5 in-game hours, and the Duct Tape from the Supplies app binds and gags a target for about 3 in-game hours, silencing their screams and barks. Tape works on anyone already helpless (asleep, knocked out, or already restrained) from any angle, or on a conscious mark from behind; hold to apply (a progress bar, like the cuffs), and re-tape to refresh the hold.

Once someone is restrained (cuffed or taped) and still conscious, hold G while aiming at them to walk them along with you: march a captive into a private room and deal with them out of sight. You move slowly while dragging. (Knocked-out bodies still use the corpse-drag / G-heave for a forged fall.)

Be careful where you tie someone up. Binding a victim (or hauling one) through a public space where someone can see them draws attention: a bystander panics and phones it in (enforcers arrive shortly after), an on-duty enforcer investigates on sight, and one who catches you mid-restraint comes after you. A private room (an apartment, a back room) stays completely silent, so a captive stashed out of sight is safe. Nobody ever frees the victim: the risk is the law turning up, not a jailbreak.

Forge a fall

No item needed. Drag a knocked-out body to a stairwell, rooftop, or window, then walk it off the edge or press G to heave it over. A fall of at least 6 metres kills on impact, and the death is re-staged at the landing spot, ruled an accident if you're never identified. The same G heave also throws an already-dead body: no accident to fake, just a way to pitch a corpse out of sight.

Melee & cripple

Any blunt or bladed weapon works the usual way (blunt knocks out faster, blades slower). Any non-lethal hit also cripples the target: they limp at a fraction of speed for a while, so a runner can't get away.


Getting away with it: the investigation

Every kill you make opens a crime scene, and the game investigates it exactly like one of its own murders. Beating that investigation is the real game.

Witnesses

Anyone who sees the kill, or sees you inside the victim's home afterward, becomes a witness. They don't report instantly: they take a couple of hours to reach the authorities (a bystander who didn't know a crime happened only comes forward once the body is found). Kill or knock them out before their report lands and their testimony dies with them. An unmasked witness who reports names you outright: a guaranteed warrant.

Security cameras

Cameras are witnesses you can't knock out. A camera that sees the kill, or catches you inside the scene, identifies you outright. A camera that only catches you in the hallway near the scene just raises suspicion (and only within a couple of hours of the kill). Two things to know:

  • Darkness defeats cameras. Standing in the dark shrinks how far a camera can see you, using the game's own stealth model, but only down to point-blank (~0.75m always catches you), and turning on your flashlight or running gives you away completely.
  • Your own home's cameras never count against you.

Fingerprints

Touch something and you leave a print: on doors, switches, furniture, the murder weapon. At a cold-case review, the game tallies the prints still at the scene: enough of them (or a printed murder weapon left behind) makes a positive ID.

  • Public places don't count. Streets, lobbies, landings, and open shop floors have too much foot traffic: your prints there are meaningless. But a home is always private (even with a guest pass), and secured back rooms always matter.
  • Second Skin (gloves). Bought from the Supplies app (available from Level 3, 5,000cr). Once bonded at a sync clinic, you leave no prints at all, including on weapons. There's no toggle; installed means active.
  • The Fingerprint Remover. A cheap spray (available from the start). Hold it, look at something you've touched, and use it to wipe your prints clean (50 wipes per can). The Print Scanner and an on-screen cue show you exactly what you've tainted in a room.

The verdict, the mole, and residual heat

If nobody names you and the forensics fall short, the case goes cold and your prints there are wiped. If you left almost enough to get caught, a mole may v-mail you a tip about what nearly burned you. Too many messy-but-cold kills pile up on a hidden Residual Heat meter; at 80% the Syndicate offers you a "Loose Ends" heist to steal the evidence folder from an enforcer office and clear it. Ignore it and at 100% the old cases land on the right desk (fines, and a fresh warrant), and any of those reopened cases you had signed with a calling card gets its moniker burned too.


Consequences: the warrant & the manhunt

Get identified and the city comes for you.

  • The warrant. A murder charge issues a warrant (default 48h). A persistent WANTED banner shows the countdown and any fines you owe.
  • The hunt. By default only enforcers who actually see you give chase, no city-wide psychic manhunt. Break line of sight and they lose you.
  • The home raid. Enforcers hit your home once per warrant. If a murder weapon is left there, it's seized and fined. If your cruncher is on and logged in, they pull your files: extra fine and a rep hit. If your calling cards are there, every persona on them is unmasked and pinned to you (see the calling card). Log out, put your weapon away, and don't leave signed cards at home before you run.
  • Caught carrying. Get downed while wanted with a murder weapon on you and it's confiscated and surcharged. A weapon you're only carrying is safe from the raid itself, though; hiding through a raid keeps whatever's in your pockets.
  • "Arrest" = getting knocked out while wanted. There's no arrest animation: you wake in hospital, your fines are collected (leaving you a few credits), and the warrant clears. Unpaid fines persist forever; call the Dispatcher to settle them early for 60% anytime before capture.
  • Safehouse breach. Flee into your own locked home while being chased and enforcers will breach it once: your apartment isn't a magic safe zone.

The mask: "False Face"

The False Face sync disk is sold in the Supplies app from Level 1 (3,500cr). Bond it at a sync clinic, then toggle it with N.

  • While worn, no witness, enforcer, or camera can name you: they can only describe "a masked figure." Scenes stay Suspicious, never escalate straight to a warrant.
  • It's not magic. The mask fools eyes, not forensics: prints and weapons still point to you. And a covered face makes people nervous.
  • Don't unmask in front of a live witness/camera of an open case: it retroactively puts your name on the account.
  • Notoriety. Every masked crime that's seen (a kill, and now also a punch, a break-in, a theft, a trespass) builds your masked persona's infamy, and simply wearing the mask around people in a public place nudges it up on its own. It fades slowly while you lie low. At high notoriety, enforcers start giving the mask a wary "stop and look." One slip (getting busted masked, or unmasked on camera mid-case) pins the accumulated masked spree onto your real identity. A Persona Wipe service (Supplies app) resets it.

The calling card

The mask hides your name; the calling card lets you make one. Buy blank cards from the Supplies app (from Level 1), ink a moniker of your own once at the Syndicate app's CALLING CARD row, and leave a card on a body. The paper then names the killer by your mark instead of inventing a nickname, and builds a "who is this?" story around the persona you're growing.

  • Take it back and it never happened. Grab the card off the scene before the body is found and the claim is cancelled cleanly, and the card goes back in your stash to reuse. After discovery the claim is permanent.
  • It's evidence. A bare-handed card carries your fingerprint (the Second Skin gloves stop that). And a signed card still on a forged "accident" when the body is found blows the cover: the death becomes an open murder.
  • Getting caught burns the name. If a signed kill is ever pinned to you, the moniker is burned forever ("[name] HAS A NAME"), and you can never sign with it again. Unmask a second persona and the paper links both to you ("TWO MASKS, ONE HAND") for extra heat.
  • Changing your mark costs 1,000cr (the first is free) and can't be done while a scene is open. A voluntary change never burns the old name; only getting caught does.
  • Two ways your cards betray you: a home raid that finds them pins every persona on those cards at once, and if the Residual Heat file maxes out with a signed cold case in it, that persona burns too.

Tools, apps & phone lines

All Syndicate apps live on your home cruncher only.

  • Syndicate app: the store (buy social standing, read your status) and, at Level 3, the contract board.
  • Supplies app, the underworld arsenal: guns, ammo, blades, poison, tools, and the mask/gloves sync disks, delivered by courier to your door (~1h). Discounted below street price and gated by your level.
  • Groceries app: food, drink, and all medical items, delivered for a small markup.
  • Anonymous Tip Line (in your phonebook from the start): call in a body you've hidden to get it found sooner. It only speeds up discovery; it doesn't clean anything. Handy for pulling a forged-accident payout forward.
  • The Dispatcher, your line to the fixer: check in (onboarding), pull a job early, go off the books to pause new contracts, or (if you own more than one home) move your operations base (below).

Multiple homes. Own more than one place? One of them is your operations base: where reward sync disks are couriered, where an enforcer home raid comes looking, and where auto-assigned contract kit is delivered. Move it any time via the Dispatcher → "Move my operations base." Contracts you accept off the Level-3 job board deliver their kit to the home you accepted them at, and Supplies / Groceries orders arrive at whichever home's cruncher you ordered from, so each home runs its own errands. With a single home, none of this changes anything.

The newspaper

The city paper runs the fallout: bodies found, manhunts, "death ruled an overdose/accident," crime waves, records stolen, suspect in custody. Your work makes headlines with the real names and places.

HUD

A cluster along the top of the screen shows your Syndicate level and a table of your open crime scenes (top-left: undiscovered / under investigation / going cold), your mask status (top-right: the badge doubles in size when worn), and the heat meter (top-center). The WANTED banner and fines line appear when relevant. All of it can be turned off in config.


Compatibility

The Syndicate patches the game's murder, evidence/fingerprint, crime-scene, enforcer, newspaper, and pricing systems deeply. Use that to judge what it will and won't play nicely with.

Generally safe alongside:

  • Standalone cruncher apps (e.g. RealEstateCruncherApp), map/UI/QoL tweaks, cosmetic mods: anything that doesn't touch murders, evidence, or enforcers.
  • DialogUIRework (PiePieOnline): supported; the Dispatcher phone menu (and its change-base submenu) works with that mod's tabbed dialog UI.
  • Most content that adds items or places, as long as it doesn't rewrite the crime system.

Likely to conflict, avoid running together:

  • Other kill / weapon mods, or anything that changes how the player deals lethal damage: they fight The Syndicate's shared kill pipeline.
  • Murder, evidence, forensics, or case/investigation mods: The Syndicate runs its own crime-scene, fingerprint, and warrant logic and will overlap or double up with them.
  • Mods that change the fingerprint/print system specifically.

Heads-up (works, but be aware):

  • The Syndicate applies a global price multiplier to guns, ammo, and gear at load: it affects every vendor, not just its own shop. If you run another economy/pricing mod, the two multipliers stack. Tune [Supplies] multipliers to taste.

When in doubt on a beta: test a new combination on a throwaway save first.


Configuration

Everything is tunable in BepInEx/config/Kropath.TheSyndicate.cfg (editable by hand, or in-game with the BepInExConfigManager plugin). A few knobs people reach for first:

  • [Supplies] GunPriceMultiplier / AmmoPriceMultiplier / GearPriceMultiplier: global prices too high/low? Set them here.
  • [ContractEconomy] ContractBasePayout: scale all contract pay.
  • [Manhunt] WarrantDurationHours, [Enforcers] MurderFineAmount: how punishing getting caught is.
  • [Enforcers] HuntMode: EnforcerPursuit (only enforcers who see you) or GlobalIllegal (vanilla city-wide wanted).
  • [Debug] Enabled: leave off for normal play (see below).

[Debug] Enabled (default: false). Developer mode. Off, the mod runs normally and keeps citizen names/addresses out of the log file. On, it enables an in-game debug/test overlay and verbose logging. Normal players should leave this off.

Full configuration reference (every key)

[Manhunt]

Key Default Meaning
WitnessReportMinHours 2 Min in-game hours a witness takes to report a murder
WitnessReportMaxHours 2 Max in-game hours a witness takes to report
WelfareMinHours 24 Min hours before an unseen body is found by a welfare check
WelfareMaxHours 48 Max hours before a welfare check finds an unseen body
SceneColdHours 8 Hours a discovered-but-unsolved scene stays open before going cold
WitnessInterviewHours 2 Hours after the official report before pending witnesses are interviewed
WarrantResolveHours 2 Grace hours after a positive ID before the hunt actually begins
WarrantDurationHours 48 How long an issued warrant stays active
RequirePlayerInsideScene true Only count scene witnesses when you're physically inside the scene apartment
BodyDiscoveryRequireLineOfSight true Require a line-of-sight ray for an NPC in another room to spot a body
WelfareRaidEnabled true Dispatch an enforcer welfare check when the welfare window lapses
WelfareRaidDelayHours 0.25 In-game hours between the welfare call and enforcers setting out
WelfareRaidForceCrimeScene false Pre-flag the welfare response as a crime scene

[Evidence]

Key Default Meaning
FingerprintIdHeatThreshold 25 Total fingerprint heat at a scene that alone forces a positive ID
FingerprintIdCountThreshold 4 Distinct fingerprinted objects that alone force a positive ID
FingerprintMinHeat 3 Minimum random heat weight per fingerprint left
FingerprintMaxHeat 12 Maximum random heat weight per fingerprint left
SuppressNativePlayerPrints true Hide the game's always-on native player fingerprint on owned/carried items

[Heat]

Key Default Meaning
ResidualHeatEnabled true Master switch for the cumulative residual-evidence heat meter
ResidualHeatPerMurderMax 0.20 Max fraction a single cold-but-messy murder can add to the meter
HeistOfferThreshold 0.80 Meter level at which the heist offer fires (clamped 0.10-0.95)
ResidualFinePerMurder 1000 Fine per murder that fed the meter once it hits 100%
ResidualWarrantAt100 true Also issue a warrant at 100% meter, alongside fines
MoleEmailEnabled true Send a mole v-mail itemizing what fed the residual heat when a case goes cold

[Heist]

Key Default Meaning
Enabled true Enable the "Loose Ends" evidence-folder heist at ~80% meter
BackroomPercent 80 Chance (%) the folder spawns in the secure backroom vs a desk (0-100)
FolderPreset "SealedEnvelope" Item preset spawned as the stealable evidence folder (blank = auto)

[News]

Key Default Meaning
Enabled true Enable custom front-page newspaper stories + ticker headlines
FreshHours 48 Hours a Syndicate news beat stays eligible for the front page
RoundupWindowDays 3 Day window the "crime wave" round-up story counts kills over
RoundupMinKills 3 Min distinct victims in the window before the round-up story runs
SecondaryStory true Allow a second Syndicate beat in the article-2 slot

[MaskNotoriety]

Key Default Meaning
Enabled true Master switch for the masked-persona notoriety system
DecayPerDay 0.08 Notoriety lost per in-game day of lying low
PublicWearPerHour 0.02 Notoriety gained per in-game hour worn in a public place with people around
IncidentBase 0.15 Base notoriety added per masked crime that's seen
IncidentMax 0.40 Cap on notoriety from a single masked incident
WitnessWeight 0.15 Added fraction per witness beyond the first (capped at 4 extra)
PublicPlaceMult 1.5 Multiplier when the masked crime is in a public place
DaytimeMult 1.25 Multiplier when the masked crime is in daytime
NerveDrainMult 4 Extra nerve-drain multiplier at full notoriety for civilians who see the mask
RedisguiseCost 2500 Cost of a "Persona Wipe" from the Supplies app
RedisguiseDrop 1.0 Notoriety removed per Persona Wipe (1.0 = full reset)
RedisguiseClearsHistory false Whether a Persona Wipe also erases masked-incident case files
MergeMinColdShare 0.25 Share of the cold masked spree merged onto you on a slip at zero notoriety
MergeFineBasePercent 50 Per-merged-incident fine as % of the murder fine at zero notoriety
MergeFineNotorietyPercent 50 Additional per-incident fine %, scaled by notoriety
BustedDestroysMask true Getting busted while masked confiscates the mask disk
EnforcerSoftStopEnabled true Enforcers give a soft "stop and look" at high notoriety
EnforcerSoftStopThreshold 0.5 Minimum notoriety before enforcers start eyeing the mask
EnforcerSoftStopRange 12 Metres within which a seeing enforcer reacts to the notorious mask
EnforcerSoftStopCooldownSeconds 90 Per-enforcer cooldown between soft-stop looks
NonLethalEnabled true Seen NON-lethal masked crimes (assault/theft/break-in/trespass) also raise notoriety
NonLethalIncidentMax 0.12 Cap on notoriety from one seen non-lethal masked incident (well under a kill's)
NonLethalCooldownSeconds 20 Fold window: a witnessed masked crime spree at one place counts once per this many seconds
NonLethalAssaultMult 0.40 Non-lethal severity multiplier for a masked assault
NonLethalBreakingAndEnteringMult 0.22 Non-lethal severity multiplier for a masked break-in
NonLethalTheftMult 0.15 Non-lethal severity multiplier for a masked theft
NonLethalTrespassingMult 0.08 Non-lethal severity multiplier for a masked trespass

[Echelons]

Key Default Meaning
RepairEchelonFloors true Repair high-security "echelon" floors' stale trespass flag on load (vanilla bug fix)

[Cripple]

Key Default Meaning
Enabled true Non-lethal hits make an NPC limp for a while
SpeedMultiplier 0.3 Speed fraction while crippled (clamped 0.05-1)
DurationSeconds 90 Real seconds a cripple lasts
BloodTrailEnabled true Crippled NPC leaves a light blood-drip trail (visual only)

[Cameras]

Key Default Meaning
Identify true Cameras that see the murder or you inside the scene identify you outright
NearSceneHeat 15 Heat added when a common-area camera catches you unmasked near a scene
NearSceneFreshWindowHours 2 Hours post-kill a common-area camera sighting still adds suspicion (0 = always)
SweepEnabled true Dispatch a brief enforcer sweep to where a wanted/masked player was camera-spotted
RespectDarkness true Cameras honor the game's own light/stealth model (darkness can defeat detection)
ForgeViolenceHeat 10 Investigation heat added when a forged death is staged over a beaten body

[Hud]

Key Default Meaning
ClusterEnabled true Show the Syndicate HUD cluster (mask, level, heat)
SceneTableEnabled true Show a table of open crime scenes under the level badge

[Enforcers]

Key Default Meaning
HuntMode EnforcerPursuit How enforcers turn hostile while wanted (EnforcerPursuit / GlobalIllegal)
PursuitResponseRange 5 Response range for recruiting additional enforcers on acquisition
PursuitMaxDistanceMeters 50 Max distance to consider an enforcer for the per-tick sight check
PursuitRequireLineOfSight true Require a physical line-of-sight ray before an enforcer/witness sees you
MurderFineAmount 2000 Credits added to the fine ledger per identified murder
IllegalRefreshSeconds 30 Seconds the "illegal" hunt flag lasts per refresh while warranted
StakeoutEnabled true Send enforcers to your home on a warrant
HomeRaidDelayHours 0.05 In-game hours before enforcers set out for your home
StakeoutGuardHours 24 Game-hours per guard-duty shift at your home
StakeoutForceCrimeScene false Dispatch the home raid as a crime scene (tape + guard)
RepPenaltyOnIdentifiedContract 25 Rep docked for being identified killing a Syndicate contract target
RepPenaltyOnIdentifiedRandom 10 Rep docked for being identified on a non-contract kill
HitmanLevelPenaltyOnIdentified 0 Reserved hitman-level knock on being identified (0 = off)
RepMessageDelaySeconds 20 Delay before the "standing took a hit" toast
SafehouseBreachEnabled true Dispatch one breach+sweep when hunters see you flee home during a warrant

[Fines]

Key Default Meaning
FineMinimumBalance 5 Credits always left in pocket when fines are collected
FineEarlyPayoffPercent 60 Percent of total owed to settle fines early, before capture
RaidWeaponSeizureEnabled true Home raid seizes a found murder weapon and surcharges its fine
RaidWeaponSurchargePercent 50 Surcharge % of the murder fine per seized weapon
CarryWeaponSeizureEnabled true Confiscate a carried murder weapon and surcharge its fine if busted
CarryWeaponSurchargePercent 50 Surcharge % per confiscated carried weapon
CruncherRaidPenaltyEnabled true A raid finding your cruncher on & logged in surcharges the fine and docks rep
CruncherRaidSurchargePercent 25 Cruncher-exposure fine surcharge %
CruncherRaidRepLoss 5 Rep docked for cruncher exposure during a raid

[Contracts]

Key Default Meaning
RepPenaltyOnContractCancel 5 Rep docked for cancelling an active contract
CaseBoardEnabled true Give each accepted contract a pinboard case
AutoCollectHours 24 Hours after payment becomes collectable before the fixer auto-wires it
AutoAssignMaxLevel 2 Highest Syndicate level at which the fixer auto-assigns contracts
MaxConcurrentContractsL3 3 Max active contracts once the L3 board unlocks
OfferBoardSize 8 Number of offers the L3 board holds (1-8)
RefreshBoardCooldownHours 6 Hours between manual board refreshes
OfferLifetimeHours 48 Hours an un-accepted listing stays before being replaced
ContractCooldownHours 12 Hours after a contract closes before the next auto-assigned job
FirstContractDelayHours 1 Hours after becoming eligible before the first auto-assigned contract
DeadlineHours 48 Hours the optional deadline objective allows (min 24)
CloseToastEnabled true Show a toast after a contract closes telling when the next job lands
EnableNoViolenceObjective true Allow forge jobs to carry the optional "no signs of violence" bonus
NoViolenceChancePercent 35 Percent chance a forge job carries the no-violence bonus

[TipLine]

Key Default Meaning
Enabled true Enable the anonymous tip line to call in a hidden body sooner
Number 9008477 The tip line's phone number ("900-TIPS")

[PauseLine]

Key Default Meaning
Enabled true Enable the Dispatcher line
Number 9007378 The Dispatcher's phone number ("900-REST")

[Onboarding]

Key Default Meaning
Enabled true Master switch for the onboarding flow (intro v-mail, gated contracts, check-in)
FirstJobAfterActivationHours 2 Hours after check-in before the first contract lands (0 = immediate)
CheckInReminder1Minutes 30 Minutes after the intro v-mail before the first check-in reminder
CheckInReminder2Minutes 60 Minutes before the second/final check-in reminder

[ContractEconomy]

Key Default Meaning
ContractBasePayout 900 Base of the payout formula (payout = base × difficulty × info × bonuses)
DiffMultT2 1.7 Difficulty multiplier for Tier 2 contracts
DiffMultT3 2.8 Difficulty multiplier for Tier 3 contracts
InfoMultPartial 1.5 Payout multiplier for a partial-lead offer
InfoMultCold 2.2 Payout multiplier for a cold-lead offer
InfoFullPctT1 60 Tier-1: percent of offers with a full dossier
InfoPartialPctT1 40 Tier-1: percent with a partial lead
InfoFullPctT2 40 Tier-2: percent full
InfoPartialPctT2 45 Tier-2: percent partial
InfoFullPctT3 15 Tier-3: percent full
InfoPartialPctT3 50 Tier-3: percent partial
InvestigationBias 0 Global shifter toward Full vs Partial/Cold offers (−50..50)
ObjChanceZero 45 Percent of contracts with zero optional objectives
ObjChanceOne 40 Percent with exactly one optional objective
BonusClean 0.25 Payout fraction for the clean/no-ID objective
BonusDeadline 0.2 Payout fraction for meeting the deadline
BonusPhoto 0.3 Payout fraction for the photo-of-body objective
BonusSuicide 0.5 Payout fraction for the forge-accident objective
BonusPoison 0.35 Payout fraction for the poison-kill objective
EnablePhotoObjective true Allow the photo-of-body objective to roll
EnablePoisonObjective true Allow the poison-kill objective to roll
EnableSuicideObjective true Allow the forge-accident objective to roll
EnableDisposalObjective true Allow the weapon-disposal-at-sea term to attach
DisposalContractPercent 25 Percent of eligible contracts carrying the sea-disposal term
DisposalPenalty 0.45 Fraction of the base fee lost for keeping the weapon instead of dumping it
DisposalMinLevel 0 Lowest Syndicate level at which the sea-disposal term attaches
DisposalWeaponList Syringe,KitchenKnifeLarge,CombatKnife,Truncheon,BasBouleBat,VintageSword,Katana Presets that may be issued for a sea-disposal job
EnableFallForge true Allow the forge-accident objective to roll its "forge a fall" variant
FallVariantPercent 40 Percent of forge-accident jobs using the fall variant
BonusNoViolence 0.3 Payout fraction for a forge kill with no signs of violence

[Fall]

Key Default Meaning
FallKillsEnabled true Enable fall-damage kills from dragging a KO'd citizen off a height
LethalFallHeight 6 Metres a dragged body must fall to die
HeaveKey G Key to heave a dragged KO'd body in the look direction (None = disabled)
HeaveSpeed 6 Launch speed (m/s) of a heaved body
DragLiftAssist 0.8 Lift assist (0-1) while dragging a KO'd body
FallSceneAtLanding true Re-anchor the crime scene to where the corpse comes to rest
FallAntiSnagEnabled true Give a mid-air-snagged falling body a downward shove
FallAntiSnagForce 6 Downward shove speed (m/s) to dislodge a snagged body

[Cleanup]

Key Default Meaning
HomeVacateEnabled true Quietly vacate an away-killed victim's home after a delay
HomeVacateDelayHours 24 Hours after case resolution before the empty home is vacated

[Combat]

Key Default Meaning
KODurationMultiplier 3 Multiplies rolled-KO duration (vanilla base ≈1 in-game hour)
BluntKOMultiplier 1.6 Scales blunt-weapon per-hit damage (fewer hits to KO)
BladeKOMultiplier 0.6 Scales bladed-weapon per-hit damage (more hits for a non-lethal KO)

[Progression]

Key Default Meaning
Level1Rep 20 Rep needed to reach Level 1
Level2Rep 50 Rep needed to reach Level 2 (also the Tier-2 boundary)
Level3Rep 100 Rep needed to reach Level 3 (also the Tier-3 boundary)
Level1Reward 500 Credits paid on first reaching Level 1
Level2Reward 1500 Credits paid on first reaching Level 2
Level3Reward 4000 Credits paid on first reaching Level 3

[SocialCredit]

Key Default Meaning
SocialCreditPerToken 350 Native social credit gained per standing purchase
SocialCreditPurchaseMoneyCost 500 Credits charged alongside the hit token per purchase

[Supplies]

Key Default Meaning
Enabled true Enable the Syndicate Supply app
DiscountPercent 20 Discount % off an item's street value (0-90)
DeliveryHours 1 Hours from checkout to courier delivery
GroceriesEnabled true Enable the bonus Groceries delivery app
GroceriesMarkupPercent 10 Delivery markup % on grocery items (0-500)
GearPriceMultiplier 3.0 Global price multiplier on the non-gun/non-ammo gear bucket
AmmoPriceMultiplier 3.0 Global price multiplier on ammunition
GunPriceMultiplier 7.0 Global price multiplier on firearms
SyncDiskAppPrice 5000 Flat Supplies-app price of the Second Skin (gloves) disk
MaskDiskAppPrice 3500 Flat Supplies-app price of the False Face (mask) disk

[Firearms]

Key Default Meaning
Enabled true Enable player weapon-firing
HeadshotLethal true A headshot with any gun kills outright
HeadshotRadius 0.35 Metres a bullet must land near the head anchor to count as a headshot
HeadshotDebug false Diagnostic per-pellet headshot logging
OneShotWeapons Shotgun,SniperRifle Gun presets whose body shot kills outright
Accuracy 1.0 Aim precision (0-1)
MinFireCooldownSeconds 0.4 Floor under the native per-weapon fire cadence
ConsumeAmmo true Require and consume one matching ammo item per shot
SpawnCasings true Leave a spent casing (carries your print if ungloved) per shot
FireKey None Optional alternate fire key (normally: hold right-mouse to aim, then left-click to fire)
MeleeKey None Optional key to pistol-whip with a held firearm
Recoil 15 Camera recoil kick per shot
PoseLab false Debug-only first-person pose tool
ReloadKey R Key to reload the held gun
ReloadSeconds 2.5 Seconds a reload takes
MagazineSizes (per-gun list) Per-gun magazine capacity (unlisted gun → 8)
AmmoBoxSizes (per-box list) Rounds per ammo box (unlisted box → 12)
AmmoHud true Show a magazine/reserve readout while a gun is drawn
AutoFireWeapons BattleRifle Guns that fire full-auto while holding fire
AutoFireIntervalSeconds 0.12 Seconds between shots for an auto weapon
AutoRecoilScale 0.4 Recoil multiplier for auto weapons
ShotgunPellets 6 Pellets per shotgun shell
ShotgunSpread 0.06 Shotgun pellet spread (0 = none)
ShotgunLethalPellets 3 Pellets that must strike one citizen for a lethal shotgun hit
ShotgunAmmoSwitchKey B Key to switch shotgun shell type (buckshot/slug)
DrawnGunDread true Nearby citizens lose nerve near a drawn gun
DrawnGunNerve -0.05 Nerve drained per tick from nearby citizens while a gun is drawn
DrawnGunRange 8 Range (m) citizens feel drawn-gun dread
GunshotsAlarm true Gunshots alarm citizens who hear them
AlarmExemptGuns SemiAutomaticPistolSilenced Guns whose shots don't alarm hearers
GunshotSpook 0.2 Min nerve drop for hearing a gunshot
RoomTurnOnHit true A non-lethal gunshot rouses the victim's whole room to pursue you
RoomTurnRange 10 Range (m) whose occupants turn on you
InteractYieldDistance 2 Distance an interactable under the crosshair yields the trigger-pull to interaction
SniperZoomEnabled true Sniper rifles get a variable scope zoom while aiming (scroll to change)
SniperZoomMin 2 Minimum scope magnification
SniperZoomMax 8 Maximum scope magnification
SniperZoomReadout true Show a 4.0x magnification readout by the crosshair while scoped
BulletRangeFloor 500 Minimum shot range (m) for any gun: floors the short native bullet range (this is what capped the sniper)
EnforcersUnfazedByDrawnGuns true Enforcers (on or off duty) don't lose nerve from seeing your drawn gun

[Mask]

Key Default Meaning
ToggleKey N Key to toggle the False Face mask
ScareCivilians true Nearby civilians lose nerve while the mask is worn
ScareNerve -0.02 Nerve drained per tick from nearby civilians while masked
ScareRange 8 Range (m) civilians feel masked-figure dread
ScareEnforcers false Whether the mask scare also unnerves enforcers
MaskedDescriptionHeat 12 Heat added once per scene when a masked witness reports
UnmaskInViewIdentifies true Unmasking while a witness/camera of an open case watches converts them to a positive ID

[Poison]

Key Default Meaning
Enabled true Enable the poison items (syringe + vial)
SyringeDoses 3 Kills per syringe before it's spent
VialDoses 1 Forced overdoses per vial
UseRangeMeters 2.0 Reach (m) for aiming the syringe/vial
PromptOverride true Swap the interaction prompt to "Inject"/"Force-feed"
UseCooldownSeconds 1.2 Min real seconds between poison uses
SyringeKillDelayGameMinutes 5 In-game minutes a conscious syringe target stays alive (0 = instant)
SyringeStaggerDrunk 0.6 Stagger amount applied at the jab (0-1)
ForgeDelayMinutes 10 In-game minutes between vial force-feed and overdose death

[Fingerprints]

Key Default Meaning
RemoverCharges 50 Charges in one Fingerprint Remover (spent only on a wipe)
RemoverPreset "CleaningSpray" Vanilla item preset the remover reuses
WipeRangeMeters 2.0 Reach (m) to wipe prints off an object
NoPrintPresets "DoorUnderneathPeek" Interactable presets that never leave a print (peek/observe actions)

[Sedative]

Key Default Meaning
Enabled true Enable the sedative stealth-KO item
Preset "Sleeping Pills" Vanilla item preset the sedative reuses
UseRangeMeters 2.0 Reach (m) to apply the sedative
BehindDot -0.25 How far behind the target you must be (lower = stricter)
Doses 3 Stealth takedowns per sedative pack
PromptOverride true Prompt reads "Sedate" when a clean takedown is available

[Restraint]

Key Default Meaning
HandcuffDurationHours 5 In-game hours a handcuffed citizen stays restrained
DuctTapeEnabled true Enable the Duct Tape bind-and-gag item
DuctTapePreset "DuctTape" Vanilla item preset the duct tape reuses
DuctTapeCharges 10 Uses per roll of duct tape
DuctTapeRestrainHours 3 In-game hours a taped citizen stays bound and silenced
DuctTapeRangeMeters 2.0 Reach (m) to apply the tape
DuctTapeBehindDot -0.25 How far behind a conscious target you must be to tape them (lower = stricter)
TapePromptOverride true Prompt reads "Bind" when a tape is available
DuctTapeBindSeconds 3 Hold time (s) to complete a tape bind
PublicReactionEnabled true Citizens/enforcers react to a victim you restrained in a PUBLIC space (private rooms stay silent)
PublicReactionEnforcersOnly false Only on-duty enforcers react to a bound victim in public (civilians ignore it)
PublicReactionCallDelayHours 0.15 In-game hours between a civilian spotting the bound victim and enforcers setting out
PublicReactionCaughtHeat 10 Heat added the first time an enforcer catches you binding someone in public
EscortEnabled true Enable dragging a restrained (conscious, non-KO) citizen
EscortHotkey G Key held to drag a restrained citizen
EscortFollowDistance 1.5 How far behind you (m) the dragged citizen trails
EscortSpeed 3.5 How fast the dragged citizen keeps up (m/s)
EscortMaxDistance 12 Drag auto-drops if the citizen ends up farther than this (m)
EscortPlayerDragSpeed 0.65 Your movement-speed fraction while dragging

[Protection]

Key Default Meaning
ProtectFiniteNPCs true Enforcers are never killable (a lethal hit becomes a KO); landlords stay off the contract board (but are killable). Off = both fully killable and targetable
ProtectLastCompanyWorker true A company's last living employee is never offered as a contract target

[General]

Key Default Meaning
SightCheckIntervalSeconds 1.5 Seconds between crime-scene perception/report checks
VerboseLogging false Emit detailed diagnostic logging (turn on for a bug report)
MessageGapSeconds 4 Min seconds between consecutive on-screen toasts

[Debug]

Key Default Meaning
Enabled false Developer mode: enables an in-game debug overlay and full logging. Leave off for normal play.

Reporting a bug

  1. Set [General] VerboseLogging = true in the config (and, if you can reproduce it, [Debug] Enabled = true for extra detail).
  2. Reproduce the issue.
  3. Grab BepInEx/LogOutput.log and a description of what happened and what you expected.
  4. Post it on the mod's Thunderstore page or the Shadows of Doubt modding Discord.

Tell me your build, your other installed mods, and whether it happens on a fresh save.


Credits

The Syndicate is built on BepInEx and SOD.Common (Venomaus). Shadows of Doubt is by ColePowered Games. Thanks to the Shadows of Doubt modding community.

Thanks to suggestions on the Reddit threads, specially /u/Marcipan424!


License

The Syndicate is source-available, not open-source. You're welcome to download and play it, read and learn from the source, and tinker with it locally, but please don't re-upload, repackage, or republish it (or a modified version) anywhere without permission. Install it only through the official Thunderstore listing or a mod manager. Full terms in LICENSE.md.


Enjoy the work. Tidy up after yourself: cold is fine, a trail is not.

CHANGELOG

Changelog

All notable changes to The Syndicate are recorded here. Newest version on top.

0.9.72 (2026-08-17): Clock reliability fix

Fixed

  • Crime scenes and warrants no longer get stuck on a timer that never counts down. A game clock the mod read time from could report the wrong day of the month, so any deadline measured against it could drift by whole in-game weeks and never elapse. In practice that showed up as a crime scene frozen on a huge investigation time (for example "INV 171h") that never finished, which in turn held back the contract objective and payout tied to that kill, and as a warrant that never expired. The mod now reads the reliable in-game clock everywhere it tracks time, so investigations run down and close on schedule, held-back contract payouts are released, and warrants lapse when they should.
  • Saves that are already stuck heal themselves on load. If a scene or warrant was frozen under an older version, loading the save on this version lets the stuck scene resolve on its own, ticks over and pays the contract attached to it, and expires any stale warrant. No new save is required.

0.9.71 (2026-08-17): Cloud-synced saves

Fixed

  • Your Syndicate progress now travels with your save and through Steam Cloud. Until now the mod kept its state (rank, gear, contracts, heat, calling-card history) in a companion folder that Steam Cloud did not sync, so moving a save to another PC, or letting Steam Cloud restore one, reset you to Level 0. The mod now stores its state inside the save file itself, so it rides the game's own cloud sync and copies between machines automatically, with no manual folder-copying. Saves made before this update are migrated automatically on their next load: the old companion file is read once, folded into the save, and retired (renamed to …syndicate.json.migrated.bak), so nothing is lost.

0.9.7 (2026-08-17): The Calling Card

Added

  • The Calling Card: sign your work. Buy blank calling cards from the Supplies app (from Level 1), ink a moniker of your own once at the cruncher's Syndicate app, and leave a card on a body. The city paper then names the killer by your mark instead of inventing a serial-killer nickname, and runs a "who is this?" story about the persona you are building. Grab the card back before the body is found and the claim vanishes cleanly. But if a signed murder is ever pinned to you, that moniker is burned for good: the press prints "[name] HAS A NAME", and you can never sign with it again. Unmasking a second persona links both names to you publicly ("TWO MASKS, ONE HAND") and adds heat. Your first mark is free; changing it later costs 1,000cr and never burns the old name (only getting caught does). A card left on a body also carries your fingerprint unless you wear the Second Skin gloves, and it converts a forged "accident" back into an open murder if it is still on the body when it is found.
  • A home raid can unmask you. During a warrant home raid, if enforcers find your calling cards at the home they raid, every persona whose card is there is pinned to you at once: fines, an extended warrant, and the moniker burned. Only the personas on the cards they actually find fall; kills signed under a different mark, whose cards are elsewhere, stay anonymous. Do not stockpile signed cards where they can search.
  • The residual-evidence file can name you. When the hidden Residual Heat meter fills to 100% and the cold cases it reopens include a signed one, that persona is now unmasked and its moniker burned along with the fines and warrant, not merely re-charged.

Changed

  • A living city newspaper. The paper now reports the full arc of your work: obituaries that name who found the body, how, and the apparent cause of death; coroner rulings ("ruled an overdose", "ruled an accidental fall"); cold-case write-ups when a trail stalls; a "masked figure sought" when you are seen but not identified; a serial-killer profile once a pattern forms; your signed claims and the moment a name is burned; the manhunt (WANTED, an arrest, or a lapsed warrant); and city-wide crime-wave and repeat-address stories. You can now scroll the mouse wheel while reading to page back through older editions, and the front page stays consistent so nothing important is silently dropped.
  • Throw a corpse, not just a knockout. The G heave now works on an already-dead body too, so you can pitch a corpse out a window or off a ledge to get it out of sight (no faked accident, just a physics throw).
  • Every notification runs through one queue. All of the mod's pop-up messages are now spaced and grouped so they never overlap or pile up.

Fixed

  • Guns work again after using a cruncher mid-rename. Opening the moniker editor, hitting a rejection, and walking away without closing the app could leave the typing guard stuck, which silently killed all firearm actions (fire, reload, ammo and slug switching) until a reload. The guard now clears itself the instant you leave the cruncher.
  • Hiding through a home raid keeps the weapon you are carrying. A raid was wrongly seizing a murder weapon out of your inventory while you hid at home. Carried weapons are only taken on an actual bust now; only a weapon left lying at home is seized in the raid.
  • A fast witnessed kill now prints its obituary. When a witness identified you almost immediately, the "body found" story was being suppressed in favour of the WANTED story and never printed. A fresh obituary now runs alongside the manhunt.
  • Paying a murder's bounty fully settles it. Settling or fully paying a murder's fine now stops that murder's weapon and cards from incriminating you later, so you can no longer be re-fined for a bounty you already cleared.
  • The newspaper no longer double-prints a story after a reload. A specific save-and-reload timing could show the same story on both the front page and the scroll-back pages.

0.9.6 (2026-08-13): Restraint tools & a riskier disguise

Added

  • Duct Tape: a reusable silent restraint. Buy it from the Supplies app. Aim at someone within reach and use it to bind and gag them for a few hours: it silences their screams and barks. It works on anyone already helpless (asleep, knocked out, or already restrained) from any angle, or on a conscious mark from behind. Hold to apply (a progress bar, like handcuffs); re-tape to refresh the hold. About 10 uses per roll.
  • Drag a restrained person to another room. Hold G while aiming at a handcuffed or taped (conscious, not knocked-out) citizen to walk them along with you; release to drop them. You move slowly while dragging. (Knocked-out bodies still use the existing corpse-drag / G-heave.)
  • Handcuffs hold much longer: a cuffed citizen now stays restrained about 5 in-game hours (was ~1), long enough to actually move or work around them.
  • People react to a bound victim left in public. Restraining someone in a public space where a witness can see them now has consequences: a passer-by panics and phones it in (enforcers sweep in shortly after), an on-duty enforcer who spots them investigates and dispatches faster, and an enforcer who catches you in the act comes after you (plus a little heat). Private rooms (apartments, back rooms) stay completely silent, so a captive stashed out of sight draws nothing. Nobody ever unties the victim; the consequence is the law arriving, not a jailbreak. New [Restraint] PublicReaction* knobs, including an enforcers-only switch if you'd rather bystanders stayed oblivious.
  • Petty crime under the mask builds notoriety too. Committing a seen non-lethal crime while masked (a punch, a break-in, a theft, a trespass) now raises your masked persona's infamy, scaled by how serious it is (an assault counts for far more than a trespass). Unseen crimes and unmasked crimes don't count, a whole witnessed looting run reads as one incident, and it's capped well below what an actual killing adds.

Changed

  • The mask is riskier to lean on. Masked notoriety now fades more slowly (roughly half the old rate), each sighting stings more, simply wearing the mask in a public place with people around slowly builds infamy on its own, and at high notoriety enforcers give you a "stop and look" by default. The mask is still powerful: it just isn't a free pass any more.
  • Richer newspaper crime coverage. The city paper now reports more of the fallout (who found the body and how, the apparent cause of death) and, once a string of similar killings piles up, it runs a serial-killer profile that fixes on a consistent description and a nickname for the culprit. Your pattern becomes a story.
  • Sync-disk shop prices & gating tweaked. The False Face mask is cheaper in the Supplies app now (3,500cr, still available from Level 1) while the Second Skin gloves are gated a little later, at Level 3 (still 5,000cr). New [Supplies] MaskDiskAppPrice knob for the mask's price.
  • Landlords can now be killed. They're still never handed to you as contract targets (killing a landlord leaves a district without one), but the finite-pool protection no longer forces a lethal hit on a landlord down to a knockout: that immunity is now enforcers-only. Kill one if you must; the consequences are yours.

Fixed

  • Wiping a murder weapon's fingerprints now actually works. Cleaning a weapon (especially a poison bottle) with the Fingerprint Remover before the case goes cold now prevents the print off it from identifying you: the forensic review had been reading a stale snapshot and naming you anyway.
  • A restrained victim no longer works against you. A cuffed or taped citizen can't become a witness to your crime, can't red-hand you as an enforcer at your own scene, and can't file a report while they're still tied up.
  • Fixed a hard crash that could occur while binding with the duct tape.
  • Holding the duct tape or sedative no longer opens the "Talk to" dialog: you can't accidentally strike up a conversation with the target you're trying to subdue.
  • The Dispatcher's phone-menu options no longer leak into ordinary NPC conversations.

Compatibility

  • Works with DialogUIRework (PiePieOnline). The Dispatcher phone menu (including the change-base submenu) is now selectable when that mod's tabbed dialog UI is installed.

0.9.5 (2026-08-12): Firearms overhaul & reward rework

Added

  • Multiple operations bases (multi-home). If you own more than one home, the Syndicate now treats one of them as your operations base: where your level-reward sync disks are couriered, where an enforcer home raid comes looking, and where auto-assigned (and Dispatcher-pulled) contract kit is delivered. Move it any time from the Dispatcher → "Move my operations base." Contract kit from the Level-3 job board instead goes to the specific home whose board you accepted the job at, and Supplies / Groceries orders arrive at whichever home's cruncher you placed the order from, so each home can run its own errands. The option only appears when you actually own more than one home, and is held back during an active warrant or an open crime scene so a move can't desync a raid in progress. Single-home players see no change.

Changed

  • Guns now aim. Hold right-mouse to raise the weapon; left-click while aiming fires. Left-click without aiming is a melee strike, and the strike now plays its full swing animation (it was landing damage invisibly before). Near a surface, right-click still puts the item down / back as usual: aim only takes over where the game would otherwise let you throw.
  • Snipers get a variable scope. While aiming a sniper rifle, scroll to zoom (a small 4.0x readout shows by the crosshair). Sniper shots also reach much farther: the base game caps bullet range short because guns are melee items, which had been limiting the sniper. There's a new BulletRangeFloor config (default 500m).
  • Level rewards are now random sync disks. Reaching Level 1 and Level 2 each mails you a random useful vanilla sync disk from a curated, configurable pool, so an early kit differs run to run. The False Face mask and Second Skin gloves are no longer level rewards: buy them from the Supplies app (5,000cr each; mask from Level 1, gloves from Level 2), with a short "how it works" v-mail on your first order of each. Disks you already earned on an older save are kept.
  • The Syndicate's own two disks no longer appear in vanilla shops: the Supplies app is the only place to buy them.

Fixed

  • Enforcers no longer panic at a drawn gun. Off-duty enforcers were taking the base game's "someone's holding a weapon" fear and cowering or fleeing; trained officers now shrug it off (config EnforcersUnfazedByDrawnGuns). Civilians still react.
  • Moving your operations base is blocked while a crime scene is open, so an active scene can't be orphaned.
  • Save-transfer safety net. If a save is moved or Steam-Cloud-restored without the mod's companion file (which Steam doesn't sync, see the README), the cruncher inbox no longer bricks; affected Syndicate v-mails degrade to a placeholder instead of crashing.
  • Sync disks bought from the app before this update that reloaded as unusable duds are now refunded automatically on load (their identity can't be recovered), and new app purchases reload correctly.

0.9.4 (2026-08-10): Bug fixes & polish

Fixed

  • Reward sync disks could break after a save/reload. The mask (False Face) and gloves (Second Skin) disks are delivered to your mailbox, but on some setups, reloading a save with one still lying around left it unusable: it couldn't be installed at a clinic, and in the worst case just looking at it stuttered the game. Both disks are now repaired automatically on load, wherever you've stored them, so a disk left over from an earlier session works again.
  • Sedating an enforcer (Dorma-Dix). Using the sedative on an enforcer wrongly showed the "that one's off-limits" refusal and didn't use up a dose, even though it knocked them out. Enforcers are protected from being killed, not from a clean knockout, so sedating one now works like sedating anyone else (a dose is spent, no bogus refusal). Staging a fatal "accident" on one is still blocked.

Added

  • A one-time reminder on how to get paid. The first time one of your kills resolves for payout, you get a short prompt spelling out the steps (go to your case board, open the case, hit Close the contract, then Collect) so the payday doesn't slip by. It only ever shows once.

Changed

  • Removed a Windows-console tweak. A small startup tweak that disabled the console window's QuickEdit mode was dropped. If you relied on it to avoid the "game freezes until I click the console" pause, you can turn QuickEdit off yourself in the console window's Properties.

Docs

  • The README and wiki now state up front that you need a cruncher to play (your contracts and every shop app live only on your home cruncher) and recommend starting your sandbox save with a starting apartment.

0.9.3 (2026-08-08): Memory-leak hotfix

Fixes two memory leaks that could balloon the game's RAM over a long session. They were worst on large cities, where the game already starts near its memory ceiling: there it could climb past 8 GB and stutter badly (even while paused), and sometimes hang on exit. Smaller cities rarely showed it because they start with far more headroom. Both are fixed; a long session now holds steady.

Fixed

  • HUD icon memory leak (the main one). The Syndicate HUD redraws the game's own icon sprites (the rank stars and the heat-bar eye) every frame, and the way they were being drawn leaked a little memory on every frame. Over a session that added up to gigabytes. The icons are now pre-rendered once and drawn cheaply, so the drip is gone, with no change to how the HUD looks.
  • Permanent-corpse memory leak. Because the Syndicate deliberately keeps your quiet kills from being "discovered," the game never cleaned up the body, and a lingering corpse keeps every passer-by tracking blood, which the game turns into an ever-growing pile of footprint decals. Now, a few hours after a kill's case resolves, the body is quietly handed to the game's own crime-scene cleanup (only once you're not around to see it), so it and its blood trails clear out. Existing saves with a stuck body are repaired on load.

Changed

  • Bodies are found sooner. An undiscovered body is now found by a welfare check in about 8-12 in-game hours (was 24-48), so a kill doesn't sit around as long before its scene resolves and cleans up.
  • Away-from-home victims' apartments clear a little later: about two days after the case resolves, matching how long the crime-scene tape lingers.

0.9.2 (2026-08-07)

Added

  • Clear your bounty early through the Dispatcher. If you owe murder fines, call the Dispatcher and pick Clear my bounty to settle them for a discount (default 60% of what's owed) before a capture collects the full amount. The option shows the live price and only appears when you actually owe something.

Changed

  • Clearer Supplies pricing. Gear now shows its true street price and exactly how much you save buying through the Syndicate. (The old line understated it: it compared against the pre-markup base value instead of what other vendors actually charge.)
  • Removed the Print Scanner from the Supplies shop. Every citizen (you included) starts the game carrying one, so buying a second identical scanner was pointless.

Fixed

  • Post-load stutter on a save made near a body. Reloading a save that held an open crime scene whose murder weapon no longer exists (for example, a syringe you'd already dumped at sea) made the game hitch about once a second: the scene was scanning the entire city every tick trying to re-find the vanished weapon. It now uses the game's direct lookup, so a gone weapon costs nothing. (Same class of fix as 0.9.1; this path only triggered after loading such a save.)

0.9.1 (2026-08-06): Performance hotfix

Purely performance: no gameplay or balance changes.

Fixed

  • Large-city stutter from supply/grocery deliveries. While a courier case sat in the world, the game hitched (~1-second frames) for as long as the case existed, and it got worse the bigger the city. Cause: the case was being located by a full linear scan of every interactable in the city each tick; on a large map that single scan took ~1 second. It now uses the game's O(1) id lookup. (Small cities never showed it, which is why it slipped through internal testing on a compact map.)
  • The same O(city)-scan pattern, removed from three other hot paths that could hitch on large cities: the crime-scene occupant check while you're standing inside a scene, address lookups during the evidence-heist and home-vacate windows, and the fixer lookup that runs repeatedly on load / during onboarding. All now use the game's scoped or O(1) lookups.

0.9.0 (2026-08-05): First public beta

The first public release. The Syndicate turns Shadows of Doubt into a career-hitman sandbox: a fixer moves you into the city, you take contracts, put targets down, and try to walk away from the exact investigation your own kills create.

Contracts & progression

  • Underworld reputation career across four ranks (Recruit, Associate, Operative, Lieutenant) with one-time promotion rewards (the False Face mask at Level 1, the Second Skin gloves at Level 2, the contract board at Level 3).
  • Auto-assigned contracts by v-mail at Levels 0-2; a browsable job board (up to 3 concurrent) at Level 3.
  • Target selection scored on Wealth / Security / Exposure, with Full / Partial / Cold info leads: Partial/Cold hand you a clue trail guaranteed to resolve to one citizen.
  • Escrow payout: money and standing clear only after a kill's heat settles; you collect on the pinboard. No reputation for a job you get identified on.
  • Optional contract objectives: Clean Kill, Deadline, Photo of the Body, Poison Kill, Forge an Accident (overdose or fall), No Violence, Dispose at Sea.
  • Hit Tokens, spent on the game's native social-credit stat.
  • Onboarding flow with a Dispatcher check-in gate and one-shot tutorial toasts.

Killing

  • Six working firearms with ammo, magazines, reloading, shotgun spread, headshots, and gunshot alarm.
  • Reusable poison syringe (silent or delayed kill), single-use overdose vial (staged overdose), sedative for a clean no-marks KO, and forge-a-fall by dragging/heaving a downed body off a height.
  • Melee with a cripple-on-hit slow. Enforcers and landlords are protected (KO only) to keep the city's finite pools intact.

The investigation & consequences

  • Live crime scenes fed by witnesses, security cameras (with a darkness/stealth gate), and a fingerprint/forensics system with a public-place gate.
  • Warrant + enforcer manhunt, home raid with murder-weapon seizure and cruncher-exposure penalties, caught-carrying confiscation, and a fine ledger.
  • The False Face mask blocks identification (never forensics) and carries its own masked-persona notoriety with a "slip" that merges your masked spree onto your real identity.
  • Residual-heat meter with a "Loose Ends" evidence-heist offer, and a mole email that reports what nearly caught you.

Tools, apps & UI

  • Syndicate, Supplies, and Groceries cruncher apps (courier delivery, level-gated gear, global price multipliers).
  • Anonymous Tip Line and the Dispatcher phone line (pause/resume, pull work early).
  • Custom newspaper front pages for your kills, manhunts, and staged accidents.
  • A top-of-screen HUD cluster (level, open crime scenes, mask, heat) plus a WANTED banner.
  • The Fingerprint Remover tool and an in-room "your prints here" cue overlay.

Notes

  • The public build ships with debug tooling disabled and keeps citizen names and home addresses out of the log ([Debug] Enabled = false).
  • Nearly every number is a config knob in Kropath.TheSyndicate.cfg.
  • Beta: expect bugs and balance changes. Best played on a new sandbox save with procedural murders off, and back up any save you care about.