diff --git a/code/WorkInProgress/detective_work.dm b/code/WorkInProgress/detective_work.dm index 48e741c7295..2fd443fb5cb 100644 --- a/code/WorkInProgress/detective_work.dm +++ b/code/WorkInProgress/detective_work.dm @@ -358,7 +358,7 @@ obj/machinery/computer/forensic_scanning scan_process = 0 scan_name = scanning.name scan_data = "[scanning]

" - if (scanning.blood_DNA) + if (scanning.blood_DNA.len) scan_data += "Blood Found:
" for(var/i = 1, i < (scanning.blood_DNA.len + 1), i++) var/list/templist = scanning.blood_DNA[i] diff --git a/code/defines/atom.dm b/code/defines/atom.dm index 5db2913830a..fde7511d3bb 100644 --- a/code/defines/atom.dm +++ b/code/defines/atom.dm @@ -5,7 +5,7 @@ var/list/fingerprints = list() var/list/fingerprintshidden = new/list() var/fingerprintslast = null - var/list/blood_DNA = null + var/list/blood_DNA = list() var/last_bumped = 0 var/pass_flags = 0 diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm index b40b1ab18b4..aeac2e04bbf 100644 --- a/code/game/atom_procs.dm +++ b/code/game/atom_procs.dm @@ -139,7 +139,7 @@ return 0 if (!( src.flags ) & 256) return - if (src.blood_DNA) + if (src.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 source2.icon_old = src.icon @@ -148,13 +148,15 @@ I.Blend(new /icon('blood.dmi', "itemblood"),ICON_MULTIPLY) I.Blend(new /icon(src.icon, src.icon_state),ICON_UNDERLAY) src.icon = I - if(src.blood_DNA.len) + var/inthere = 0 + for(var/i = 1, i <= src.blood_DNA.len, i++) + var/list/templist = src.blood_DNA[i] + if(templist[1] == M.dna.unique_enzymes && templist[2] == M.dna.b_type) + inthere = 1 + break + if(!inthere) src.blood_DNA.len++ src.blood_DNA[src.blood_DNA.len] = list(M.dna.unique_enzymes,M.dna.b_type) - else - var/list/blood_DNA_temp[1] - blood_DNA_temp[1] = list(M.dna.unique_enzymes, M.dna.b_type) - src.blood_DNA = blood_DNA_temp else if (istype(src, /turf/simulated)) var/turf/simulated/source2 = src var/list/objsonturf = range(0,src) @@ -172,13 +174,15 @@ this.viruses += newDisease newDisease.holder = this else if (istype(src, /mob/living/carbon/human)) - if(src.blood_DNA.len) + var/inthere = 0 + for(var/i = 1, i <= src.blood_DNA.len, i++) + var/list/templist = src.blood_DNA[i] + if(templist[1] == M.dna.unique_enzymes && templist[2] == M.dna.b_type) + inthere = 1 + break + if(!inthere) src.blood_DNA.len++ src.blood_DNA[src.blood_DNA.len] = list(M.dna.unique_enzymes,M.dna.b_type) - else - var/list/blood_DNA_temp[1] - blood_DNA_temp[1] = list(M.dna.unique_enzymes, M.dna.b_type) - src.blood_DNA = blood_DNA_temp else return else @@ -235,21 +239,21 @@ if (!( src.flags ) & 256) return - if ( src.blood_DNA ) + if ( src.blood_DNA.len ) if (istype (src, /mob/living/carbon)) var/obj/item/source2 = src - source2.blood_DNA = null + source2.blood_DNA = list() //var/icon/I = new /icon(source2.icon_old, source2.icon_state) //doesnt have icon_old //source2.icon = I if (istype (src, /obj/item)) var/obj/item/source2 = src - source2.blood_DNA = null + source2.blood_DNA = list() // var/icon/I = new /icon(source2.icon_old, source2.icon_state) source2.icon = source2.icon_old source2.update_icon() if (istype(src, /turf/simulated)) var/obj/item/source2 = src - source2.blood_DNA = null + source2.blood_DNA = list() var/icon/I = new /icon(source2.icon_old, source2.icon_state) source2.icon = I if(src.fingerprints && src.fingerprints.len) diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 777dd831bc4..8e115145391 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -1,4 +1,4 @@ -#define METEOR_TEMPERATURE 0 //set to 0 until we work out a good number for it +#define METEOR_TEMPERATURE /var/const/meteor_wave_delay = 625 //minimum wait between waves in tenths of seconds //set to at least 100 unless you want evarr ruining every round @@ -22,9 +22,7 @@ spawn(0) spawn_meteor() -//if size is 0, it picks a random size -//if T is null, it starts on an edge space tile -/proc/spawn_meteor(var/size = 0, var/turf/T = null) +/proc/spawn_meteor() var/startx var/starty @@ -34,55 +32,47 @@ var/turf/pickedgoal var/max_i = 10//number of tries to spawn meteor. + do - if(T) - pickedstart = T - else - switch(pick(1,2,3,4)) - if(1) //NORTH - starty = world.maxy-3 - startx = rand(1, world.maxx-1) - endy = 1 - endx = rand(1, world.maxx-1) - if(2) //EAST - starty = rand(1,world.maxy-1) - startx = world.maxx-3 - endy = rand(1, world.maxy-1) - endx = 1 - if(3) //SOUTH - starty = 3 - startx = rand(1, world.maxx-1) - endy = world.maxy-1 - endx = rand(1, world.maxx-1) - if(4) //WEST - starty = rand(1, world.maxy-1) - startx = 3 - endy = rand(1,world.maxy-1) - endx = world.maxx-1 - pickedstart = locate(startx, starty, 1) + switch(pick(1,2,3,4)) + if(1) //NORTH + starty = world.maxy-3 + startx = rand(1, world.maxx-1) + endy = 1 + endx = rand(1, world.maxx-1) + if(2) //EAST + starty = rand(1,world.maxy-1) + startx = world.maxx-3 + endy = rand(1, world.maxy-1) + endx = 1 + if(3) //SOUTH + starty = 3 + startx = rand(1, world.maxx-1) + endy = world.maxy-1 + endx = rand(1, world.maxx-1) + if(4) //WEST + starty = rand(1, world.maxy-1) + startx = 3 + endy = rand(1,world.maxy-1) + endx = world.maxx-1 + + pickedstart = locate(startx, starty, 1) pickedgoal = locate(endx, endy, 1) max_i-- if(max_i<=0) return - //meteors can spawn on station when a large one is hit by a missile - while ( (!istype(pickedstart, /turf/space) || pickedstart.loc.name != "Space") && !T ) + + while (!istype(pickedstart, /turf/space) || pickedstart.loc.name != "Space" ) //FUUUCK, should never happen. var/obj/effect/meteor/M - switch(size) - if(0) - switch(rand(1, 100)) - if(1 to 10) - M = new /obj/effect/meteor/big( pickedstart ) - if(11 to 75) - M = new /obj/effect/meteor( pickedstart ) - if(76 to 100) - M = new /obj/effect/meteor/small( pickedstart ) - if(1) - M = new /obj/effect/meteor/small( pickedstart ) - if(2) - M = new /obj/effect/meteor( pickedstart ) - if(3) + switch(rand(1, 100)) + + if(1 to 10) M = new /obj/effect/meteor/big( pickedstart ) + if(11 to 75) + M = new /obj/effect/meteor( pickedstart ) + if(76 to 100) + M = new /obj/effect/meteor/small( pickedstart ) M.dest = pickedgoal spawn(0) @@ -106,7 +96,7 @@ pass_flags = PASSTABLE | PASSGRILLE /obj/effect/meteor/Move() - //var/turf/T = src.loc +// var/turf/T = src.loc //FUCK YOU. FUCK YOU ALL, METEORS. ~Hawk. /*if (istype(T, /turf)) T.hotspot_expose(METEOR_TEMPERATURE, 1000) */ diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index 9e0b575c3f5..7e725290846 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -805,8 +805,7 @@ H.apply_damage(0.5*damage, BRUTE, "r_arm") var/obj/effect/decal/cleanable/blood/B = new(src.loc) - B.blood_DNA.len++ - B.blood_DNA[B.blood_DNA.len] = list(H.dna.unique_enzymes, H.dna.b_type) + B.blood_DNA = list(list(H.dna.unique_enzymes, H.dna.b_type)) bloodiness += 4 diff --git a/code/game/magic/cultist/ritual.dm b/code/game/magic/cultist/ritual.dm index 919c535d74d..671cec059e5 100644 --- a/code/game/magic/cultist/ritual.dm +++ b/code/game/magic/cultist/ritual.dm @@ -555,11 +555,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", R.word2 = w2 R.word3 = w3 R.check_icon() - if(R.blood_DNA.len) - R.blood_DNA.len++ - R.blood_DNA[R.blood_DNA.len] = list(H.dna.unique_enzymes, H.dna.b_type) - else - R.blood_DNA = list(list(H.dna.unique_enzymes, H.dna.b_type)) + R.blood_DNA = list(list(H.dna.unique_enzymes, H.dna.b_type)) return else user << "The book seems full of illegible scribbles. Is this a joke?" diff --git a/code/game/objects/devices/PDA/PDA.dm b/code/game/objects/devices/PDA/PDA.dm index c9abad11b99..19c2ffd581b 100644 --- a/code/game/objects/devices/PDA/PDA.dm +++ b/code/game/objects/devices/PDA/PDA.dm @@ -738,7 +738,7 @@ user << "\blue No fingerprints found on [C]" else user << text("\blue [C]'s Fingerprints: [md5(C:dna.uni_identity)]") - if ( !(C:blood_DNA) ) + if ( !(C:blood_DNA.len) ) user << "\blue No blood found on [C]" else user << "\blue Blood found on [C]. Analysing..." diff --git a/code/game/objects/devices/scanners.dm b/code/game/objects/devices/scanners.dm index 2d3f8b6c6ae..182730a526d 100644 --- a/code/game/objects/devices/scanners.dm +++ b/code/game/objects/devices/scanners.dm @@ -122,7 +122,7 @@ MASS SPECTROMETER user << "\blue Done printing." user << text("\blue [M]'s Fingerprints: [md5(M.dna.uni_identity)]") - if ( !(M.blood_DNA) ) + if ( !(M.blood_DNA.len) ) user << "\blue No blood found on [M]" else user << "\blue Blood found on [M]. Analysing..." @@ -145,10 +145,10 @@ MASS SPECTROMETER 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)) + if ((!A.fingerprints || A.fingerprints.len == 0) && !(A.suit_fibers) && !(A.blood_DNA.len)) user << "\blue Unable to locate any fingerprints, materials, fibers, or blood on [A]!" return 0 - else if (A.blood_DNA) + else if (A.blood_DNA.len) user << "\blue Blood found on [A]. Analysing..." sleep(15) if(!duplicate) @@ -231,7 +231,7 @@ MASS SPECTROMETER var/list/blood = temp[4] if(!blood) blood = list() - if(A.blood_DNA) + if(A.blood_DNA.len) for(var/j = 1, j < (A.blood_DNA.len + 1), j++) //Blood~~~ if(!blood.Find(A.blood_DNA[j])) //It isn't! Add! blood += A.blood_DNA[j] diff --git a/code/game/objects/gibs.dm b/code/game/objects/gibs.dm index f60aaa89e2c..f8815de6ff8 100644 --- a/code/game/objects/gibs.dm +++ b/code/game/objects/gibs.dm @@ -51,8 +51,7 @@ viruus.holder = gib viruus.spread_type = CONTACT_FEET if(MobDNA) - gib.blood_DNA.len++ - gib.blood_DNA[gib.blood_DNA.len] = list(MobDNA.unique_enzymes, MobDNA.b_type) + gib.blood_DNA = list(list(MobDNA.unique_enzymes, MobDNA.b_type)) if(MobDNA.original_name != "Unknown") gib.OriginalMob = MobDNA.original_name var/list/directions = gibdirections[i] diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm index 69902324703..e0ad7935029 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 ? "" : "bloody ",src, src.name, t) + usr << text("This is a []\icon[][]. It is a [] item.", !src.blood_DNA.len ? "" : "bloody ",src, src.name, t) if(src.desc) usr << src.desc return diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm index fb7b81f6dde..850e89084c0 100644 --- a/code/modules/chemical/Chemistry-Reagents.dm +++ b/code/modules/chemical/Chemistry-Reagents.dm @@ -155,8 +155,7 @@ datum var/obj/effect/decal/cleanable/blood/blood_prop = locate() in T //find some blood here if(!blood_prop) //first blood! blood_prop = new(T) - blood_prop.blood_DNA.len++ - blood_prop.blood_DNA[blood_prop.blood_DNA.len] = list(self.data["blood_DNA"], self.data["blood_type"]) + blood_prop.blood_DNA = list(list(self.data["blood_DNA"], self.data["blood_type"])) for(var/datum/disease/D in self.data["viruses"]) var/datum/disease/newVirus = new D.type @@ -180,7 +179,7 @@ datum var/obj/effect/decal/cleanable/blood/blood_prop = locate() in T if(!blood_prop) blood_prop = new(T) - blood_prop.blood_DNA = list(self.data["blood_DNA"]) + blood_prop.blood_DNA = list(list(self.data["blood_DNA"])) for(var/datum/disease/D in self.data["viruses"]) var/datum/disease/newVirus = new D.type blood_prop.viruses += newVirus @@ -197,7 +196,7 @@ datum var/obj/effect/decal/cleanable/xenoblood/blood_prop = locate() in T if(!blood_prop) blood_prop = new(T) - blood_prop.blood_DNA = list(self.data["blood_DNA"]) + blood_prop.blood_DNA = list(list(self.data["blood_DNA"])) for(var/datum/disease/D in self.data["viruses"]) var/datum/disease/newVirus = new D.type blood_prop.viruses += newVirus diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 299dcb5f767..ea52c8b1cae 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -16,8 +16,8 @@ t_him = "her" if (src.w_uniform) - if (src.w_uniform.blood_DNA) - usr << "\red [src.name] is wearing a[src.w_uniform.blood_DNA ? " bloody " : " "] \icon[src.w_uniform] [src.w_uniform.name]!" + if (src.w_uniform.blood_DNA.len) + usr << "\red [src.name] is wearing a[src.w_uniform.blood_DNA.len ? " bloody " : " "] \icon[src.w_uniform] [src.w_uniform.name]!" else usr << "\blue [src.name] is wearing a \icon[src.w_uniform] [src.w_uniform.name]." @@ -25,8 +25,8 @@ usr << "\blue [src.name] is \icon[src.handcuffed] handcuffed!" if (src.wear_suit) - if (src.wear_suit.blood_DNA) - usr << "\red [src.name] has a[src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name] on!" + if (src.wear_suit.blood_DNA.len) + usr << "\red [src.name] has a[src.wear_suit.blood_DNA.len ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name] on!" else usr << "\blue [src.name] has a \icon[src.wear_suit] [src.wear_suit.name] on." @@ -37,44 +37,44 @@ usr << "\blue [src.name] has a \icon[src.r_ear] [src.r_ear.name] on [t_his] right ear." if (src.wear_mask) - if (src.wear_mask.blood_DNA) - usr << "\red [src.name] has a[src.wear_mask.blood_DNA ? " bloody " : " "] \icon[src.wear_mask] [src.wear_mask.name] on [t_his] face!" + if (src.wear_mask.blood_DNA.len) + usr << "\red [src.name] has a[src.wear_mask.blood_DNA.len ? " bloody " : " "] \icon[src.wear_mask] [src.wear_mask.name] on [t_his] face!" else usr << "\blue [src.name] has a \icon[src.wear_mask] [src.wear_mask.name] on [t_his] face." if (src.l_hand) - if (src.l_hand.blood_DNA) - usr << "\red [src.name] has a[src.l_hand.blood_DNA ? " bloody " : " "] \icon[src.l_hand] [src.l_hand.name] in [t_his] left hand!" + if (src.l_hand.blood_DNA.len) + usr << "\red [src.name] has a[src.l_hand.blood_DNA.len ? " bloody " : " "] \icon[src.l_hand] [src.l_hand.name] in [t_his] left hand!" else usr << "\blue [src.name] has a \icon[src.l_hand] [src.l_hand.name] in [t_his] left hand." if (src.r_hand) - if (src.r_hand.blood_DNA) - usr << "\red [src.name] has a[src.r_hand.blood_DNA ? " bloody " : " "] \icon[src.r_hand] [src.r_hand.name] in [t_his] right hand!" + if (src.r_hand.blood_DNA.len) + usr << "\red [src.name] has a[src.r_hand.blood_DNA.len ? " bloody " : " "] \icon[src.r_hand] [src.r_hand.name] in [t_his] right hand!" else usr << "\blue [src.name] has a \icon[src.r_hand] [src.r_hand.name] in [t_his] right hand." if (src.belt) - if (src.belt.blood_DNA) - usr << "\red [src.name] has a[src.belt.blood_DNA ? " bloody " : " "] \icon[src.belt] [src.belt.name] on [t_his] belt!" + if (src.belt.blood_DNA.len) + usr << "\red [src.name] has a[src.belt.blood_DNA.len ? " bloody " : " "] \icon[src.belt] [src.belt.name] on [t_his] belt!" else usr << "\blue [src.name] has a \icon[src.belt] [src.belt.name] on [t_his] belt." if(src.s_store) - if(src.s_store.blood_DNA) - usr << "\red [src.name] has a[src.s_store.blood_DNA ? " bloody " : " "] \icon[src.s_store] [src.s_store.name] on [t_his][src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name]!" + if(src.s_store.blood_DNA.len) + usr << "\red [src.name] has a[src.s_store.blood_DNA.len ? " bloody " : " "] \icon[src.s_store] [src.s_store.name] on [t_his][src.wear_suit.blood_DNA.len ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name]!" else - usr << "\blue [src.name] has a \icon[src.s_store] [src.s_store.name] on [t_his][src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name]." + usr << "\blue [src.name] has a \icon[src.s_store] [src.s_store.name] on [t_his][src.wear_suit.blood_DNA.len ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name]." if (src.shoes) - usr << "[src.shoes.blood_DNA ? "\red" : "\blue"][src.name] has a[src.shoes.blood_DNA ? " bloody " : " "] \icon[src.shoes] [src.shoes.name] on [t_his] feet." + usr << "[src.shoes.blood_DNA.len ? "\red" : "\blue"] [src.name] has a[src.shoes.blood_DNA.len ? " bloody " : " "] \icon[src.shoes] [src.shoes.name] on [t_his] feet." if (src.gloves) - if (src.gloves.blood_DNA) + if (src.gloves.blood_DNA.len) usr << "\red [src.name] has bloody \icon[src.gloves] [src.gloves.name] on [t_his] hands!" else usr << "\blue [src.name] has \icon[src.gloves] [src.gloves.name] on [t_his] hands." - else if (src.blood_DNA) - usr << "\red [src.name] has[src.blood_DNA ? " bloody " : " "] hands!" + else if (src.blood_DNA.len) + usr << "\red [src.name] has[src.blood_DNA.len ? " bloody " : " "] hands!" if (src.back) usr << "\blue [src.name] has a \icon[src.back] [src.back.name] on [t_his] back." diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 86cd2b9d4f0..003e72341d4 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -875,7 +875,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) + if (w_uniform.blood_DNA.len) var/icon/stain_icon = icon('blood.dmi', "uniformblood[!lying ? "" : "2"]") overlays += image("icon" = stain_icon, "layer" = MOB_LAYER) @@ -905,14 +905,14 @@ else if(ro.destroyed) gloves_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY) overlays += image(gloves_icon, "layer" = MOB_LAYER) - if (gloves.blood_DNA) + if (gloves.blood_DNA.len) var/icon/stain_icon = icon('blood.dmi', "bloodyhands[!lying ? "" : "2"]") if(lo.destroyed) stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY) else if(ro.destroyed) stain_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY) overlays += image("icon" = stain_icon, "layer" = MOB_LAYER) - else if (blood_DNA) + else if (blood_DNA.len) var/icon/stain_icon = icon('blood.dmi', "bloodyhands[!lying ? "" : "2"]") if(lo.destroyed) stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY) @@ -941,7 +941,7 @@ else if(ro.destroyed && !lying) shoes_icon.Blend(new /icon('limb_mask.dmi', "left[lying?"_l":""]"), ICON_MULTIPLY) overlays += image(shoes_icon, "layer" = MOB_LAYER) - if (shoes.blood_DNA) + if (shoes.blood_DNA.len) var/icon/stain_icon = icon('blood.dmi', "shoesblood[!lying ? "" : "2"]") if(lo.destroyed) stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY) @@ -1000,7 +1000,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) + if (wear_suit.blood_DNA.len) var/icon/stain_icon = null if (istype(wear_suit, /obj/item/clothing/suit/armor/vest || /obj/item/clothing/suit/storage/wcoat)) stain_icon = icon('blood.dmi', "armorblood[!lying ? "" : "2"]") @@ -1036,7 +1036,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) + if (wear_mask.blood_DNA.len) var/icon/stain_icon = icon('blood.dmi', "maskblood[!lying ? "" : "2"]") overlays += image("icon" = stain_icon, "layer" = MOB_LAYER) wear_mask.screen_loc = ui_mask @@ -1050,7 +1050,7 @@ overlays += image("icon" = head_icon, "layer" = MOB_LAYER) if(gimmick_hat) overlays += image("icon" = icon('gimmick_head.dmi', "[gimmick_hat][!lying ? "" : "2"]"), "layer" = MOB_LAYER) - if (head.blood_DNA) + if (head.blood_DNA.len) var/icon/stain_icon = icon('blood.dmi', "helmetblood[!lying ? "" : "2"]") overlays += image("icon" = stain_icon, "layer" = MOB_LAYER) head.screen_loc = ui_head diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 5e472d85fd9..64f207624f6 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -274,7 +274,7 @@ proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank) if (ticker.current_state == GAME_STATE_PLAYING) var/obj/item/device/radio/intercom/a = new /obj/item/device/radio/intercom(null) - a.autosay("[character.real_name][character.wear_id.assignment ? ", [character.wear_id.assignment], " : "" ] has arrived on the station.", "Arrivals Announcement Computer") + a.autosay("[character.real_name],[character.wear_id.assignment ? " [character.wear_id.assignment]," : "" ] has arrived on the station.", "Arrivals Announcement Computer") del(a) diff --git a/code/modules/mob/organ/organ_external.dm b/code/modules/mob/organ/organ_external.dm index 29f89d6e251..75423e961cc 100644 --- a/code/modules/mob/organ/organ_external.dm +++ b/code/modules/mob/organ/organ_external.dm @@ -92,7 +92,7 @@ obj/item/weapon/organ/New(loc, mob/living/carbon/human/H) if(!istype(H)) return if(H.dna) - if(blood_DNA) + if(blood_DNA.len) blood_DNA.len++ blood_DNA[blood_DNA.len] = list(H.dna.unique_enzymes, H.dna.b_type) else diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 0de55b026ed..aaa19ce3694 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -439,7 +439,7 @@ del(H) CanPass(atom/movable/mover, turf/target, height=0, air_group=0) - if (istype(mover,/obj/item)) + if (istype(mover,/obj/item) && !istype(mover,/obj/item/weapon/dummy)) var/obj/item/I = mover if(prob(75)) I.loc = src diff --git a/code/unused/pda2/scanners.dm b/code/unused/pda2/scanners.dm index 9463558b347..499b8679542 100644 --- a/code/unused/pda2/scanners.dm +++ b/code/unused/pda2/scanners.dm @@ -62,7 +62,7 @@ dat += "\blue Unable to scan [A]'s fingerprints.\n" else dat += "\blue [H]'s Fingerprints: [md5(H.dna.uni_identity)]\n" - if ( !(H.blood_DNA) ) + if ( !(H.blood_DNA.len) ) dat += "\blue No blood found on [H]\n" else for(var/i = 1, i < H.blood_DNA.len, i++)