Forensics (#8451)
* Port forensics from nyanotrasen * port updates * printing * Update Resources/Locale/en-US/forensics/forensics.ftl Co-authored-by: Veritius <veritiusgaming@gmail.com> * Update Content.Server/Forensics/Components/ForensicPadComponent.cs Co-authored-by: Kara <lunarautomaton6@gmail.com> * Update Content.Server/Forensics/Systems/ForensicPadSystem.cs Co-authored-by: Kara <lunarautomaton6@gmail.com> * Update Content.Server/Forensics/Systems/ForensicScannerSystem.cs Co-authored-by: Kara <lunarautomaton6@gmail.com> * partially address reviews * comments * redo the events * handle it * rewrite loc * master fixes Co-authored-by: ike709 <ike709@github.com> Co-authored-by: Veritius <veritiusgaming@gmail.com> Co-authored-by: Kara <lunarautomaton6@gmail.com>
This commit is contained in:
22
Resources/Locale/en-US/forensics/fibers.ftl
Normal file
22
Resources/Locale/en-US/forensics/fibers.ftl
Normal file
@@ -0,0 +1,22 @@
|
||||
forensic-fibers = {LOC($material)} fibers
|
||||
forensic-fibers-colored = {LOC($color)} {LOC($material)} fibers
|
||||
|
||||
fibers-insulative = insulative
|
||||
fibers-synthetic = synthetic
|
||||
fibers-leather = leather
|
||||
fibers-durathread = durathread
|
||||
fibers-latex = latex
|
||||
fibers-nitrile = nitrile
|
||||
fibers-nanomachines = insulative nanomachine
|
||||
|
||||
fibers-purple = purple
|
||||
fibers-red = red
|
||||
fibers-black = black
|
||||
fibers-blue = blue
|
||||
fibers-brown = brown
|
||||
fibers-grey = grey
|
||||
fibers-green = green
|
||||
fibers-orange = orange
|
||||
fibers-white = white
|
||||
fibers-yellow = yellow
|
||||
fibers-regal-blue = regal blue
|
||||
15
Resources/Locale/en-US/forensics/forensics.ftl
Normal file
15
Resources/Locale/en-US/forensics/forensics.ftl
Normal file
@@ -0,0 +1,15 @@
|
||||
forensic-scanner-interface-title = Forensic scanner
|
||||
forensic-scanner-interface-fingerprints = Fingerprints
|
||||
forensic-scanner-interface-fibers = Fibers
|
||||
forensic-scanner-interface-no-data = No scan data available
|
||||
forensic-scanner-interface-print = Print
|
||||
forensic-scanner-report-title = Forensics Report
|
||||
forensic-pad-unused = It hasn't been used.
|
||||
forensic-pad-sample = It has a sample: {$sample}
|
||||
forensic-pad-gloves = {CAPITALIZE($target)} is wearing gloves.
|
||||
forensic-pad-start-scan-target = {CAPITALIZE($user)} is trying to take a sample of your fingerprints.
|
||||
forensic-pad-start-scan-user = You start taking a sample of {CAPITALIZE($target)}'s fingerprints.
|
||||
forensic-pad-already-used = This pad has already been used.
|
||||
forensic-scanner-match-fiber = Match in fiber found!
|
||||
forensic-scanner-match-fingerprint = Match in fingerprint found!
|
||||
forensic-scanner-match-none = No matches found!
|
||||
@@ -128,6 +128,19 @@
|
||||
- id: AcousticGuitarInstrument
|
||||
- id: SaxophoneInstrument
|
||||
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
parent: ClothingBackpack
|
||||
id: ClothingBackpackDetectiveFilled
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: BoxSurvival
|
||||
- id: Lighter
|
||||
- id: CigPackBlack
|
||||
- id: HandLabeler
|
||||
- id: BoxForensicPad
|
||||
|
||||
# ERT
|
||||
|
||||
- type: entity
|
||||
|
||||
@@ -105,3 +105,17 @@
|
||||
- id: BoxSurvival
|
||||
- id: AcousticGuitarInstrument
|
||||
- id: SaxophoneInstrument
|
||||
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
parent: ClothingBackpackDuffel
|
||||
id: ClothingBackpackDuffelDetectiveFilled
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: BoxSurvival
|
||||
- id: Lighter
|
||||
- id: CigPackBlack
|
||||
- id: BoxForensicPad
|
||||
- id: HandLabeler
|
||||
|
||||
|
||||
@@ -104,6 +104,19 @@
|
||||
- id: AcousticGuitarInstrument
|
||||
- id: SaxophoneInstrument
|
||||
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
parent: ClothingBackpackSatchel
|
||||
id: ClothingBackpackSatchelDetectiveFilled
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: BoxSurvival
|
||||
- id: Lighter
|
||||
- id: CigPackBlack
|
||||
- id: BoxForensicPad
|
||||
- id: HandLabeler
|
||||
|
||||
- type: entity
|
||||
noSpawn: true
|
||||
parent: ClothingBackpackSatchel
|
||||
|
||||
@@ -58,6 +58,20 @@
|
||||
- state: box_security
|
||||
- state: ziptie
|
||||
|
||||
- type: entity
|
||||
name: forensic pad box
|
||||
parent: BoxCardboard
|
||||
id: BoxForensicPad
|
||||
description: A box of forensic pads.
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: ForensicPad
|
||||
amount: 10
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: box_security
|
||||
|
||||
# TODO: THESE ARE BAD AND ARE DEPRECATED, DON'T USE THEM PLEASE
|
||||
- type: entity
|
||||
name: box of shotgun beanbag cartridges
|
||||
|
||||
@@ -53,6 +53,8 @@
|
||||
- id: ClothingOuterVestDetective
|
||||
- id: ClothingOuterCoatDetective
|
||||
- id: FlashlightSeclite
|
||||
- id: ForensicScanner
|
||||
- id: BoxForensicPad
|
||||
- id: WeaponRevolverInspector
|
||||
|
||||
- type: entity
|
||||
|
||||
@@ -8,6 +8,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/purple.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/Color/purple.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-purple
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -19,6 +23,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/red.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/Color/red.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-red
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -31,6 +39,10 @@
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/Color/black.rsi
|
||||
HeatResistance: 1400
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-black
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -42,6 +54,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/blue.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/Color/blue.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-blue
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -53,6 +69,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/brown.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/Color/brown.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-brown
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -64,6 +84,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/gray.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/Color/gray.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-grey
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -75,6 +99,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/green.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/Color/green.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-green
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -86,6 +114,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/lightbrown.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/Color/lightbrown.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-brown
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -97,6 +129,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/orange.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/Color/orange.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-orange
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -108,6 +144,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/white.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/Color/white.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-white
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -121,6 +161,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/yellow.rsi
|
||||
HeatResistance: 1400
|
||||
- type: Insulated
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-insulative
|
||||
fiberColor: fibers-yellow
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsGlovesColorYellow
|
||||
@@ -131,6 +175,10 @@
|
||||
- type: Clothing
|
||||
HeatResistance: 0
|
||||
- type: Insulated
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-insulative
|
||||
fiberColor: fibers-yellow
|
||||
- type: FingerprintMask
|
||||
- type: RandomInsulation
|
||||
# Why repeated numbers? So some numbers are more common, of course!
|
||||
list:
|
||||
|
||||
@@ -8,6 +8,10 @@
|
||||
sprite: Clothing/Hands/Gloves/boxing.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/boxing.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-leather
|
||||
fiberColor: fibers-red
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -21,6 +25,10 @@
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/boxing.rsi
|
||||
HeldPrefix: blue
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-leather
|
||||
fiberColor: fibers-blue
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -34,6 +42,10 @@
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/boxing.rsi
|
||||
HeldPrefix: green
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-leather
|
||||
fiberColor: fibers-green
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -47,6 +59,10 @@
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/boxing.rsi
|
||||
HeldPrefix: yellow
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-leather
|
||||
fiberColor: fibers-yellow
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -60,6 +76,10 @@
|
||||
sprite: Clothing/Hands/Gloves/captain.rsi
|
||||
HeatResistance: 1400
|
||||
- type: Insulated
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-durathread
|
||||
fiberColor: fibers-regal-blue
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -71,6 +91,10 @@
|
||||
sprite: Clothing/Hands/Gloves/ihscombat.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/ihscombat.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-durathread
|
||||
- type: FingerprintMask
|
||||
|
||||
#### Medical
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -84,6 +108,9 @@
|
||||
sprite: Clothing/Hands/Gloves/latex.rsi
|
||||
- type: DiseaseProtection
|
||||
protection: 0.1
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-latex
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -97,29 +124,39 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/blue.rsi
|
||||
- type: DiseaseProtection
|
||||
protection: 0.15
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-nitrile
|
||||
- type: FingerprintMask
|
||||
####
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
id: ClothingHandsGlovesLeather
|
||||
name: "botanist's leather gloves"
|
||||
description: "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin. They're also quite warm."
|
||||
name: botanist's leather gloves
|
||||
description: These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin. They're also quite warm.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Clothing/Hands/Gloves/leather.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/leather.rsi
|
||||
HeatResistance: 1400
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-leather
|
||||
fiberColor: fibers-brown
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
id: ClothingHandsGlovesPowerglove
|
||||
name: power gloves
|
||||
description: Now I'm playin' with power! Wait, they are turned off. # Use "Now I'm playin' with power! BAM!" for when they're turned on
|
||||
description: Now I'm playin' with power! Wait, they are turned off. # Use Now I'm playin' with power! BAM! for when they're turned on
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Clothing/Hands/Gloves/powerglove.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/powerglove.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-nanomachines
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -131,6 +168,10 @@
|
||||
sprite: Clothing/Hands/Gloves/robohands.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/robohands.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-leather
|
||||
fiberColor: fibers-black
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -144,6 +185,9 @@
|
||||
sprite: Clothing/Hands/Gloves/spaceninja.rsi
|
||||
HeatResistance: 1400
|
||||
- type: Insulated
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-nanomachines
|
||||
- type: FingerprintMask
|
||||
- type: Thieving
|
||||
stealTime: 1
|
||||
stealthy: true
|
||||
@@ -160,6 +204,10 @@
|
||||
sprite: Clothing/Hands/Gloves/Color/black.rsi
|
||||
HeatResistance: 1400
|
||||
- type: Insulated
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-insulative
|
||||
fiberColor: fibers-black
|
||||
- type: FingerprintMask
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
@@ -171,6 +219,9 @@
|
||||
sprite: Clothing/Hands/Gloves/fingerless.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Hands/Gloves/fingerless.rsi
|
||||
- type: Fiber
|
||||
fiberMaterial: fibers-synthetic
|
||||
fiberColor: fibers-black
|
||||
|
||||
- type: entity
|
||||
parent: ClothingHandsBase
|
||||
|
||||
@@ -318,6 +318,7 @@
|
||||
attributes:
|
||||
proper: true
|
||||
- type: StandingState
|
||||
- type: Fingerprint
|
||||
- type: MobPrice
|
||||
price: 1500 # Kidnapping a living person and selling them for cred is a good move.
|
||||
deathPenalty: 0.01 # However they really ought to be living and intact, otherwise they're worth 100x less.
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
- type: entity
|
||||
name: forensic scanner
|
||||
parent: BaseItem
|
||||
id: ForensicScanner
|
||||
description: A handheld device that can scan objects for fingerprints and fibers.
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Objects/Devices/forensic_scanner.rsi
|
||||
state: forensicnew
|
||||
- type: Clothing
|
||||
size: 5
|
||||
sprite: Objects/Devices/forensic_scanner.rsi
|
||||
quickEquip: false
|
||||
Slots:
|
||||
- Belt
|
||||
- type: ActivatableUI
|
||||
key: enum.ForensicScannerUiKey.Key
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.ForensicScannerUiKey.Key
|
||||
type: ForensicScannerBoundUserInterface
|
||||
- type: ForensicScanner
|
||||
@@ -0,0 +1,15 @@
|
||||
- type: entity
|
||||
id: ForensicPad
|
||||
name: forensic pad
|
||||
parent: BaseItem
|
||||
description: A forensic pad for collecting fingerprints or fibers.
|
||||
components:
|
||||
- type: Item
|
||||
size: 3
|
||||
- type: ForensicPad
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/bureaucracy.rsi
|
||||
netsync: false
|
||||
layers:
|
||||
- state: paper
|
||||
color: yellow
|
||||
@@ -48,3 +48,4 @@
|
||||
interfaces:
|
||||
- key: enum.StorageUiKey.Key
|
||||
type: StorageBoundUserInterface
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 736 B |
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"copyright" : "Taken from https://github.com/tgstation/tgstation",
|
||||
"license" : "CC-BY-SA-3.0",
|
||||
"size" : {
|
||||
"x" : 32,
|
||||
"y" : 32
|
||||
},
|
||||
"states" : [
|
||||
{
|
||||
"delays" : [
|
||||
[
|
||||
0.8,
|
||||
0.2
|
||||
]
|
||||
],
|
||||
"directions" : 1,
|
||||
"name" : "forensicnew"
|
||||
}
|
||||
],
|
||||
"version" : 1
|
||||
}
|
||||
Reference in New Issue
Block a user