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:
SlamBamActionman
2024-08-09 01:27:27 +02:00
committed by GitHub
parent c43fcdfa06
commit 07174d0aaf
45 changed files with 307 additions and 66 deletions

View File

@@ -7,7 +7,8 @@ namespace Content.Shared.Forensics
{
public readonly List<string> Fingerprints = new();
public readonly List<string> Fibers = new();
public readonly List<string> DNAs = new();
public readonly List<string> TouchDNAs = new();
public readonly List<string> SolutionDNAs = new();
public readonly List<string> Residues = new();
public readonly string LastScannedName = string.Empty;
public readonly TimeSpan PrintCooldown = TimeSpan.Zero;
@@ -16,7 +17,8 @@ namespace Content.Shared.Forensics
public ForensicScannerBoundUserInterfaceState(
List<string> fingerprints,
List<string> fibers,
List<string> dnas,
List<string> touchDnas,
List<string> solutionDnas,
List<string> residues,
string lastScannedName,
TimeSpan printCooldown,
@@ -24,7 +26,8 @@ namespace Content.Shared.Forensics
{
Fingerprints = fingerprints;
Fibers = fibers;
DNAs = dnas;
TouchDNAs = touchDnas;
SolutionDNAs = solutionDnas;
Residues = residues;
LastScannedName = lastScannedName;
PrintCooldown = printCooldown;