diff --git a/Content.Server/Forensics/Components/ForensicScannerComponent.cs b/Content.Server/Forensics/Components/ForensicScannerComponent.cs
index 7e64a5a05b..29a34407fe 100644
--- a/Content.Server/Forensics/Components/ForensicScannerComponent.cs
+++ b/Content.Server/Forensics/Components/ForensicScannerComponent.cs
@@ -1,5 +1,7 @@
using System.Threading;
using Robust.Shared.Audio;
+using Robust.Shared.Prototypes;
+using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Server.Forensics
{
@@ -72,5 +74,12 @@ namespace Content.Server.Forensics
///
[DataField("soundPrint")]
public SoundSpecifier SoundPrint = new SoundPathSpecifier("/Audio/Machines/short_print_and_rip.ogg");
+
+ ///
+ /// What the machine will print
+ ///
+ [DataField("machineOutput", customTypeSerializer: typeof(PrototypeIdSerializer))]
+ public string MachineOutput = "ForensicReportPaper";
+
}
}
diff --git a/Content.Server/Forensics/Systems/ForensicScannerSystem.cs b/Content.Server/Forensics/Systems/ForensicScannerSystem.cs
index 4f629590c8..27b5901468 100644
--- a/Content.Server/Forensics/Systems/ForensicScannerSystem.cs
+++ b/Content.Server/Forensics/Systems/ForensicScannerSystem.cs
@@ -188,7 +188,7 @@ namespace Content.Server.Forensics
}
// Spawn a piece of paper.
- var printed = EntityManager.SpawnEntity("Paper", Transform(uid).Coordinates);
+ var printed = EntityManager.SpawnEntity(component.MachineOutput, Transform(uid).Coordinates);
_handsSystem.PickupOrDrop(args.Session.AttachedEntity, printed, checkActionBlocker: false);
if (!TryComp(printed, out var paper))
diff --git a/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml b/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml
index ac419c51ec..abdef8dd1d 100644
--- a/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml
+++ b/Resources/Prototypes/Entities/Objects/Devices/forensic_scanner.yml
@@ -24,3 +24,28 @@
- key: enum.ForensicScannerUiKey.Key
type: ForensicScannerBoundUserInterface
- type: ForensicScanner
+
+- type: entity
+ name: forensic scanner report
+ parent: Paper
+ id: ForensicReportPaper
+ description: 'Circumstantial evidence, at best'
+ components:
+ - type: Sprite
+ sprite: Objects/Misc/bureaucracy.rsi
+ layers:
+ - state: paper_receipt_horizontal
+ - state: paper_receipt_horizontal_words
+ map: ["enum.PaperVisualLayers.Writing"]
+ visible: false
+ - state: paper_stamp-generic
+ map: ["enum.PaperVisualLayers.Stamp"]
+ visible: false
+ - type: PaperVisuals
+ backgroundImagePath: "/Textures/Interface/Paper/paper_background_perforated.svg.96dpi.png"
+ headerImagePath: "/Textures/Interface/Paper/paper_heading_forensic_scanner.svg.96dpi.png"
+ headerMargin: 0.0, 0.0, 0.0, 4.0
+ backgroundImageTile: true
+ backgroundPatchMargin: 6.0, 0.0, 6.0, 0.0
+ contentMargin: 12.0, 0.0, 6.0, 0.0
+ maxWritableArea: 368.0, 256.0
diff --git a/Resources/Textures/Interface/Paper/paper_heading_forensic_scanner.svg b/Resources/Textures/Interface/Paper/paper_heading_forensic_scanner.svg
new file mode 100644
index 0000000000..09f821ff9e
--- /dev/null
+++ b/Resources/Textures/Interface/Paper/paper_heading_forensic_scanner.svg
@@ -0,0 +1,217 @@
+
+
diff --git a/Resources/Textures/Interface/Paper/paper_heading_forensic_scanner.svg.96dpi.png b/Resources/Textures/Interface/Paper/paper_heading_forensic_scanner.svg.96dpi.png
new file mode 100644
index 0000000000..265337b17d
Binary files /dev/null and b/Resources/Textures/Interface/Paper/paper_heading_forensic_scanner.svg.96dpi.png differ
diff --git a/Resources/Textures/Objects/Misc/bureaucracy.rsi/meta.json b/Resources/Textures/Objects/Misc/bureaucracy.rsi/meta.json
index 98f3c82813..0ab6ce3316 100644
--- a/Resources/Textures/Objects/Misc/bureaucracy.rsi/meta.json
+++ b/Resources/Textures/Objects/Misc/bureaucracy.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432. stamp-syndicate is a modified version of stamp-warden. paper_stamp-syndicate by Veritius. paper_receipt by eoineoineoin. pen_centcom is a resprited version of pen_cap by PuroSlavKing (Github)",
+ "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432. stamp-syndicate is a modified version of stamp-warden. paper_stamp-syndicate by Veritius. paper_receipt, paper_receipt_horizontal by eoineoineoin. pen_centcom is a resprited version of pen_cap by PuroSlavKing (Github)",
"size": {
"x": 32,
"y": 32
@@ -201,6 +201,12 @@
{
"name": "paper_receipt_words"
},
+ {
+ "name": "paper_receipt_horizontal"
+ },
+ {
+ "name": "paper_receipt_horizontal_words"
+ },
{
"name": "paper_dotmatrix"
},
diff --git a/Resources/Textures/Objects/Misc/bureaucracy.rsi/paper_receipt_horizontal.png b/Resources/Textures/Objects/Misc/bureaucracy.rsi/paper_receipt_horizontal.png
new file mode 100644
index 0000000000..55d1dbca02
Binary files /dev/null and b/Resources/Textures/Objects/Misc/bureaucracy.rsi/paper_receipt_horizontal.png differ
diff --git a/Resources/Textures/Objects/Misc/bureaucracy.rsi/paper_receipt_horizontal_words.png b/Resources/Textures/Objects/Misc/bureaucracy.rsi/paper_receipt_horizontal_words.png
new file mode 100644
index 0000000000..61da64bb49
Binary files /dev/null and b/Resources/Textures/Objects/Misc/bureaucracy.rsi/paper_receipt_horizontal_words.png differ