Overhauls in-game forensics system to be more in-depth.

This commit is contained in:
suethecake
2014-09-06 23:29:41 -06:00
parent b1ef25580a
commit ea9bbe3780
18 changed files with 895 additions and 10 deletions
+69 -5
View File
@@ -958,6 +958,62 @@ datum
..()
return
luminol
name = "Luminol"
id = "luminol"
description = "A compound that interacts with blood on the molecular level."
reagent_state = LIQUID
color = "#F2F3F4"
overdose = REAGENTS_OVERDOSE
reaction_obj(var/obj/O, var/volume)
if(istype(O,/obj/effect/decal/cleanable/blood))
var/obj/effect/decal/cleanable/blood/W
W.invisibility = 1
W.color = "#007fff"
W.basecolor = "#007fff"
else if (istype(O, /obj/item/))
var/obj/item/I = O
I.reveal_blood()
return
else
return
reaction_turf(var/turf/T, var/volume)
if(volume >= 1)
if(istype(T, /turf/simulated))
var/turf/simulated/S = T
S.dirt = 0
T.clean_blood()
for(var/obj/effect/decal/cleanable/blood/C in T.contents)
C.invisibility = 1
C.basecolor = "#007fff"
C.color = "#007fff"
if(istype(C, /obj/effect/decal/cleanable/blood/tracks/footprints))
var/obj/effect/decal/cleanable/blood/tracks/footprints/D = C
for(var/datum/fluidtrack/E in D.stack)
E.basecolor = "#007fff"
D.update_icon()
return
reaction_mob(var/mob/living/carbon/human/H, var/method=TOUCH, var/volume)
if(H.head)
if(H.head.reveal_blood())
H.update_inv_head(0)
if(H.wear_suit)
if(H.wear_suit.reveal_blood())
H.update_inv_wear_suit(0)
else if(H.w_uniform)
if(H.w_uniform.reveal_blood())
H.update_inv_w_uniform(0)
if(H.shoes)
if(H.shoes.reveal_blood())
H.update_inv_shoes(0)
else
return
space_cleaner
name = "Space cleaner"
id = "cleaner"
@@ -967,11 +1023,14 @@ datum
overdose = REAGENTS_OVERDOSE
reaction_obj(var/obj/O, var/volume)
if(istype(O,/obj/effect/decal/cleanable))
if(istype(O,/obj/effect/decal/cleanable/blood))
O.invisibility = INVISIBILITY_MAXIMUM
return
else if(istype(O,/obj/effect/decal/cleanable/))
del(O)
else
if(O)
O.clean_blood()
O.clean_blood()
return
reaction_turf(var/turf/T, var/volume)
if(volume >= 1)
@@ -980,8 +1039,13 @@ datum
S.dirt = 0
T.clean_blood()
for(var/obj/effect/decal/cleanable/C in T.contents)
src.reaction_obj(C, volume)
del(C)
if(istype (C,/obj/effect/decal/cleanable/blood))
src.reaction_obj(C, volume)
C.invisibility = INVISIBILITY_MAXIMUM
return
else
src.reaction_obj(C, volume)
del(C)
for(var/mob/living/carbon/slime/M in T)
M.adjustToxLoss(rand(5,10))
@@ -713,6 +713,12 @@ datum
required_reagents = list("ammonia" = 1, "water" = 1)
result_amount = 2
luminol
name = "Luminol"
id = "luminol"
result = "luminol"
required_reagents = list("hydrogen" = 3, "carbon" = 3, "ammonia" = 3)
plantbgone
name = "Plant-B-Gone"
id = "plantbgone"