diff --git a/code/defines/atom.dm b/code/defines/atom.dm
index aa0c35b0705..f04d83c77fc 100644
--- a/code/defines/atom.dm
+++ b/code/defines/atom.dm
@@ -6,7 +6,7 @@
var/list/fingerprints
var/list/fingerprintshidden
var/fingerprintslast = null
- var/list/blood_DNA = list()
+ var/list/blood_DNA
var/last_bumped = 0
var/pass_flags = 0
diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm
index 3b72ed6d9d0..21285d543ee 100644
--- a/code/game/atom_procs.dm
+++ b/code/game/atom_procs.dm
@@ -113,7 +113,7 @@
if (!istype(H.dna, /datum/dna) || !H.dna.uni_identity || (length(H.dna.uni_identity) != 32))
if(!istype(H.dna, /datum/dna))
H.dna = new /datum/dna(null)
- H.check_dna()
+ H.check_dna()
if (H.gloves && H.gloves != src)
if(src.fingerprintslast != H.key)
src.fingerprintshidden += text("(Wearing gloves). Real name: [], Key: []",H.real_name, H.key)
@@ -158,6 +158,7 @@
for(var/i = 1, i <= src.fingerprints.len, i++)
if(length(src.fingerprints[i]) != 69)
src.fingerprints.Remove(src.fingerprints[i])
+ if(fingerprints && !fingerprints.len) del(fingerprints)
return 1
else
if(src.fingerprintslast != M.key)
@@ -175,10 +176,7 @@
if (!( src.flags ) & 256)
return
if(!blood_DNA)
- var/turf/Z = get_turf(src)
- message_admins("\red ERROR: [src] at [Z.x], [Z.y], [Z.z] is missing it's blood_DNA list!")
- log_game("\red ERROR: [src] at [Z.x], [Z.y], [Z.z] is missing it's blood_DNA list!")
- return
+ blood_DNA = list()
if (blood_DNA.len)
if (istype(src, /obj/item)&&!istype(src, /obj/item/weapon/melee/energy))//Only regular items. Energy melee weapon are not affected.
var/obj/item/source2 = src
@@ -287,16 +285,10 @@
if (!( src.flags ) & 256)
return
- if(!blood_DNA)
- var/turf/Z = get_turf(src)
- message_admins("\red ERROR: [src] at [Z.x], [Z.y], [Z.z] is missing it's blood_DNA list!")
- log_game("\red ERROR: [src] at [Z.x], [Z.y], [Z.z] is missing it's blood_DNA list!")
- blood_DNA = list()
- return
- if ( src.blood_DNA.len )
+ if ( src.blood_DNA )
if (istype (src, /mob/living/carbon))
var/obj/item/source2 = src
- source2.blood_DNA = list()
+ del(source2.blood_DNA)
//var/icon/I = new /icon(source2.icon_old, source2.icon_state) //doesnt have icon_old
//source2.icon = I
if(ishuman(src))
@@ -304,7 +296,7 @@
M.bloody_hands = 0
if (istype (src, /obj/item))
var/obj/item/source2 = src
- source2.blood_DNA = list()
+ del(source2.blood_DNA)
// var/icon/I = new /icon(source2.icon_old, source2.icon_state)
if(source2.icon_old)
source2.icon = source2.icon_old
@@ -317,12 +309,14 @@
G.transfer_blood = 0
if (istype(src, /turf/simulated))
var/obj/item/source2 = src
- source2.blood_DNA = list()
+ del(source2.blood_DNA)
if(source2.icon_old)
var/icon/I = new /icon(source2.icon_old, source2.icon_state)
source2.icon = I
else
source2.icon = initial(icon)
+ if(blood_DNA && !blood_DNA.len)
+ del(blood_DNA)
if(src.fingerprints && src.fingerprints.len)
var/done = 0
while(!done)
@@ -342,8 +336,8 @@
break
else
src.fingerprints[i] = "1=" + prints["1"] + "&2=" + new_print
- if(!src.fingerprints)
- src.fingerprints = list()
+ if(fingerprints && !fingerprints.len)
+ del(fingerprints)
if(istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/M = src
M.update_clothing()
diff --git a/code/game/objects/devices/PDA/PDA.dm b/code/game/objects/devices/PDA/PDA.dm
index 74e7902aad0..749a5783cc8 100644
--- a/code/game/objects/devices/PDA/PDA.dm
+++ b/code/game/objects/devices/PDA/PDA.dm
@@ -766,8 +766,10 @@
user << "\blue No fingerprints found on [C]"
else
user << text("\blue [C]'s Fingerprints: [md5(C:dna.uni_identity)]")
- if ( !(C:blood_DNA.len) )
+ if ( !(C:blood_DNA) )
user << "\blue No blood found on [C]"
+ if(C:blood_DNA)
+ del(C:blood_DNA)
else
user << "\blue Blood found on [C]. Analysing..."
spawn(15)
diff --git a/code/game/objects/devices/scanners.dm b/code/game/objects/devices/scanners.dm
index 1ae6276a125..d41b75c5749 100644
--- a/code/game/objects/devices/scanners.dm
+++ b/code/game/objects/devices/scanners.dm
@@ -124,8 +124,10 @@ MASS SPECTROMETER
user << "\blue Done printing."
user << text("\blue [M]'s Fingerprints: [md5(M.dna.uni_identity)]")
- if ( !(M.blood_DNA.len) )
+ if ( !M.blood_DNA || !M.blood_DNA.len )
user << "\blue No blood found on [M]"
+ if(M.blood_DNA)
+ del(M.blood_DNA)
else
user << "\blue Blood found on [M]. Analysing..."
spawn(15)
@@ -148,16 +150,16 @@ MASS SPECTROMETER
A.fingerprints = list()
src.add_fingerprint(user)
if (istype(A, /obj/effect/decal/cleanable/blood) || istype(A, /obj/effect/rune))
- if(!isnull(A.blood_DNA.len))
+ if(!isnull(A.blood_DNA))
for(var/i = 1, i <= A.blood_DNA.len, i++)
var/list/templist = A.blood_DNA[i]
user << "\blue Blood type: [templist[2]]\nDNA: [templist[1]]"
return
var/duplicate = 0
- if ((!A.fingerprints || A.fingerprints.len == 0) && !(A.suit_fibers) && !(A.blood_DNA.len))
+ if ((!A.fingerprints || !A.fingerprints.len) && !A.suit_fibers && !A.blood_DNA)
user << "\blue Unable to locate any fingerprints, materials, fibers, or blood on [A]!"
return 0
- else if (A.blood_DNA.len)
+ else if (A.blood_DNA)
user << "\blue Blood found on [A]. Analysing..."
sleep(15)
if(!duplicate)
@@ -170,8 +172,10 @@ MASS SPECTROMETER
user << "\blue Blood type: [templist[2]]\nDNA: [templist[1]]"
else
user << "\blue No Blood Located"
- if(!A.fingerprints || A.fingerprints.len == 0)
+ if(!A.fingerprints || !A.fingerprints.len)
user << "\blue No Fingerprints Located."
+ if(A.fingerprints)
+ del(A.fingerprints)
else
user << text("\blue Isolated [A.fingerprints.len] fingerprints: Data Stored: Scan with Hi-Res Forensic Scanner to retrieve.")
if(!duplicate)
diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm
index 825707ceb53..5917cacee4a 100644
--- a/code/game/objects/items/item.dm
+++ b/code/game/objects/items/item.dm
@@ -100,7 +100,7 @@
t = "huge"
else
if ((usr.mutations & CLUMSY) && prob(50)) t = "funny-looking"
- usr << text("This is a []\icon[][]. It is a [] item.", !src.blood_DNA.len ? "" : "bloody ",src, src.name, t)
+ usr << text("This is a []\icon[][]. It is a [] item.", !src.blood_DNA ? "" : "bloody ",src, src.name, t)
if(src.desc)
usr << src.desc
return
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index 25c3e503cc0..59a0ac9cdb9 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -251,7 +251,7 @@ FINGERPRINT CARD
..()
if (!istype(usr, /mob/living/silicon))
- if (length(src.fingerprints))
+ if (src.fingerprints)
if (src.amount > 1)
var/obj/item/weapon/f_card/F = new /obj/item/weapon/f_card(get_turf(src))
F.amount = --src.amount
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index bd2e83318db..c8ab5664db1 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -141,8 +141,6 @@
verbs += /client/proc/everyone_random
verbs += /client/proc/only_one // Fateweaver suggested I do this - Doohl
verbs += /client/proc/deadmin_self
- verbs += /client/proc/cmd_debug_prints
- verbs += /client/proc/cmd_debug_blood
if (holder.level >= 5)//Game Admin********************************************************************
verbs += /obj/admins/proc/view_txt_log
@@ -419,8 +417,6 @@
verbs -= /client/proc/jumptocoord
verbs -= /client/proc/everyone_random
verbs -= /client/proc/cmd_switch_radio
- verbs -= /client/proc/cmd_debug_prints
- verbs -= /client/proc/cmd_debug_blood
return
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index 6b664c8ddb8..30737928be8 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -715,74 +715,4 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_if_possible(W, M.slot_wear_id)
M.update_clothing()
- return
-
-/client/proc/cmd_debug_blood()
- set category = "Debug"
- set name = "Analyze all blood_DNA"
-
- // to prevent REALLY stupid activations
- switch(alert("Are you sure?", ,"Yes", "No"))
- if("No")
- return
- world << "\red ALERT! \black Standby for high CPU bugtesting to determine missing blood_DNA values!"
- world << "\red THIS WILL PROBABLY LAG LIKE HELL."
- world << "Initiating in 10 BYOND seconds..."
- log_admin("[key_name(src)] has initiated a scan of all blood_DNA lists!")
- message_admins("[key_name_admin(src)] has initiated a scan of all blood_DNA lists!", 0)
- sleep(100)
- world << "\red SCAN INITIATED."
- spawn(0) //I am not stupid enough to leave that in a regular loop.
- for(var/atom/O in world)
- if(!islist(O.blood_DNA))
- var/turf/T = get_turf(O)
- if(istype(O.loc,/turf))
- src << "[O] at [T.x],[T.y],[T.z] has a non-list blood_DNA variable! (Last touched by [O.fingerprintslast])"
- else
- src << "[O] in [O.loc] at [T.x],[T.y],[T.z] has a non-list blood_DNA variable! (Last touched by [O.fingerprintslast])"
- world << "\red SCAN COMPLETE."
- world << "Thank you for your patience."
- return
-
-
-/client/proc/cmd_debug_prints()
- set category = "Debug"
- set name = "Analyze all fingerprints"
-
- // to prevent REALLY stupid activations
- switch(alert("Are you sure?", ,"Yes", "No"))
- if("No")
- return
- world << "\red ALERT! \black Standby for high CPU bugtesting to determine incorrect fingerprint values!"
- world << "\red THIS WILL PROBABLY LAG LIKE HELL."
- world << "Initiating in 10 BYOND seconds..."
- log_admin("[key_name(src)] has initiated a scan of all fingerprints!")
- message_admins("[key_name_admin(src)] has initiated a scan of all fingerprints!", 0)
- sleep(100)
- world << "\red SCAN INITIATED."
- spawn(0) //I am not stupid enough to leave that in a regular loop.
- for(var/atom/O in world)
- if(istype(O, /mob)) //Lets not.
- continue
- if(!islist(O.fingerprints))
- var/turf/T = get_turf(O)
- if(istype(O.loc,/turf))
- src << "[O] at [T.x],[T.y],[T.z] has a non-list fingerprints variable! (Last touched by [O.fingerprintslast])"
- else
- src << "[O] in [O.loc] at [T.x],[T.y],[T.z] has a non-list fingerprints variable! (Last touched by [O.fingerprintslast])"
- else if (O.fingerprints.len)
- for(var/i = 1, i <= O.fingerprints.len, i++)
- if(length(O.fingerprints[i]) != 69)
- var/turf/T = get_turf(O)
- if(isnull(T))
- src << "[O] at [O.loc] has a fingerprints variable of incorrect length! (TURF NOT FOUND). (Last touched by [O.fingerprintslast])"
- else
- if(istype(O.loc,/turf))
- src << "[O] at [T.x],[T.y],[T.z] has a fingerprints variable of incorrect length! (Last touched by [O.fingerprintslast])"
- else
- src << "[O] in [O.loc] at [T.x],[T.y],[T.z] has a fingerprints variable of incorrect length! (Last touched by [O.fingerprintslast])"
- break
-
- world << "\red SCAN COMPLETE."
- world << "Thank you for your patience."
- return
+ return
\ No newline at end of file
diff --git a/code/modules/detectivework/detective_work.dm b/code/modules/detectivework/detective_work.dm
index 26328e2314b..f5c84927e34 100644
--- a/code/modules/detectivework/detective_work.dm
+++ b/code/modules/detectivework/detective_work.dm
@@ -245,28 +245,23 @@ obj/machinery/computer/forensic_scanning
print_string = "Fingerprints: (80% or higher completion reached)
" + prints[num2text(2)] + "
"
temp += print_string
for(var/i = 2, i <= dossier.len, i++)
+ temp += "
"
var/list/outputs = dossier[i]
var/item_name = get_name(outputs[1])
var/list/prints_len = outputs[2]
- temp += "Object: [item_name]
"
+ temp += "Object: [item_name]
"
+ temp += " Fingerprints:
"
temp += " [prints_len.len] Unique fingerprints found.
"
var/list/fibers = outputs[3]
if(fibers && fibers.len)
- var/dat = "[fibers[1]]"
- for(var/j = 2, j <= fibers.len, j++)
- dat += ",
[fibers[j]]"
- temp += " Fibers: [dat]
"
- else
- temp += " No fibers found.
"
+ temp += " Fibers:
"
+ for(var/j = 1, j <= fibers.len, j++)
+ temp += " [fibers[j]]
"
var/list/blood = outputs[4]
if(blood && blood.len)
- var/dat = "[blood[1]]"
- if(blood.len > 1)
- for(var/j = 2, j <= blood.len, j++)
- dat += ",
[blood[j]]"
- temp += " Blood: [dat]
"
- else
- temp += " No blood found.
"
+ temp += " Blood:
"
+ for(var/j = 1, j <= blood.len, j++)
+ temp += " [blood[j]]
"
else
temp = "ERROR. Database not found!
"
temp += "
{Delete this Dossier}"
@@ -286,28 +281,23 @@ obj/machinery/computer/forensic_scanning
print_string = "Fingerprints: " + prints[num2text(2)] + "
"
P.info += print_string
for(var/i = 2, i <= dossier.len, i++)
+ P.info += "
"
var/list/outputs = dossier[i]
var/item_name = get_name(outputs[1])
var/list/prints_len = outputs[2]
- P.info += "Object: [item_name]
"
+ P.info += "Object: [item_name]
"
+ P.info += " Fingerprints:
"
P.info += " [prints_len.len] Unique fingerprints found.
"
var/list/fibers = outputs[3]
if(fibers && fibers.len)
- var/dat = "[fibers[1]]"
- for(var/j = 2, j <= fibers.len, j++)
- dat += ",
[fibers[j]]"
- P.info += " Fibers: [dat]
"
- else
- P.info += " No fibers found.
"
+ P.info += " Fibers:
"
+ for(var/j = 1, j <= fibers.len, j++)
+ P.info += " [fibers[j]]
"
var/list/blood = outputs[4]
if(blood && blood.len)
- var/dat = "[blood[1]]"
- if(blood.len > 1)
- for(var/j = 2, j <= blood.len, j++)
- dat += ",
[blood[j]]"
- P.info += " Blood: [dat]
"
- else
- P.info += " No blood found."
+ P.info += " Blood:
"
+ for(var/j = 1, j <= blood.len, j++)
+ P.info += " [blood[j]]
"
else
usr << "ERROR. Database not found!
"
if("auxiliary")
@@ -317,23 +307,17 @@ obj/machinery/computer/forensic_scanning
var/identifier = text2num(href_list["identifier"])
var/list/outputs = misc[identifier]
var/item_name = get_name(outputs[1])
- temp += "Consolidated data points: [item_name]
"
+ temp += "Consolidated data points: [item_name]
"
var/list/fibers = outputs[2]
if(fibers && fibers.len)
- var/dat = "[fibers[1]]"
- for(var/j = 2, j <= fibers.len, j++)
- dat += "
[fibers[j]]"
- temp += " Fibers: [dat]
"
- else
- temp += " No fibers found."
+ temp += " Fibers:
"
+ for(var/j = 1, j <= fibers.len, j++)
+ temp += "
[fibers[j]]"
var/list/blood = outputs[3]
if(blood && blood.len)
- var/dat = "[blood[1]]"
- for(var/j = 2, j <= blood.len, j++)
- dat += "
[blood[j]]"
- temp += " Blood: [dat]
"
- else
- temp += " No blood found.
"
+ temp += " Blood:
"
+ for(var/j = 1, j <= blood.len, j++)
+ temp += " [blood[j]]
"
else
temp = "ERROR. Database not found!
"
temp += "
{Delete This Record}"
@@ -348,23 +332,17 @@ obj/machinery/computer/forensic_scanning
P.name = "Auxiliary Database File ([item_name])"
P.overlays += "paper_words"
P.info = "Auxiliary Evidence Database
"
- P.info += "Consolidated data points: [item_name]
"
+ P.info += "Consolidated data points: [item_name]
"
var/list/fibers = outputs[2]
if(fibers && fibers.len)
- var/dat = "[fibers[1]]"
- for(var/j = 2, j <= fibers.len, j++)
- dat += "
[fibers[j]]"
- P.info += " Fibers: [dat]
"
- else
- P.info += " No fibers found."
+ P.info += " Fibers:
"
+ for(var/j = 1, j <= fibers.len, j++)
+ P.info += "
[fibers[j]]"
var/list/blood = outputs[3]
if(blood && blood.len)
- var/dat = "[blood[1]]"
- for(var/j = 2, j <= blood.len, j++)
- dat += "
[blood[j]]"
- P.info += " Blood: [dat]
"
- else
- P.info += " No blood found.
"
+ P.info += " Blood:
"
+ for(var/j = 1, j <= blood.len, j++)
+ P.info += " [blood[j]]
"
else
usr << "ERROR. Database not found!
"
if("scan")
@@ -400,7 +378,7 @@ obj/machinery/computer/forensic_scanning
scan_process = 0
scan_name = scanning.name
scan_data = "[scanning]
"
- if (scanning.blood_DNA.len)
+ if (scanning.blood_DNA)
scan_data += "Blood Found:
"
for(var/i = 1, i <= scanning.blood_DNA.len, i++)
var/list/templist = scanning.blood_DNA[i]
@@ -408,8 +386,6 @@ obj/machinery/computer/forensic_scanning
else
scan_data += "No Blood Found
"
if(!scanning.fingerprints)
- scanning.fingerprints = list()
- if (!length(scanning.fingerprints))
scan_data += "No Fingerprints Found
"
else
var/list/L = scanning.fingerprints
@@ -443,7 +419,7 @@ obj/machinery/computer/forensic_scanning
if(istype(scanning,/obj/item/device/detective_scanner))
scan_data += "
Data transfered from Scanner to Database.
"
add_data_scanner(scanning)
- else if(!length(scanning.fingerprints))
+ else if(!scanning.fingerprints)
scan_data += "
Add to Database?
"
else
temp = "Scan Failed: No Object"
@@ -512,7 +488,7 @@ obj/machinery/computer/forensic_scanning
A.suit_fibers = tempsuit_fibers
backup_DNA = A.blood_DNA
A.blood_DNA = tempblood_DNA
- if((!A.fingerprints || !length(A.fingerprints))) //No prints
+ if(!A.fingerprints) //No prints
var/merged = 0
if(!misc)
misc = list()
@@ -552,7 +528,7 @@ obj/machinery/computer/forensic_scanning
misc[misc.len] = templist //Store it!
return !merged
else //Has prints.
- var/list/found_prints[A.fingerprints.len + 1]
+ var/list/found_prints[A.fingerprints.len]
for(var/i = 1, i <= found_prints.len, i++)
found_prints[i] = 0
if(!files)
@@ -621,7 +597,7 @@ obj/machinery/computer/forensic_scanning
perp_list.len++
perp_list[perp_list.len] = sum_list
files[i] = perp_list
- for(var/m = 1, m < found_prints.len, m++) //Uh Oh! A print wasn't used! New datapoint!
+ for(var/m = 1, m <= found_prints.len, m++) //Uh Oh! A print wasn't used! New datapoint!
if(found_prints[m] == 0)
var/list/newperp[2]
var/list/sum_list[4]
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index 27f9ef970f3..8930cbcbf96 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -381,7 +381,7 @@
if (!t1)
t1 = wear_suit.icon_state
overlays += image("icon" = 'mob.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- if (wear_suit.blood_DNA.len)
+ if (wear_suit.blood_DNA)
if (istype(wear_suit, /obj/item/clothing/suit/armor))
overlays += image("icon" = 'blood.dmi', "icon_state" = "armorblood[!lying ? "" : "2"]", "layer" = MOB_LAYER)
else
@@ -406,7 +406,7 @@
if (!t1)
t1 = head.icon_state
overlays += image("icon" = 'mob.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- if (head.blood_DNA.len)
+ if (head.blood_DNA)
overlays += image("icon" = 'blood.dmi', "icon_state" = "helmetblood[!lying ? "" : "2"]", "layer" = MOB_LAYER)
head.screen_loc = ui_oclothing
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index b1d890edd4c..3f61979c579 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -52,28 +52,28 @@
//uniform
if (src.w_uniform && !skipjumpsuit)
- if (src.w_uniform.blood_DNA.len)
+ if (src.w_uniform.blood_DNA)
msg += "[t_He] [t_is] wearing \icon[src.w_uniform.icon] [src.w_uniform.gender==PLURAL?"some":"a"] blood-stained [src.w_uniform.name]!\n"
else
msg += "[t_He] [t_is] wearing \icon[src.w_uniform] \a [src.w_uniform].\n"
//head
if (src.head)
- if (src.head.blood_DNA.len)
+ if (src.head.blood_DNA)
msg += "[t_He] [t_is] wearing \icon[src.head.icon] [src.head.gender==PLURAL?"some":"a"] blood-stained [src.head.name] on [t_his] head!\n"
else
msg += "[t_He] [t_is] wearing \icon[src.head] \a [src.head] on [t_his] head.\n"
//suit/armour
if (src.wear_suit)
- if (src.wear_suit.blood_DNA.len)
+ if (src.wear_suit.blood_DNA)
msg += "[t_He] [t_is] wearing \icon[src.wear_suit.icon] [src.wear_suit.gender==PLURAL?"some":"a"] blood-stained [src.wear_suit.name]!\n"
else
msg += "[t_He] [t_is] wearing \icon[src.wear_suit] \a [src.wear_suit].\n"
//suit/armour storage
if(src.s_store && !skipsuitstorage)
- if(src.s_store.blood_DNA.len)
+ if(src.s_store.blood_DNA)
msg += "[t_He] [t_is] carrying \icon[src.s_store.icon] [src.s_store.gender==PLURAL?"some":"a"] blood-stained [src.s_store.name] on [t_his] [src.wear_suit.name]!\n"
else
msg += "[t_He] [t_is] carrying \icon[src.s_store] \a [src.s_store] on [t_his] [src.wear_suit.name].\n"
@@ -84,25 +84,25 @@
//left hand
if (src.l_hand)
- if (src.l_hand.blood_DNA.len)
+ if (src.l_hand.blood_DNA)
msg += "[t_He] [t_is] holding \icon[src.l_hand.icon] [src.l_hand.gender==PLURAL?"some":"a"] blood-stained [src.l_hand.name] in [t_his] left hand!\n"
else
msg += "[t_He] [t_is] holding \icon[src.l_hand] \a [src.l_hand] in [t_his] left hand.\n"
//right hand
if (src.r_hand)
- if (src.r_hand.blood_DNA.len)
+ if (src.r_hand.blood_DNA)
msg += "[t_He] [t_is] holding \icon[src.r_hand] [src.r_hand.gender==PLURAL?"some":"a"] blood-stained [src.r_hand.name] in [t_his] right hand!\n"
else
msg += "[t_He] [t_is] holding \icon[src.r_hand] \a [src.r_hand] in [t_his] right hand.\n"
//gloves
if (src.gloves && !skipgloves)
- if (src.gloves.blood_DNA.len)
+ if (src.gloves.blood_DNA)
msg += "[t_He] [t_has] \icon[src.gloves.icon] [src.gloves.gender==PLURAL?"some":"a"] blood-stained [src.gloves.name] on [t_his] hands!\n"
else
msg += "[t_He] [t_has] \icon[src.gloves] \a [src.gloves] on [t_his] hands.\n"
- else if (src.blood_DNA.len)
+ else if (src.blood_DNA)
msg += "[t_He] [t_has] blood-stained hands!\n"
//handcuffed?
@@ -111,21 +111,21 @@
//belt
if (src.belt)
- if (src.belt.blood_DNA.len)
+ if (src.belt.blood_DNA)
msg += "[t_He] [t_has] \icon[src.belt.icon] [src.belt.gender==PLURAL?"some":"a"] blood-stained [src.belt.name] about [t_his] waist!\n"
else
msg += "[t_He] [t_has] \icon[src.belt] \a [src.belt] about [t_his] waist.\n"
//shoes
if (src.shoes && !skipshoes)
- if(src.shoes.blood_DNA.len)
+ if(src.shoes.blood_DNA)
msg += "[t_He] [t_is] wearing \icon[src.shoes.icon] [src.shoes.gender==PLURAL?"some":"a"] blood-stained [src.shoes.name] on [t_his] feet!\n"
else
msg += "[t_He] [t_is] wearing \icon[src.shoes] \a [src.shoes] on [t_his] feet.\n"
//mask
if (src.wear_mask && !skipmask)
- if (src.wear_mask.blood_DNA.len)
+ if (src.wear_mask.blood_DNA)
msg += "[t_He] [t_has] \icon[src.wear_mask.icon] [src.wear_mask.gender==PLURAL?"some":"a"] blood-stained [src.wear_mask.name] on [t_his] face!\n"
else
msg += "[t_He] [t_has] \icon[src.wear_mask] \a [src.wear_mask] on [t_his] face.\n"
@@ -133,7 +133,7 @@
//eyes
if (!skipeyes)
if(src.glasses)
- if (src.glasses.blood_DNA.len)
+ if (src.glasses.blood_DNA)
msg += "[t_He] [t_has] \icon[src.glasses] [src.gloves.gender==PLURAL?"some":"a"] blood-stained [src.glasses] covering [t_his] eyes!\n"
else
msg += "[t_He] [t_has] \icon[src.glasses] \a [src.glasses] covering [t_his] eyes.\n"
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 8deb1a80aaa..354bdc8f57e 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -853,7 +853,7 @@
overlays += image("icon" = 'uniform_fat.dmi', "icon_state" = "[t1][!lying ? "_s" : "_l"]", "layer" = MOB_LAYER)
else
overlays += image("icon" = 'uniform.dmi', "icon_state" = text("[][]",t1, (!(lying) ? "_s" : "_l")), "layer" = MOB_LAYER)
- if (w_uniform.blood_DNA.len)
+ if (w_uniform.blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "uniformblood[!lying ? "" : "2"]")
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
@@ -874,10 +874,10 @@
if (!t1)
t1 = gloves.icon_state
overlays += image("icon" = 'hands.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- if (gloves.blood_DNA.len)
+ if (gloves.blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "bloodyhands[!lying ? "" : "2"]")
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
- else if (blood_DNA.len)
+ else if (blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "bloodyhands[!lying ? "" : "2"]")
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
// Glasses
@@ -892,7 +892,7 @@
if (shoes)
var/t1 = shoes.icon_state
overlays += image("icon" = 'feet.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- if (shoes.blood_DNA.len)
+ if (shoes.blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "shoesblood[!lying ? "" : "2"]")
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER) // Radio
/* if (w_radio)
@@ -946,7 +946,7 @@
var/t1 = wear_suit.icon_state
overlays += image("icon" = 'suit.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
if (wear_suit)
- if (wear_suit.blood_DNA.len)
+ if (wear_suit.blood_DNA)
var/icon/stain_icon = null
if (istype(wear_suit, /obj/item/clothing/suit/armor/vest || /obj/item/clothing/suit/wcoat))
stain_icon = icon('blood.dmi', "armorblood[!lying ? "" : "2"]")
@@ -982,7 +982,7 @@
var/t1 = wear_mask.icon_state
overlays += image("icon" = 'mask.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
if (!istype(wear_mask, /obj/item/clothing/mask/cigarette))
- if (wear_mask.blood_DNA.len)
+ if (wear_mask.blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "maskblood[!lying ? "" : "2"]")
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
wear_mask.screen_loc = ui_mask
@@ -994,7 +994,7 @@
if(istype(head,/obj/item/clothing/head/kitty))
head_icon = (( lying ) ? head:mob2 : head:mob)
overlays += image("icon" = head_icon, "layer" = MOB_LAYER)
- if (head.blood_DNA.len)
+ if (head.blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "helmetblood[!lying ? "" : "2"]")
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
head.screen_loc = ui_head
@@ -1990,6 +1990,9 @@ It can still be worn/put on as normal.
else
if(source)
source.update_clothing()
+ spawn(0)
+ if(source.machine == target)
+ target.show_inv(source)
if(target)
target.update_clothing()
//SN src = null