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

@@ -17,7 +17,7 @@ public partial struct ReagentQuantity : IEquatable<ReagentQuantity>
[ViewVariables]
public ReagentId Reagent { get; private set; }
public ReagentQuantity(string reagentId, FixedPoint2 quantity, ReagentData? data)
public ReagentQuantity(string reagentId, FixedPoint2 quantity, List<ReagentData>? data = null)
: this(new ReagentId(reagentId, data), quantity)
{
}
@@ -37,7 +37,7 @@ public partial struct ReagentQuantity : IEquatable<ReagentQuantity>
return Reagent.ToString(Quantity);
}
public void Deconstruct(out string prototype, out FixedPoint2 quantity, out ReagentData? data)
public void Deconstruct(out string prototype, out FixedPoint2 quantity, out List<ReagentData>? data)
{
prototype = Reagent.Prototype;
quantity = Quantity;