Add custom paper for forensic scanner output (#16221)
Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
This commit is contained in:
@@ -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";
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
@@ -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 |
Reference in New Issue
Block a user