Add more DNA interactions (#21989)
* Add more DNA interactions * remove unused import * update based on feedback * Add event for chemistrysystem.injector * move event to shared; transfer dna to implanter * doafter and interaction event fixes * add BreakOnHandChange * doh * use events instead of updating component directly * Add DataFields to ForensicScannerComponent fields * Convert most events to system api call
This commit is contained in:
@@ -13,21 +13,27 @@ namespace Content.Server.Forensics
|
||||
/// <summary>
|
||||
/// A list of fingerprint GUIDs that the forensic scanner found from the <see cref="ForensicsComponent"/> on an entity.
|
||||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadOnly)]
|
||||
[ViewVariables(VVAccess.ReadOnly), DataField("fingerprints")]
|
||||
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)]
|
||||
[ViewVariables(VVAccess.ReadOnly), DataField("fibers")]
|
||||
public List<string> Fibers = new();
|
||||
|
||||
/// <summary>
|
||||
/// DNA that the forensic scanner found from the <see cref="DNAComponent"/> on an entity.
|
||||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadOnly)]
|
||||
[ViewVariables(VVAccess.ReadOnly), DataField("dnas")]
|
||||
public List<string> DNAs = new();
|
||||
|
||||
/// <summary>
|
||||
/// Residue that the forensic scanner found from the <see cref="ForensicsComponent"/> on an entity.
|
||||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadOnly), DataField("residues")]
|
||||
public List<string> Residues = new();
|
||||
|
||||
/// <summary>
|
||||
/// What is the name of the entity that was scanned last?
|
||||
/// </summary>
|
||||
|
||||
@@ -11,5 +11,27 @@ namespace Content.Server.Forensics
|
||||
|
||||
[DataField("dnas")]
|
||||
public HashSet<string> DNAs = new();
|
||||
|
||||
[DataField("residues")]
|
||||
public HashSet<string> Residues = new();
|
||||
|
||||
/// <summary>
|
||||
/// How long it takes to wipe the prints/blood/etc. off of this entity
|
||||
/// </summary>
|
||||
[DataField("cleanDelay")]
|
||||
public float CleanDelay = 12.0f;
|
||||
|
||||
/// <summary>
|
||||
/// How close you must be to wipe the prints/blood/etc. off of this entity
|
||||
/// </summary>
|
||||
[DataField("cleanDistance")]
|
||||
public float CleanDistance = 1.5f;
|
||||
|
||||
/// <summary>
|
||||
/// Can the DNA be cleaned off of this entity?
|
||||
/// e.g. you can clean the DNA off of a knife, but not a puddle
|
||||
/// </summary>
|
||||
[DataField("canDnaBeCleaned")]
|
||||
public bool CanDnaBeCleaned = true;
|
||||
}
|
||||
}
|
||||
|
||||
15
Content.Server/Forensics/Components/ResidueComponent.cs
Normal file
15
Content.Server/Forensics/Components/ResidueComponent.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
namespace Content.Server.Forensics;
|
||||
|
||||
/// <summary>
|
||||
/// This controls residues left on items
|
||||
/// which the forensics system uses.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed partial class ResidueComponent : Component
|
||||
{
|
||||
[DataField]
|
||||
public LocId ResidueAdjective = "residue-unknown";
|
||||
|
||||
[DataField]
|
||||
public string? ResidueColor;
|
||||
}
|
||||
Reference in New Issue
Block a user