From 6ad132df53e0d60aaefa565964530efc0a4374ab Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sat, 19 Dec 2015 07:41:22 -0600 Subject: [PATCH] Stacking decals --- code/game/objects/effects/decals/Cleanable/humans.dm | 11 +++-------- code/game/objects/effects/decals/cleanable.dm | 9 +++++++++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 0026f4e8f5d..9edd5072438 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -19,15 +19,10 @@ viruses = null return ..() -/obj/effect/decal/cleanable/blood/New() +/obj/effect/decal/cleanable/blood/replace_decal(obj/effect/decal/cleanable/blood/C) + if (C.blood_DNA) + blood_DNA |= C.blood_DNA.Copy() ..() - if(src.type == /obj/effect/decal/cleanable/blood) - if(src.loc && isturf(src.loc)) - for(var/obj/effect/decal/cleanable/blood/B in src.loc) - if(B != src) - if (B.blood_DNA) - blood_DNA |= B.blood_DNA.Copy() - qdel(B) /obj/effect/decal/cleanable/blood/splatter random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5") diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 3a867084a0b..1dfd4add2f0 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -7,8 +7,17 @@ if (random_icon_states && length(src.random_icon_states) > 0) src.icon_state = pick(src.random_icon_states) create_reagents(300) + if(src.loc && isturf(src.loc)) + for(var/obj/effect/decal/cleanable/C in src.loc) + if(C != src && C.type == src.type) + replace_decal(C) ..() + + +/obj/effect/decal/cleanable/proc/replace_decal(obj/effect/decal/cleanable/C) + qdel(C) + /obj/effect/decal/cleanable/attackby(obj/item/weapon/W, mob/user,) if(istype(W, /obj/item/weapon/reagent_containers/glass) || istype(W, /obj/item/weapon/reagent_containers/food/drinks)) if(src.reagents && W.reagents)