Fixes DNA Consoles Labeling DNA of Disfigured People "Unknown" (#19924)

* DNA consoles will no longer label DNA based on the condition of the donor's face.

* DNA scanners now check the data core for DNA.
This commit is contained in:
Shadowmech88
2018-10-11 13:46:09 -05:00
committed by jknpj
parent 5c6102536d
commit a882425a82
2 changed files with 24 additions and 3 deletions

View File

@@ -53,6 +53,12 @@
return R
return null
/obj/effect/datacore/proc/find_record_by_dna(var/target_dna, var/list/which)
for (var/datum/data/record/E in which)
if (E.fields["b_dna"] == target_dna)
return E
return null
/obj/effect/datacore/proc/find_general_record_by_name(var/target_name)
for(var/datum/data/record/E in general)
if(E.fields["name"] == target_name)
@@ -62,6 +68,9 @@
/obj/effect/datacore/proc/find_medical_record_by_name(var/target_name)
return find_record_by_name(target_name, medical)
/obj/effect/datacore/proc/find_medical_record_by_dna(var/target_dna)
return find_record_by_dna(target_dna, medical)
/obj/effect/datacore/proc/find_security_record_by_name(var/target_name)
return find_record_by_name(target_name, security)

View File

@@ -970,6 +970,10 @@
databuf.types = DNA2_BUF_UI // DNA2_BUF_UE
databuf.dna = src.connected.occupant.dna.Clone()
if(ishuman(connected.occupant))
var/datum/data/record/med_record = data_core.find_medical_record_by_dna(connected.occupant.dna.unique_enzymes)
if(med_record)
databuf.dna.real_name = med_record.fields["name"]
else
databuf.dna.real_name=connected.occupant.name
databuf.dna.flavor_text=connected.occupant.flavor_text
databuf.name = "Unique Identifier"
@@ -985,6 +989,10 @@
databuf.types = DNA2_BUF_UI|DNA2_BUF_UE
databuf.dna = src.connected.occupant.dna.Clone()
if(ishuman(connected.occupant))
var/datum/data/record/med_record = data_core.find_medical_record_by_dna(connected.occupant.dna.unique_enzymes)
if(med_record)
databuf.dna.real_name = med_record.fields["name"]
else
databuf.dna.real_name=connected.occupant.name
databuf.dna.flavor_text=connected.occupant.flavor_text
databuf.name = "Unique Identifier + Unique Enzymes"
@@ -1000,6 +1008,10 @@
databuf.types = DNA2_BUF_SE
databuf.dna = src.connected.occupant.dna.Clone()
if(ishuman(connected.occupant))
var/datum/data/record/med_record = data_core.find_medical_record_by_dna(connected.occupant.dna.unique_enzymes)
if(med_record)
databuf.dna.real_name = med_record.fields["name"]
else
databuf.dna.real_name=connected.occupant.name
databuf.name = "Structural Enzymes"
src.buffers[bufferId] = databuf