mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-20 02:27:36 +01:00
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:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user