Forensics Datum (#17796)

* forensics datum initial work

* typo fix

* glove recursion fix

* missing bloodtype on organ data

* removed frustrating and unneeded b_type var from humans

* no leaky

* listcheck

* documenting

* documentation
This commit is contained in:
Will
2025-06-05 23:30:11 -07:00
committed by GitHub
parent be6680da62
commit ae718f07e3
62 changed files with 603 additions and 400 deletions
@@ -201,12 +201,12 @@
if(attacher)
log_str += ADMIN_QUE(attacher)
var/mob/mob = get_mob_by_key(src.fingerprintslast)
var/mob/mob = get_mob_by_key(forensic_data?.get_lastprint())
var/last_touch_info = ""
if(mob)
last_touch_info = ADMIN_QUE(mob)
log_str += " Last touched by: [src.fingerprintslast][last_touch_info]"
log_str += " Last touched by: [forensic_data?.get_lastprint()][last_touch_info]"
GLOB.bombers += log_str
message_admins(log_str, 0, 1)
log_game(log_str)
+2 -7
View File
@@ -333,11 +333,7 @@
S.add(transfer)
if (prob(transfer/orig_amount * 100))
transfer_fingerprints_to(S)
if(blood_DNA)
if(S.blood_DNA)
S.blood_DNA |= blood_DNA
else
S.blood_DNA = blood_DNA.Copy()
transfer_blooddna_to(S)
return transfer
return 0
@@ -360,8 +356,7 @@
newstack.color = color
if (prob(transfer/orig_amount * 100))
transfer_fingerprints_to(newstack)
if(blood_DNA)
newstack.blood_DNA |= blood_DNA
transfer_blooddna_to(newstack)
return newstack
return null
+1 -2
View File
@@ -6,8 +6,7 @@
if(pulledby)
pulledby.start_pulling(S)
transfer_fingerprints_to(S)
if(blood_DNA)
S.blood_DNA |= blood_DNA
S.init_forensic_data().merge_blooddna(forensic_data)
use(transfer)
S.add(transfer)
@@ -84,7 +84,7 @@
playsound(src, 'sound/weapons/empty.ogg', 50, 1)
add_fingerprint(user)
if(blood_overlay && blood_DNA && (blood_DNA.len >= 1)) //updates blood overlay, if any
if(blood_overlay && forensic_data?.has_blooddna()) //updates blood overlay, if any
cut_overlays()
var/icon/I = new /icon(src.icon, src.icon_state)
@@ -395,8 +395,8 @@ var/list/global/tank_gauge_cache = list()
if(pressure > TANK_FRAGMENT_PRESSURE)
if(integrity <= 7)
if(!istype(src.loc,/obj/item/transfer_valve))
message_admins("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].")
log_game("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].")
message_admins("Explosive tank rupture! last key to touch the tank was [forensic_data?.get_lastprint()].")
log_game("Explosive tank rupture! last key to touch the tank was [forensic_data?.get_lastprint()].")
//Give the gas a chance to build up more pressure through reacting
air_contents.react()