Add custom paper for forensic scanner output (#16221)

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
This commit is contained in:
eoineoineoin
2023-05-31 10:09:05 +01:00
committed by GitHub
parent ee2fea7520
commit c8a2fb6cd4
8 changed files with 259 additions and 2 deletions

View File

@@ -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
/// </summary>
[DataField("soundPrint")]
public SoundSpecifier SoundPrint = new SoundPathSpecifier("/Audio/Machines/short_print_and_rip.ogg");
/// <summary>
/// What the machine will print
/// </summary>
[DataField("machineOutput", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
public string MachineOutput = "ForensicReportPaper";
}
}

View File

@@ -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<PaperComponent>(printed, out var paper))

View File

@@ -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

View File

@@ -0,0 +1,217 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="256"
height="46"
viewBox="0 0 256 46"
fill="none"
version="1.1"
id="svg4"
sodipodi:docname="paper_heading_forensic_scanner.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
inkscape:export-filename="paper_heading_forensic_scanner.svg.96dpi.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8">
<rect
x="29.648773"
y="7.0787616"
width="184.66319"
height="56.921238"
id="rect372" />
<rect
x="12.500253"
y="14.598581"
width="334.51892"
height="47.488827"
id="rect348" />
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1916"
inkscape:window-height="1034"
id="namedview6"
showgrid="false"
inkscape:snap-bbox="true"
inkscape:bbox-paths="false"
inkscape:bbox-nodes="true"
inkscape:snap-object-midpoints="false"
inkscape:snap-nodes="false"
inkscape:snap-page="true"
inkscape:zoom="4.0971625"
inkscape:cx="163.89391"
inkscape:cy="60.895802"
inkscape:window-x="0"
inkscape:window-y="44"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Decoration"
style="display:inline">
<path
style="fill:none;stroke:#5e6ca2;stroke-width:3.36859;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 4.663163,42.719633 c 37.153862,0 51.987247,-5.840333 62.933473,-14.653097"
id="path1143"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#5e6ca2;stroke-width:3.36859;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 5.0265191,2.3423654 c 37.1538609,0 51.9872459,5.8403322 62.9334719,14.6530966"
id="path1638"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#5e6ca2;stroke-width:3.36859;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 79.639105,32.283687 c 16.637747,12.842999 79.893145,11.678405 94.796755,0"
id="path1644"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#5e6ca2;stroke-width:3.36859;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 79.639105,13.628232 c 16.637747,-12.84299898 79.893145,-11.6784051 94.796755,0"
id="path1646"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 10.268838,7.5588228 V 18.867646"
id="path1648" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 24.199955,8.0221783 24.305198,18.867646"
id="path2003"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 38.341559,9.774533 v 9.093113"
id="path2007"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 52.377919,13.141809 v 5.725837"
id="path2011"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 10.268838,37.25943 V 25.950607"
id="path2027" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 24.199955,36.796074 24.305198,25.950607"
id="path2029"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 38.341559,35.04372 V 25.950607"
id="path2031"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 52.377919,31.676444 V 25.950607"
id="path2033"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#5e6ca2;stroke-width:3.36859;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 248.42748,42.719633 c -37.15387,0 -51.98725,-5.840333 -62.93348,-14.653097"
id="path2051"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#5e6ca2;stroke-width:3.36859;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 248.06412,2.3423654 c -37.15386,0 -51.98724,5.8403322 -62.93347,14.6530966"
id="path2053"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 242.8218,7.5588228 V 18.867646"
id="path2055" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 228.89068,8.0221783 228.78544,18.867646"
id="path2057"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 214.74908,9.774533 v 9.093113"
id="path2059"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="m 200.71272,13.141809 v 5.725837"
id="path2061"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 242.8218,37.25943 V 25.950607"
id="path2063" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 228.89068,36.796074 228.78544,25.950607"
id="path2065"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 214.74908,35.04372 V 25.950607"
id="path2067"
sodipodi:nodetypes="cc" />
<path
style="fill:#183399;fill-opacity:1;stroke:#8896cc;stroke-width:4.21074;stroke-linecap:round;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
d="M 200.71272,31.676444 V 25.950607"
id="path2069"
sodipodi:nodetypes="cc" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Text">
<path
d="m 94.987632,31.178909 h -9.81881 V 13.608408 h 9.81881 v 1.944075 h -7.604041 v 5.487706 h 7.161087 v 1.919466 h -7.161087 v 6.275179 h 7.604041 z"
style="font-size:40px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;white-space:pre;fill:#04b284;stroke-width:1.215;stroke:#04b284;stroke-opacity:1;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round"
id="path2859" />
<path
d="M 109.58049,31.178909 H 97.399263 v -1.673381 l 9.252817,-13.928436 h -8.957515 v -1.968684 h 11.639845 v 1.673381 l -9.25282,13.928436 h 9.4989 z"
style="font-size:40px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;white-space:pre;fill:#04b284;stroke-width:1.215;stroke:#04b284;stroke-opacity:1;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round"
id="path2861" />
<path
d="m 111.52458,22.723102 v -1.919466 h 5.95527 v 1.919466 z"
style="font-size:40px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;white-space:pre;fill:#04b284;stroke-width:1.215;stroke:#04b284;stroke-opacity:1;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round"
id="path2863" />
<path
d="m 134.92732,22.221399 q 0,4.454146 -2.43625,6.718132 -2.41163,2.239378 -6.74274,2.239378 h -4.8971 V 13.608408 h 5.41388 q 2.65772,0 4.6018,0.984342 1.94407,0.984342 3.00224,2.903808 1.05817,1.894858 1.05817,4.724841 z m -2.33781,0.07382 q 0,-3.519021 -1.74721,-5.143185 -1.7226,-1.648773 -4.8971,-1.648773 h -2.8792 v 13.780785 h 2.38703 q 7.13648,0 7.13648,-6.988827 z"
style="font-size:40px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;white-space:pre;fill:#04b284;stroke-width:1.215;stroke:#04b284;stroke-opacity:1;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round"
id="path2865" />
<path
d="M 152.74389,31.178909 H 150.16 l -9.40047,-14.592867 h -0.0984 q 0.0492,0.861299 0.12304,2.140944 0.0738,1.279644 0.0738,2.633114 v 9.818809 h -2.04251 V 13.608408 h 2.55929 l 9.37585,14.54365 h 0.0984 q -0.0246,-0.393737 -0.0738,-1.18121 -0.0246,-0.787474 -0.0738,-1.722598 -0.0246,-0.935125 -0.0246,-1.722598 v -9.917244 h 2.06712 z"
style="font-size:40px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;white-space:pre;fill:#04b284;stroke-width:1.215;stroke:#04b284;stroke-opacity:1;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round"
id="path2867" />
<path
d="m 168.54258,31.178909 -2.11633,-5.438488 h -6.96422 l -2.09172,5.438488 h -2.23938 l 6.86578,-17.644326 H 163.99 l 6.84118,17.644326 z m -4.74944,-12.722617 q -0.0738,-0.196869 -0.24609,-0.713648 -0.17226,-0.51678 -0.34452,-1.058168 -0.14765,-0.565996 -0.24609,-0.861299 -0.17226,0.762865 -0.39373,1.501121 -0.22148,0.713648 -0.36913,1.131994 l -1.99329,5.315445 h 5.56153 z"
style="font-size:40px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:sans-serif;white-space:pre;fill:#04b284;stroke-width:1.215;stroke:#04b284;stroke-opacity:1;stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round"
id="path2869" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -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"
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B