Skip to content

Outpost security: wanted stars, arrests, massacre recovery - #537

Draft
Jackriip wants to merge 213 commits into
feature/hyperviolence-megafrom
feature/outpost-police
Draft

Jackriip wants to merge 213 commits into
feature/hyperviolence-megafrom
feature/outpost-police

Conversation

@Jackriip

@Jackriip Jackriip commented Nov 11, 2026 •

Copy link
Copy Markdown
Member

Outpost security

The three trader outposts no longer defend themselves with turrets. Each now has a security squad of real people, and what they do depends on the stars you carry. Traders and checkpoint guards are people too and can be killed, and an outpost that has been shot up cleans itself up afterwards.

Wanted stars

  • Crimes at an outpost put stars on the person who did them, shown as a wanted alert on the HUD. There is no chat text about stars.
  • A crime counts only if someone saw it: an officer, a trader, a gate guard, a bystander or a camera. Kill the witness, or break their radio before the call goes out, and nobody is wanted. Fighting back against someone who attacked you first is not a crime.
  • Punches, weapons, gunfire, vandalism, hitting staff or shoppers, a drawn gun without a permit, forcing the checkpoint, breaking out of a cell, looting a prisoner's locker and fighting officers all raise stars. Killing someone is three stars at least.
  • Stars fade if you stay out of sight or leave the outpost. At three and up they hold while you are still there.
Stars What security does
1-2 Orders you to stop, stuns and cuffs you, takes what you used, walks you to the desk
3 Shoots to kill. No surrender
4-5 As 3, your crewmates at the outpost are arrested, and your crew is embargoed at that outpost

The wanted alert, one to five stars

The security squad

  • Officers walk beats around the concourse, stop for coffee, sit at the desk, talk to each other and call things in on the radio. They are ordinary people: they can be stunned, cuffed, wounded and killed like anyone.
  • More officers arrive through staff lifts as stars rise, and keep coming. They stay inside the outpost and its hangars and do not board docked ships.
  • Officers in green and yellow space spare someone who is down. In red space they finish the job.
  • Each outpost has its own force, with its own look and voice.

Officer looks per outpost (beat, sergeant, officer, tactical, marshal):

Officer outfits for the three outposts

Patrol routes on each outpost:

Halcyon patrol routes
Quartermain patrol routes
Undertow patrol routes

Arrest, fine, jail

  • At one or two stars an officer stuns and cuffs the offender, takes every item used in the crime (it is destroyed at the desk), and fines the crew's ship accounts. Paid, you wait in a cell for a short while and walk out.
  • If the fine cannot be paid you go to jail for a few minutes. Your gear goes into a property locker outside the cells and you wear a prison jumpsuit. You keep your ID and implants. There is no debt afterwards, and paying the fine ends the term early.
  • The locker opens for you or your ID, or for an emag. Anyone can empty one, but a theft an officer sees is two stars and the goods go back. Gear nobody collects stays locked. If every locker is in use the one left longest is emptied onto the floor.
  • Forcing a cell door sets off an alarm and is three stars, as is walking out early. A prisoner who is badly hurt or dies in a cell gets the door opened and a medic called.

The security station on each outpost's lobby side (cells, property lockers, desk, evidence chute):

Halcyon security station
Quartermain security station
Undertow security station

Lethal response and the embargo

  • At three stars officers shoot to kill, and a surrender is not taken.
  • At four stars crewmates at the outpost are arrested, not shot, and every ship of the crew is embargoed at that outpost: no shops, no checkpoint. Five stars lasts longer, and every officer killed adds more time. Other outposts are unaffected.

Killable traders and gate guards

  • Traders and checkpoint guards are people behind a counter or a booth. A shop is open only while its keeper stands at the counter. A dead, knocked out or dragged-off trader closes the shop, and a replacement arrives with the new staff.
  • A trader may drop one item from their shelf when killed, within a small cap per outpost. The shop stock itself cannot be looted.
  • Killing a trader or guard in sight of anyone is four stars at least. A guard's death leaves the gate working.

The stick-up

Point a gun at a trader behind their counter and they hand over the till, or one cheap item if it is empty. They raise the alarm when you leave their sight or half a minute later. Armed robbery is two stars. If you are caught the gun is destroyed and the takings go back.

The gate emag

An emag on the checkpoint's wall scanner takes the gate down for a few minutes: nobody is scanned and both doors open for anyone. Anyone who sees it reports you. With the guard dead and nobody watching, nobody reports it. The same scanner cannot be emagged again for a while.

