Shadows of Doubt
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
Downloads
901
Size
325KB

Detective Routine

Be a detective on the city's payroll, not just a stranger with a lockpick. Join an Enforcer Division, keep your shifts, write your reports, collect your pay, and get the paperwork that lets you go where a private eye can't.

Recommended

I strongly recommend playing this mod together with:

  • SOD Life and Living by Venomaus: its economy rebalance makes a detective's salary actually matter.
  • DialogUIRework by Piepieonline: the mod adds quite a few lines to conversations, and they go neatly into its tabs.
  • Optional: Cruncher Correction by PixelJunkies fixes the same problem in the game's own government database, where typing a name with an F opens your case board. This mod's own typing fields (Forensics, the Warrant Requests search) already block game keys while you type and don't need it.

Optional: with PartialPrints by Macawesome75 installed, you get a fingerprint lab to send prints to (see below).

Joining the force

Apply at the front desk in the City Hall lobby. A few hours later you are assigned to one of the city's Enforcer Divisions: the fullest one that still has a free desk. A welcome letter from your captain tells you where to report and when your shifts are. You can resign at the same desk.

Until you join, the game plays as usual.

Once you're in:

  • You can go anywhere in your division's premises, like any other employee.
  • You have your own account on the division's crunchers, so you can read your mail there even if you have no home.
  • You get your own desk, with its cruncher and drawers, and a name placard on it. Your photo goes up on the employee board.
  • You are listed in the Gov Database and in your division's Employee Database.

Divisions

In a newly generated city the size of each division follows the city's population and the office's desks: a bigger city means more rank-and-file enforcers, but every office keeps one free cubicle for you. An ordinary office keeps the game's 2 enforcers besides the captain; a large one can take more. No two divisions share a name. Both only take effect when a city is generated: a city you already have keeps its staff.

Transfers

Tell your captain "I'd like a transfer to another division.", in person or on the phone. You'll be told to put it in writing, and a transfer request appears in Reports Due. Its To button cycles through the other divisions that have a free desk; the request shows where that office is and how many desks are free. Write it up (about an hour) or discard it. A written request is decided after Transfer.ReviewDays (2) days: if the division still has a free desk, you move there with a new desk, placard and photo, a goodbye vmail from your old captain and a welcome letter from the new one. Your shifts, pay, reports, strikes and pending warrant requests come with you. One request at a time, and not while you're on probation.

Shifts

Day shifts, Monday to Friday, 9 to 5 (configurable). Sign in at a cruncher in your division when your shift starts; you get a reminder an hour before. Up to an hour late counts as late. After that, the shift is missed.

In hospital. If you get knocked out and wake up in a hospital bed, your captain takes you off the roster for the next 24 hours: "Take tomorrow off. Doctor's orders." Shifts you haven't signed in for in that window (extra shifts too) are cancelled. A cancelled shift is no strike, no pay, isn't a missed shift and needs no report. It doesn't spoil the weekly bonus either: for each cancelled shift you need one worked shift fewer, but at least one.

The hospital bill. While you're on the force, the bedside choices in hospital include "Bill it to <your division>." (with your division's name): you recover exactly as if you had paid, and the division pays the fee; do it twice within 14 days and your captain starts writing about it (Hospital.DivisionPays, Hospital.GrumbleAfter).

Call-outs. When a murder victim is found outside your shift, your captain calls you out by vmail: be at the scene within 3 hours. Walking in or asking the enforcer on the door to let you in both count. Make it in time and it's an emergency shift, paid at one and a half times the usual once you file the crime scene write-up. Miss it and you just miss the money; it's not a strike. If the body turns up during your shift, it's just work: no extra pay, but getting to the scene counts as signing in, so you won't be marked late for going straight there. If your shift ends in less than 3 hours, it's a proper call-out after all, since you'll be working past it. If your shift starts before you're due at the scene, the captain calls you in early instead: getting to the scene signs you in for that shift, the crime scene write-up is your shift report, and the hours before the shift are paid on top at the call-out rate.

While you're out. No call-outs during the doctor's orders; instead, once the coroner has something (Briefing.HoursToWeapon after the body is found), your captain sends a "While you're out" vmail with the place, the time-of-death window and the weapon. Nothing to do, no pay, no report.

