Better DNA forensics & ReagentData (#26699)
* Added the ability for blood to track DNA using ReagentData; Forensic Scanner now accounts for solution DNA, non-DNA holders have "Unknown DNA" * Removes touch DNA for puddles, adds DNA to vomit * DNA now leaves traces in containers and those marked without don't show DNA on scan (except for puddles), gibbed parts have DNA * Fix stupid metamorphic glass bug grrr * Removed SpillableComponent since DnaSubstanceTraceComponent is used instead * Removes data field from maps, adds DNA tracking for some missed items * Give default value, fix missing values. * Fixes recipe bug * Review changes * Make the Data list into a nullable type * Revert map changes * Move gibbed unknown DNA to forensicssystem
This commit is contained in:
28
Content.Shared/Chemistry/Reagent/DNAData.cs
Normal file
28
Content.Shared/Chemistry/Reagent/DNAData.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using Content.Shared.FixedPoint;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.Chemistry.Reagent;
|
||||
|
||||
[ImplicitDataDefinitionForInheritors, Serializable, NetSerializable]
|
||||
public sealed partial class DnaData : ReagentData
|
||||
{
|
||||
[DataField]
|
||||
public string DNA = String.Empty;
|
||||
|
||||
public override ReagentData Clone() => this;
|
||||
|
||||
public override bool Equals(ReagentData? other)
|
||||
{
|
||||
if (other == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return ((DnaData) other).DNA == DNA;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return DNA.GetHashCode();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user