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++)