Reports

The Reports Due app on Enforcer office crunchers lists what you owe:

  • a shift report, near the end of every shift you signed in for;
  • an explanation, when you were late or missed a shift;
  • a crime scene write-up, for every murder scene you visit; the more evidence on your board is linked to the scene or the victim, the longer it takes;
  • a case report, when you hand in a case;
  • your search warrant applications (see below);
  • your fingerprint search requests, if you play with PartialPrints (see below).

Pick a report and press Write: time runs fast while you type. You can stop and come back any time. Being Focused makes you write faster. Each report is due in 3 days. Crime scene write-ups are urgent: due in a day, and marked so in the list.

Below what's due, the list keeps what you filed in the past week. Your captain reads filed reports during working hours, about 2 hours of them per report (sooner when the captain is impatient): the list shows "Filed, unread" or "Read by the captain", and selecting a report tells you when it was filed and read. Warrant applications show what became of the request instead: under review, granted, refused or withdrawn. A warrant application you haven't written yet can be dropped with Discard, with nothing held against you.

Pay

At the end of your captain's working day, every shift you have filed a report for is paid at once: your yearly salary over 260 working days. A week of at least 4 shifts with no late arrivals, missed shifts or overdue reports earns a bonus of two shifts' pay. Emergency shifts count towards those 4.

Discipline

Late arrivals, missed shifts and overdue reports are strikes, and each one gets you a letter from your captain:

  1. a warning;
  2. docked pay;
  3. a week of probation: warrants are slower and rarer, enforcers keep you at arm's length, and you get a stack of paperwork to write;
  4. dismissal.

A week without a new strike forgives one.

At the crime scene

Ask an enforcer at a crime scene "What have we got?". They tell you only what they could have seen:

  • right away: who the victim is, who found the body, and when;
  • after an hour on the scene: the coroner's window for the time of death;
  • after two hours: what the victim was killed with.

They never tell you who did it.

Tell the enforcer guarding an indoor crime scene "I need to take a look inside." and you get a pass for a couple of hours, so you're not trespassing.

Search warrants

Pin a place to your case board from the map. Open the Warrant Requests app on an Enforcer office cruncher, pick the place, look over your grounds and press Submit. Your grounds are every piece of evidence on the board linked to that place, links you draw yourself included. This starts an application in Reports Due. Write it up and it goes to your captain, who only reviews applications during working hours.

