Respects Windows and our Inability to Pass Them

Blood that would splatter onto windows is now pixel-shifted and renders
above them so you can A: Clean it with ease and B: See it in all its
gorey glory.

I had to get creative with how I detected structures blocking blood
splatter.

Janiborgs riding, sprayers spraying and cleaner grenades foaming over
adjacent tiles won't clean off wall/windowblood. You have to use soap
and click on the blood.
This commit is contained in:
KasparoVy
2017-07-25 22:49:57 -04:00
parent 849f698256
commit 8dbfc8ee1d
6 changed files with 54 additions and 17 deletions
@@ -132,18 +132,27 @@
taste_message = "floor cleaner"
/datum/reagent/space_cleaner/reaction_obj(obj/O, volume)
if(istype(O, /obj/effect/decal/cleanable))
qdel(O)
if(is_cleanable(O))
var/obj/effect/decal/cleanable/blood/B = O
if(!(istype(B) && B.off_floor))
qdel(O)
else
O.color = initial(O.color)
if(!istype(O, /atom/movable/lighting_overlay))
O.color = initial(O.color)
O.clean_blood()
/datum/reagent/space_cleaner/reaction_turf(turf/T, volume)
if(volume >= 1)
T.color = initial(T.color)
T.clean_blood()
var/floor_only = TRUE
for(var/obj/effect/decal/cleanable/C in src)
qdel(C)
var/obj/effect/decal/cleanable/blood/B = C
if(istype(B) && B.off_floor)
floor_only = FALSE
else
qdel(C)
T.color = initial(T.color)
if(floor_only)
T.clean_blood()
for(var/mob/living/carbon/slime/M in T)
M.adjustToxLoss(rand(5,10))