diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index b81089d9fb4..1c723c04ada 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -20,10 +20,12 @@ var/global/list/image/splatter_cache=list() var/basecolor="#A10808" // Color when wet. var/list/datum/disease2/disease/virus2 = list() var/amount = 5 + var/drytime /obj/effect/decal/cleanable/blood/Destroy() for(var/datum/disease/D in viruses) D.cure(0) + processing_objects -= src return ..() /obj/effect/decal/cleanable/blood/New() @@ -38,7 +40,11 @@ var/global/list/image/splatter_cache=list() if (B.blood_DNA) blood_DNA |= B.blood_DNA.Copy() qdel(B) - spawn(DRYING_TIME * (amount+1)) + drytime = world.time + DRYING_TIME * (amount+1) + processing_objects += src + +/obj/effect/decal/cleanable/blood/process() + if(world.time > drytime) dry() /obj/effect/decal/cleanable/blood/update_icon() @@ -91,6 +97,7 @@ var/global/list/image/splatter_cache=list() desc = drydesc color = adjust_brightness(color, -50) amount = 0 + processing_objects -= src /obj/effect/decal/cleanable/blood/attack_hand(mob/living/carbon/human/user) ..() @@ -125,8 +132,7 @@ var/global/list/image/splatter_cache=list() /obj/effect/decal/cleanable/blood/drip/New() ..() - spawn(1) - drips |= icon_state + drips |= icon_state /obj/effect/decal/cleanable/blood/writing icon_state = "tracks"