From 6ad132df53e0d60aaefa565964530efc0a4374ab Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sat, 19 Dec 2015 07:41:22 -0600 Subject: [PATCH 1/3] 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) From 1a958e83b6ca774ea8b73d50d85eae2bf549e1f6 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sat, 26 Dec 2015 06:47:07 -0600 Subject: [PATCH 2/3] Stacking decals --- code/game/objects/effects/decals/Cleanable/humans.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 9edd5072438..38615cac5ee 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -65,6 +65,9 @@ ..() reagents.add_reagent("liquidgibs", 5) +/obj/effect/decal/cleanable/blood/gibs/replace_decal(obj/effect/decal/cleanable/C) + return + /obj/effect/decal/cleanable/blood/gibs/ex_act(severity, target) return @@ -186,6 +189,10 @@ user << . +/obj/effect/decal/cleanable/blood/gibs/replace_decal(obj/effect/decal/cleanable/C) + if(blood_state != C.blood_state) //We only replace footprints of the same type as us + return + ..() /obj/effect/decal/cleanable/blood/footprints/can_bloodcrawl_in() if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY)) From a47b490d2b0d5508aa70facbe944dd76b1da48cd Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sat, 26 Dec 2015 07:00:20 -0600 Subject: [PATCH 3/3] That was dumb --- code/game/objects/effects/decals/Cleanable/humans.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 38615cac5ee..30d74ba6970 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -189,7 +189,7 @@ user << . -/obj/effect/decal/cleanable/blood/gibs/replace_decal(obj/effect/decal/cleanable/C) +/obj/effect/decal/cleanable/blood/footprints/replace_decal(obj/effect/decal/cleanable/C) if(blood_state != C.blood_state) //We only replace footprints of the same type as us return ..()