From d3414a4d2387597c95bdfb1e6600d502396a9c9c Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sat, 26 Dec 2020 20:47:50 -0800 Subject: [PATCH] ok --- code/game/objects/effects/decals/cleanable.dm | 2 ++ code/game/objects/effects/decals/cleanable/misc.dm | 1 + code/game/turfs/simulated/floor.dm | 3 +++ code/game/turfs/simulated/floor/plating.dm | 12 ++++++++++++ code/game/turfs/simulated/floor/reinf_floor.dm | 3 +++ 5 files changed, 21 insertions(+) diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 11d76d3cdf..b447b46754 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -5,6 +5,8 @@ var/persistent = FALSE /// Can we stack multiple in one tile? var/persistence_allow_stacking = FALSE + /// Are we deleted by turf changes? + var/wiped_by_turf_change = FALSE var/list/random_icon_states = null var/blood_state = "" //I'm sorry but cleanable/blood code is ass, and so is blood_DNA diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index b4c3a3acec..e2cd40a1af 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -64,6 +64,7 @@ beauty = -75 mergeable_decal = TRUE persistent = TRUE + wiped_by_turf_change = TRUE /obj/effect/decal/cleanable/dirt/Initialize(mapload) . = ..() diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 6a95a4a95d..6a4ddea63b 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -138,6 +138,9 @@ burnt = 1 /turf/open/floor/proc/make_plating() + for(var/obj/effect/decal/cleanable/C in src) + if(C.wiped_by_floor_change) + qdel(C) return ScrapeAway(flags = CHANGETURF_INHERIT_AIR) /turf/open/floor/ChangeTurf(path, new_baseturf, flags) diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 35ee06a584..539fcb63e0 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -61,6 +61,9 @@ to_chat(user, "You begin reinforcing the floor...") if(do_after(user, 30, target = src)) if (R.get_amount() >= 2 && !istype(src, /turf/open/floor/engine)) + for(var/obj/effect/decal/cleanable/C in src) + if(C.wiped_by_floor_change) + qdel(C) PlaceOnTop(/turf/open/floor/engine, flags = CHANGETURF_INHERIT_AIR) playsound(src, 'sound/items/deconstruct.ogg', 80, 1) R.use(2) @@ -78,6 +81,9 @@ to_chat(user, "You begin adding glass to the floor...") if(do_after(user, 5, target = src)) if (G.get_amount() >= 2 && !istype(src, /turf/open/transparent/glass)) + for(var/obj/effect/decal/cleanable/C in src) + if(C.wiped_by_floor_change) + qdel(C) PlaceOnTop(/turf/open/transparent/glass, flags = CHANGETURF_INHERIT_AIR) playsound(src, 'sound/items/deconstruct.ogg', 80, 1) G.use(2) @@ -95,6 +101,9 @@ to_chat(user, "You begin adding reinforced glass to the floor...") if(do_after(user, 10, target = src)) if (RG.get_amount() >= 2 && !istype(src, /turf/open/transparent/glass/reinforced)) + for(var/obj/effect/decal/cleanable/C in src) + if(C.wiped_by_floor_change) + qdel(C) PlaceOnTop(/turf/open/transparent/glass/reinforced, flags = CHANGETURF_INHERIT_AIR) playsound(src, 'sound/items/deconstruct.ogg', 80, 1) RG.use(2) @@ -110,6 +119,9 @@ var/obj/item/stack/tile/W = C if(!W.use(1)) return + for(var/obj/effect/decal/cleanable/C in src) + if(C.wiped_by_floor_change) + qdel(C) if(istype(W, /obj/item/stack/tile/material)) var/turf/newturf = PlaceOnTop(/turf/open/floor/material, flags = CHANGETURF_INHERIT_AIR) newturf.set_custom_materials(W.custom_materials) diff --git a/code/game/turfs/simulated/floor/reinf_floor.dm b/code/game/turfs/simulated/floor/reinf_floor.dm index 42b4707b50..f8c6ff1ce2 100644 --- a/code/game/turfs/simulated/floor/reinf_floor.dm +++ b/code/game/turfs/simulated/floor/reinf_floor.dm @@ -43,6 +43,9 @@ return TRUE if(floor_tile) new floor_tile(src, 2) + for(var/obj/effect/decal/cleanable/C in src) + if(C.wiped_by_floor_change) + qdel(C) ScrapeAway(flags = CHANGETURF_INHERIT_AIR) return TRUE