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
This mod requires the following mods to function
BepInEx-BepInExPack_IL2CPP
BepInEx pack for IL2CPP x64 Unity games. Preconfigured and ready to use.
Preferred version: 6.0.755README
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.0)
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.
- 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.
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.
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.
- 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).
- 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.
- 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.
- 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.
- 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 + the False Face mask disk |
| 2 | Operative | 50 | 1,500cr + the Second Skin gloves 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:
- Kill → the contract is marked complete, but pay is held in escrow ("awaiting forensics").
- The case resolves (goes cold, or you get identified) → the pay becomes collectable.
- 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. (Two exceptions are protected as a finite, non-replenishing pool — enforcers and landlords only ever get knocked out, never killed, so you can't wreck your own save. You can turn that protection off in config if you insist.)
Firearms
Six working guns — pistol, silenced pistol, revolver, shotgun, battle rifle, sniper rifle — with real ammo, magazines, and reloading (R). Left-click fires. 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).
- 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 long enough to drag.
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.
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). The Level-2 reward disk. 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).
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 there, it's seized and fined. If your cruncher is on and logged in, they pull your files — extra fine and a rep hit. Log out and power down before you run.
- Caught carrying. Get downed while wanted with a murder weapon on you and it's confiscated and surcharged.
- "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; 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"
Your Level-1 reward is the False Face sync disk. 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 builds your masked persona's infamy (it fades while you lie low). 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.
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, or go off the books to pause new contracts while you deal with life.
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.
- 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) orGlobalIllegal(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.15 | Notoriety lost per in-game day of lying low |
| IncidentBase | 0.10 | Base notoriety added per masked crime that's seen |
| IncidentMax | 0.30 | 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 | false | 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 |
[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 |
[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 (left-click already fires) |
| 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 |
[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 |
[Protection]
| Key | Default | Meaning |
|---|---|---|
| ProtectFiniteNPCs | true | Enforcers/landlords are never killable — only knocked out |
| ProtectLastCompanyWorker | true | A company's last living employee is never offered as a contract target |
[General]
| Key | Default | Meaning |
|---|---|---|
| DisableConsoleQuickEdit | true | Disable Windows console QuickEdit to prevent a game-freeze stutter |
| 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
- Set
[General] VerboseLogging = truein the config (and, if you can reproduce it,[Debug] Enabled = truefor extra detail). - Reproduce the issue.
- Grab
BepInEx/LogOutput.logand a description of what happened and what you expected. - 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.
Enjoy the work. Tidy up after yourself — cold is fine, a trail is not.