More grounds take longer to write, but the review is faster (never under 2 hours of the captain's working time) and the warrant is granted more often. A granted warrant arrives as a vmail: print it and pin it to your board, or carry it around. For 24 hours you can be at that place legally. The lock is still your problem, but picking it or kicking the door in is no longer breaking and entering.

Changed your mind? Select the place again in Warrant Requests and press Withdraw (twice, to confirm): the review stops and no warrant comes. A withdrawn request still counts toward the daily limit. When you hand in a case, requests filed while it was your active case are withdrawn for you.

Arrest warrants

The arrest warrant is made out for the person you name as the killer on your Resolution Form ("What is the full name of the killer?" in the active murder case). That person appears in Warrant Requests too, below the places; if you haven't filled in the name yet, a hint line there tells you to. Pick the person, look over your grounds (the evidence on your board linked to them) and press Submit. If you change the name before you've written the application up, the application is dropped; a request already with your captain, or a team already sent, keeps its target. When the team cuffs the suspect, the form's "Arrest the identified killer" question is ticked just as if you'd cuffed them yourself (the game still only counts it as correct at hand-in if they really are the killer). As with a search warrant, you write the application up in Reports Due, then your captain reviews it during working hours, with the same odds and timings: more grounds help, probation hurts, an impatient captain is quicker. You can have one arrest request under review at a time, and it doesn't hold up your search warrants. Withdraw works the same way, and handing the case in withdraws a request filed from it.

If the captain signs it, you get a letter naming the team sent to bring the suspect in. You don't take part, but your captain does: the captain goes on every arrest and leads the team, on top of the officers sent. Your own division's officers on shift go first, then officers called in off shift, then help from one other division, whose captain comes along after two of their officers. The team goes to wherever the suspect is now; once the whole team has reached the suspect (or after a couple of hours at most, when the stragglers are brought along), the suspect is handcuffed where they are, just as when you cuff someone yourself. You get a letter when the suspect is in custody.

While the captain is out with the team, nothing moves at the office: warrant reviews and report reading wait until the team stands down (the suspect is cuffed, or the arrest is called off or fails). Phone the division meanwhile and you're told the captain is out on an arrest. The captain doesn't get shot, even when the team walks in unprepared.

With the arrest you also get a search warrant for the suspect's home, as if you'd applied for it. The suspect is held for a day. Hand the case in before then and name them as the killer: if you're right, the game convicts them as usual. If they're innocent, or the hold runs out, they're released and your captain lets you know.

Is the suspect armed? Before you submit, switch the second button from Unarmed to Armed if you think the suspect has a gun. You can still change it while the application sits unwritten in Reports Due. The captain goes by your assessment and by the victims found so far, so the app shows the team size you'll get: the captain plus two to six officers.

  • Marked armed: a bigger team goes. If the suspect wasn't armed after all, nothing bad happens; it's just noted.
  • Not marked, and the suspect really is the killer and kills with a gun: the team walks in unprepared. An officer may get shot (Arrests.InjuryChance, 60%), sometimes a second one (Arrests.SecondInjuryChance), and the arrest may fail (Arrests.FailChance, 50%). If it fails, your captain sends you an angry vmail and, a couple of hours later (Arrests.RetryHours), a bigger team that knows the suspect is armed. You don't need to apply again, and the suspect stays where they are. If it works anyway, you still get a vmail from your captain about the gun you missed (and any injuries).
  • Not the killer: they come quietly. The case just won't hold up when you hand it in.

Following an arrest. The operation stays in Warrant Requests, on the line of the person it's against: the team (your captain leading), who was called in off shift, who was injured, whether the suspect was marked armed, and the status with times: team en route, regrouping after a failed attempt (with the retry time and the injured from that attempt), in custody until the hold ends, released, convicted or called off. A finished operation stays listed for a day. If you change the name on your Resolution Form, the earlier person keeps their own line while their request is under review (so you can still withdraw it) or while their operation is running.

Sick leave. An officer shot during an arrest goes on sick leave for a week (Arrests.LeaveDays). They really stay home: the mod clears their work days and puts them back when the leave ends (also when you load a save after the leave ran out). They're left out of arrest teams, and Duty Roster shows "Sick leave, back <day>". Don't disable or remove the mod while an officer is on sick leave: their schedule could stay empty. Let the leave run out first.

Duty Roster

Enforcer office crunchers also have a Duty Roster app: who in your division is on shift and what they're doing (on an arrest team, guarding a crime scene, on sick leave, on patrol, off duty). It lists people only; arrest operations are followed in Warrant Requests. An officer of your division who is the target of an arrest warrant shows as "Suspended, wanted" until arrested, then "In custody"; if released, they're back to normal.

At the very top is Your shifts: a calendar of the past three days and the next seven. Each line has the day, the hours, whether it's an extra shift, and how it went: scheduled, on time, late, missed, cancelled (hospital), reported, paid. The list pages with the arrow buttons.

Fingerprint search (with PartialPrints)

If the PartialPrints mod is installed, Enforcer office crunchers also get a Forensics app. Type a print on your keyboard: the letters you can read, and - (or space) for each smudged one, e.g. --CD-. Fingerprints pinned to your case board are listed on the left; click one to copy its code into the field, then fill in letters from other prints of the same person.

Submit starts a short request in Reports Due. Once it's written, the lab searches the records of everyone with a home in the city. It takes an hour plus an hour for every smudged letter, and the answer comes by vmail: who matches, with their full print and home address. Names and addresses in the letter are links: click one to open that person or place as evidence. If too many people match (more than 6), the lab asks for a more complete print.

The badge

Tell someone "Enforcer Division. I need your cooperation." and for the next hour they can't refuse your questions. If you use it to get into their home or get their door code without a warrant, they complain, and that's a strike.

You can also ask any enforcer which division they are with. Your own colleagues will tease you for asking.

Enforcers won't tell a stranger their name, but you're no stranger: introduce yourself ("Detective <your surname>, <your division>. And you are?") and any enforcer gives you their name, which goes on their evidence as usual. Colleagues may rib you for not knowing them, depending on who they are.

The captain's patience

The more victims the current killer has, the less patient your captain gets. From the second body, warrants are reviewed faster and refused less often, normal reports are due sooner, and the captain's letters get sharper; from the fourth, more so. Handing the case in, or a new killer taking over, calms things down.

The phone

Division offices have no telephones of their own, so the division's number is the City Hall switchboard (a phone elsewhere in City Hall, preferably the front desk or lobby). Your welcome letter gives you that number and your captain's home number (click a number to open it, or to dial it with a phone keypad open), and both go into your notebook. Colleagues will tell you the captain's home number if you ask.

  • Call-outs by phone. When a body turns up outside your hours, your captain rings you where they would expect to find you: at home or in the hotel room you rent. They ring from home, or from the City Hall switchboard if they're out. The office has no phone, so if you're at the office they ring your home. Pick up to hear where and by when. If nobody answers, a vmail comes instead.
  • Calling the division. Ring the City Hall switchboard. The front desk answers after a couple of rings (or the captain, if the desk is closed and the captain is in City Hall); ask them to put you through to the captain. If the captain is anywhere in City Hall, you're put through; if not, you get the captain's home number.
  • Talking to the captain (on the phone, at the office or at home, or face to face): ask for an extra shift (at least a day ahead, at most one a day, and it counts like any other shift, strikes included), or ask them to hurry the lab on a fingerprint search (halves the wait, once per search). The captain's tone depends on how many bodies the killer has left.

Also

Printouts (vmails, database records) can be picked up and carried, not just pinned.

The game's Employee Database and Gov Database apps get their own desktop icons (an ID badge and a filing drawer) instead of the same sheet of paper (Cruncher.RestyleVanillaIcons).

Config

Everything is in BepInEx/config/ekem.detectiveroutine.cfg, grouped by topic: Employment, Shifts, Reports, Pay, Captain, Discipline, Badge, Briefing, Access, Warrants, Arrests, Hospital, Transfer, Divisions, Prints, Printouts, Cruncher. Some highlights:

  • Employment.OnTheForce: turn the mod's features off and play the plain game.
  • Shifts.ShiftStart, Shifts.ShiftEnd, Shifts.ShiftDays: your schedule.
  • Reports.ReportDays, Reports.UrgentReportDays: how long you have for each report, and for urgent ones.
  • Reports.CaptainReadHours: how much of the captain's working time it takes to read a filed report.
  • Shifts.CallOutHours, Pay.CallOutPayMultiplier: how long you have to answer a call-out, and what an emergency shift pays.
  • Captain.ImpatienceVictims1, Captain.ImpatienceVictims2: how many victims it takes to try your captain's patience.
  • Warrants.ReviewHours, Warrants.MinReviewHours, Warrants.WarrantHours: how long the review takes, its minimum, and how long a warrant lasts.
  • Arrests.ArrestWarrants, Arrests.TimeoutHours, Arrests.HoldDays, Arrests.MinTeam, Arrests.MaxTeam: arrest warrants on or off, how long the team has to reach the suspect, how long a suspect is held, and the team size limits.
  • Hospital.DivisionPays, Hospital.GrumbleAfter: whether the division can pay your hospital bill, and from how many paid stays in 14 days the captain complains.
  • Divisions.UniqueNames: whether division names are kept unique in a newly generated city. (Division size isn't a setting: it follows population and desks.)
  • Transfer.Enabled, Transfer.ReviewDays, Transfer.WriteHours: transfers between divisions, how long a request takes to be decided and to write up.
  • Arrests.InjuryChance, Arrests.SecondInjuryChance, Arrests.FailChance, Arrests.RetryHours, Arrests.LeaveDays: what happens when you don't mark an armed killer as armed, and how long a wounded officer stays home.

Requirements

  • SOD.Common
  • Cruncher List Fix (installed automatically): without it, your home cruncher shows only one letter.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.