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:
16
Content.Server/Forensics/Components/FiberComponent.cs
Normal file
16
Content.Server/Forensics/Components/FiberComponent.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
namespace Content.Server.Forensics
|
||||
{
|
||||
/// <summary>
|
||||
/// This controls fibers left by gloves on items,
|
||||
/// which the forensics system uses.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed class FiberComponent : Component
|
||||
{
|
||||
[DataField("fiberMaterial")]
|
||||
public string FiberMaterial = "fibers-synthetic";
|
||||
|
||||
[DataField("fiberColor")]
|
||||
public string? FiberColor;
|
||||
}
|
||||
}
|
||||
12
Content.Server/Forensics/Components/FingerprintComponent.cs
Normal file
12
Content.Server/Forensics/Components/FingerprintComponent.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace Content.Server.Forensics
|
||||
{
|
||||
/// <summary>
|
||||
/// This component is for mobs that leave fingerprints.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed class FingerprintComponent : Component
|
||||
{
|
||||
[DataField("fingerprint")]
|
||||
public string? Fingerprint;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace Content.Server.Forensics
|
||||
{
|
||||
/// <summary>
|
||||
/// This component stops the entity from leaving finger prints,
|
||||
/// usually so fibres can be left instead.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed class FingerprintMaskComponent : Component
|
||||
{}
|
||||
}
|
||||
19
Content.Server/Forensics/Components/ForensicPadComponent.cs
Normal file
19
Content.Server/Forensics/Components/ForensicPadComponent.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System.Threading;
|
||||
|
||||
namespace Content.Server.Forensics
|
||||
{
|
||||
/// <summary>
|
||||
/// Used to take a sample of someone's fingerprints.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed class ForensicPadComponent : Component
|
||||
{
|
||||
public CancellationTokenSource? CancelToken;
|
||||
|
||||
[DataField("scanDelay")]
|
||||
public float ScanDelay = 3.0f;
|
||||
|
||||
public bool Used = false;
|
||||
public String Sample = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
using System.Threading;
|
||||
|
||||
namespace Content.Server.Forensics
|
||||
{
|
||||
[RegisterComponent]
|
||||
public sealed class ForensicScannerComponent : Component
|
||||
{
|
||||
public CancellationTokenSource? CancelToken;
|
||||
|
||||
/// <summary>
|
||||
/// A list of fingerprint GUIDs that the forensic scanner found from the <see cref="ForensicsComponent"/> on an entity.
|
||||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadOnly)]
|
||||
public List<string> Fingerprints = new();
|
||||
/// <summary>
|
||||
/// A list of glove fibers that the forensic scanner found from the <see cref="ForensicsComponent"/> on an entity.
|
||||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadOnly)]
|
||||
public List<string> Fibers = new();
|
||||
|
||||
/// <summary>
|
||||
/// The time (in seconds) that it takes to scan an entity.
|
||||
/// </summary>
|
||||
[DataField("scanDelay")]
|
||||
public float ScanDelay = 3.0f;
|
||||
}
|
||||
}
|
||||
12
Content.Server/Forensics/Components/ForensicsComponent.cs
Normal file
12
Content.Server/Forensics/Components/ForensicsComponent.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace Content.Server.Forensics
|
||||
{
|
||||
[RegisterComponent]
|
||||
public sealed class ForensicsComponent : Component
|
||||
{
|
||||
[DataField("fingerprints")]
|
||||
public HashSet<string> Fingerprints = new();
|
||||
|
||||
[DataField("fibers")]
|
||||
public HashSet<string> Fibers = new();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user