diff --git a/code/game/objects/effects/chem/puddle.dm b/code/game/objects/effects/chem/puddle.dm index de3c60a4e7..cb854efe15 100644 --- a/code/game/objects/effects/chem/puddle.dm +++ b/code/game/objects/effects/chem/puddle.dm @@ -22,8 +22,9 @@ CP.update_icon(TRUE) /obj/effect/decal/cleanable/chempuddle/proc/Spread(exclude=list()) - if(!reagents && !QDELETED(src)) - qdel(src) + if(!reagents) // Destroy ourselves if we are an empty husk somehow. + if(!QDELETED(src)) + qdel(src) return if(reagents.total_volume < (25 * reagents.get_viscosity())) return diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index afd9c748fa..e330636d8a 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -267,7 +267,14 @@ reagents.splash(O, 10) /obj/machinery/shower/process() +// A drain for every shower! ..If, there's a liquid on its turf. + var/obj/effect/decal/cleanable/chempuddle/to_drain = locate() in get_turf(src) + if(to_drain) + if(!QDELETED(to_drain)) + qdel(to_drain) + if(!on) return + for(var/thing in loc) var/atom/movable/AM = thing var/mob/living/L = thing