Repository navigation
Conversation
…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.
…witch, box, blast, cuffs
…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.
…ans and witnesses
…able reads checkpoints by id; test fixes
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
The security squad
Officer looks per outpost (beat, sergeant, officer, tactical, marshal):
Patrol routes on each outpost:
Arrest, fine, jail
The security station on each outpost's lobby side (cells, property lockers, desk, evidence chute):
Lethal response and the embargo
Killable traders and gate guards
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
The new morgue and janitor closet, before and after:
A morgue worker:
Removed
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.