Instead of several minutes long spawn, blood is added to processing for drying out now. Processing proc itself is just compraing two vars so shouldn't be as bad.
This way it doesn't get referenced by unnamed proc and can be qdel'd properly.
This commit is contained in:
Chinsky
2015-06-17 06:50:08 +03:00
parent cc4f4d7bb2
commit 5754c4edf7

View File

@@ -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"