Morgue crews and janitors

  • After a massacre, once things go quiet, morgue crews and janitors arrive by staff lift. Morgue workers bag the dead and haul them off. Dead visitors, yours included, are placed in a tray in the outpost's new morgue and can be collected. Player bodies are never deleted.
  • Janitors mop blood and pick up casings and litter. Both crews carry radios, talk to each other and are people like any other.
  • When the floors are clean, new traders, guards and officers walk in from the lifts, shops reopen as their keepers reach the counter, and the regulars drift back. If crews keep getting killed, the next one comes later with more escort, and after four in a row the port sends nobody for a quarter of an hour.
  • Each outpost gets a morgue, a janitor closet, a security station with two cells, property lockers, a desk and an evidence chute, and signs for the stalls.

The new morgue and janitor closet, before and after:

Halcyon lobby before and after
Quartermain lobby before and after
Undertow lobby before and after

A morgue worker:

A morgue worker

Removed

  • The outpost defense turrets.
  • The warning strikes and the marked-on-sight system.

The checkpoint, the hazard protection and the sanctuary doors stay. Player outposts and the prison wing are untouched.

Branch

Based on #512 (feature/hyperviolence-mega). It includes the stealth branch, which the officers' patrols and witness checks use.

Testing

Compiled with no errors, and the new unit tests pass; the suites that also fail on the base branch still fail the same way. Not playtested.

…n view of every guard's sight

Guards with nobody else noticed say a line, look round for a few seconds and go back to their route
after killing or downing their target. Hits from a second attacker during a fight are remembered.
Wary now fades after three minutes with nothing new. Admins can show the sight of every guard on
their level at once. The notice map moves off the blackboard, whose qdel sweep runtimed on it.
The ally check walked get_line(), which takes one turf per step. A shot at an
angle clips turfs beside that line, so a gunner fired past a guard standing
next to its target and hit him. The check now walks every turf the straight
line passes through.
…er 60 s

The ? fills as a guard notices you and only you see it. Alert is a red ! for
everyone; it drains while the guard has lost you, then turns into a yellow ?
that drains over the search. Drawn on the guard, so never through walls, and
above the lighting so it reads in the dark. Built only with a player nearby.

Wary now fades after 60 seconds with nothing new.
Standing marks sit 6 px higher and follow the head's height offset; a lying
guard's mark clears its body. No own ? shows in the moment after a search ends.
Guards walk back to their route or post after a chase instead of turning
sentry, in legs when it is far. Only being carried to another level or
map region makes a sentry; a guard that can't get back waits and retries.

The AI stays fully awake while any living player is on the level, the
scan runs from planning instead of the behaviour queue, and long walks
are no longer cancelled every step.

An alert guard still notices others and turns on someone clearly nearer
or on whoever hits it, at most once every few seconds. A glimpse while
searching is an alert. Notice is capped, and only what it sees now
decides its state. The candidate cap counts only those it can perceive.

A box that moves at its shoulder or bumps it is noticed. Blasts, fire,
gas and stuns with nobody to blame send it and nearby friends searching.
Cuffs, syringes, the strip menu and thrown items count as touches.

The head mark exists only while the scan runs, so it clears on cuffs,
stuns and player control. A player in the body gets no reactions.
…nocks, glass, doors, bodies, shouts and radios

Guards react to noise as a group. A small noise sends one guard to look, a second at the same spot two,
a third everyone; a guard that never comes back is missed. Gunfire, blasts and screams send the nearest
few running while sentries hold. Suppressed guns are heard only close by and in the open. Running is
heard and walking is not, by tg's own footstep rules, and running no longer makes you easier to see.
Guards who see or feel someone shout for help; lookouts carry an earpiece and call it in after three
seconds unless they are dropped, jammed or EMPed first. A guard that heard something shows a grey ?.
No sound ever gives a guard a target. Adds the Stealth Noise admin verb and a noise view.
…ets, a window, a locked door, carpet and plating
…sing guard, alarms, shouts, radios, and real shots, throws, knocks, falls, emotes and blasts
Guards switch a belt seclite on in the dark and whenever they are on edge;
an EMP cuts it out. A body found mid-search is called out, a quick volley
from one spot counts as one noise, and sentries keep facing their post.
…the dark, and stop flickering lights

