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 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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