Point-blank sight within 2 tiles in the cone is an alert on that look, with a quick look between scans;
3-4 tiles fill three times faster. The close radius behind a guard needs light that isn't its own beam.
A guard's own spot is judged without any guard seclites. No missing-friend line over a reported body.
An AI-switched light is re-laid as a turn would. Diagonal AI steps cost what a player's do.
The test room's east room gets a floor light in the middle.
… drop them, a matte knife backstabs, and their seclites can be looted
Adds the outpost police module skeleton (defines, the police datum with its
tick, roster and interior link, shared datums, officer types and brain, the
station's map kit types) with every cross-package proc stubbed. Trader outpost
crimes now go to the police with a crime kind and the item used; the strike
ladder, armed-trespass state and the outpost turrets (38 on the three maps)
are removed. Tests that no longer compile are guarded for porting.
…officers

The tests that read the strike ladder or the outpost turrets now read the police's warrants, stars and evidence, and an officer's targeting strategy. Crimes that need a witness get an officer to see them. The guards are gone. The police types are left out of the death cash, crowd and combat sense checks that would not fit them.
The wanted alert shows one to five stars (a blinking set while the suspect is
unseen or away) at the outpost the person is at, and clears at none. The
overmap management bans view lists warrants and bars next to embargoes: lift
any row (a prisoner's lift lets them out of the cell), add a warrant at one to
five stars. Long names are cut with a mark and the add form shrinks with the
window. The bans test is ported to the new rows.
# Conflicts:
#	voidcrew/modules/outpost_police/police_arrest.dm
#	voidcrew/modules/outpost_police/police_cell.dm
#	voidcrew/modules/outpost_police/police_property.dm
Fire discipline holds for one-star, complying and stun-only people in the line and for
mechs; mech force follows the pilot; held weapons stay matched to the force level; stun
officers chase cuffed runaways with no arrest open; cross-sector walks skip blocked lifts;
response units leave beat routes alone; clean visitors and peaceful NPCs bumping, pulling
or making everyday noise raise no suspicion. Tests added.
# Conflicts:
#	voidcrew/modules/outpost_police/police_arrest.dm
#	voidcrew/modules/outpost_police/police_dispatch.dm
#	voidcrew/modules/outpost_police/police_units.dm
#	voidcrew/modules/stealth_police/police_stealth.dm
#	voidcrew/modules/trade/outpost_checkpoint.dm
#	voidcrew/modules/unit_tests/voidcrew_outpost_police_dispatch.dm
# Conflicts:
#	voidcrew/modules/outpost_police/police_force.dm
#	voidcrew/modules/stealth_police/police_stealth.dm
# Conflicts:
#	voidcrew/modules/unit_tests/voidcrew_outpost_police_stealth.dm
# Conflicts:
#	voidcrew/modules/trade/outpost_checkpoint.dm
Morgue crew pull player bodies on foot through the exit gate to the lobby trays and ride the hangar lift only to and from berths; medics and morgue crew cross the checkpoint from the lobby, have their own lines, and leave by lift when idle; a revived player can push out of a shut tray; empty bags no longer block trays; CLEANUP waits for collectable player bodies; a wave whose workers all left ends; replacement guards step off the lift; the offscreen reset lights tray status and cleans the whole box.
# Conflicts:
#	voidcrew/modules/outpost_police/recovery_morgue.dm
#	voidcrew/modules/trade/outpost_checkpoint.dm
An officer who watches a crime still calls it out when a trader reports it. A prisoner stepped through the exit gate keeps the grip they were held in. The check-in gap starts with the attempt. Tests set up their fixtures the way the game does: takedown cases, officer force, open floor for the locker crate and the bomber, a jumpsuit for pockets, an awake officer.
- Stealth scan: BYOND's get_dist() of a turf with itself is -1, so anyone on a
  guard's own tile indexed bucket 0 and the whole look or listen runtimed.
  Same-tile mobs are distance 0, and the bucket list is sized from a clamped
  whole-number range.
- Jail strip: retracting a MODsuit drops whatever sits in suit storage (where
  the magnetic harness puts a gun dropped at cuffing), and that item was never
  in the gear list, so it stayed on the cell floor. Items worn before the
  retraction that land beside the prisoner now go in the locker, and warrant
  tools anywhere on the prisoner go to the evidence locker first.
- Escorts: outpost NPCs, other officers included, standing in an escort's path
  step aside with a real step, or on ahead in a 1-wide hall, on the walk to the
  desk and cell, in and out of the cell, and onto the lift car.
- Lifts: dispatch holds off until the round starts (no NPC AI runs before it,
  so units sent in the lobby stood frozen on their lift point). A response unit
  with no suspect and no case goes home instead of idling; departing officers
  pick a lift tile nobody stands on, re-pick when theirs gets taken, and leave
  from any lift tile they reach.
- Cell doors (owner decision 47): hacked like any airlock. Panel, wires, the
  override card and an emag, and a pry once unpowered. Opening one on a held
  prisoner is the hacker's jailbreak. A hacked door mends itself after three
  minutes once the doorway is clear, and the cell's own control still books
  and releases through a hacked door.
…ate, and shut cell doors with the airlock's own sound

Officers walk on walk intent, where tg never swaps or pushes, so two officers meeting, or one paused in a doorway,
blocked each other for good. An officer now trades places with an outpost NPC in its way, steps aside for an
escort (or has the NPC step aside when it is the escort), and plans around anyone who stays put. An escort crossing
an exit gate lines up in front of it and goes straight through, so the pull no longer breaks on a diagonal. The
cell door closes normally instead of with the forced (pried) sound while an officer is at work.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant