Toilet Overhaul (#19370)

* April Fool !

there's 30 minutes till midnight in my timezone so it's still valid

* Powder that make the maintainer say yes

* Apply suggestions from code review

Co-authored-by: Cameron Lennox <killer65311@gmail.com>

* Edits

* Update watercloset.dm

* five nights at space station toilet

pls merge or else poopwater 2 pr will be next

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Reo Lozzot
2026-04-23 21:22:06 -04:00
committed by GitHub
co-authored by Cameron Lennox
parent 6530dce7fa
commit f8fc337da3
18 changed files with 459 additions and 194 deletions
+28 -20
View File
@@ -15,27 +15,35 @@
/obj/effect/effect/water/proc/set_up(var/turf/target, var/step_count = 5, var/delay = 5)
if(!target)
return
for(var/i = 1 to step_count)
if(!loc)
step_process(target, step_count, delay)
/obj/effect/effect/water/proc/step_process(var/turf/target, var/step_count, var/delay, var/iteration)
step_count--
if(!loc)
qdel(src)
return
step_towards(src, target)
var/turf/T = get_turf(src)
if(T && reagents)
reagents.touch_turf(T, reagents.total_volume) //VOREStation Add
var/mob/M
for(var/atom/A in T)
if(!ismob(A) && A.simulated) // Mobs are handled differently
reagents.touch(A, reagents.total_volume)
else if(ismob(A) && !M)
M = A
if(M)
reagents.splash(M, reagents.total_volume)
QDEL_IN(src, 1 SECOND)
return
step_towards(src, target)
var/turf/T = get_turf(src)
if(T && reagents)
reagents.touch_turf(T, reagents.total_volume) //VOREStation Add
var/mob/M
for(var/atom/A in T)
if(!ismob(A) && A.simulated) // Mobs are handled differently
reagents.touch(A, reagents.total_volume)
else if(ismob(A) && !M)
M = A
if(M)
reagents.splash(M, reagents.total_volume)
break
if(T == get_turf(target))
break
sleep(delay)
sleep(10)
qdel(src)
if(T == get_turf(target))
QDEL_IN(src, 1 SECOND)
return
if(step_count > 0)
addtimer(CALLBACK(src, PROC_REF(step_process), target, step_count, delay, iteration), delay)
return
QDEL_IN(src, 1 SECOND)
/obj/effect/effect/water/Move(turf/newloc)
if(newloc.density)
@@ -0,0 +1,7 @@
// For some reason, /landmark seems to be near-exclusively used for spawnpoints. Yet it's also being used here as the shit output.
// I smell a refactor/repath in the future, but that time is not now.
/obj/effect/landmark/teleplumb_exit
name = "teleplumbing exit"
/obj/effect/landmark/teleplumb_exit/Entered(atom/movable/thing, atom/old_loc)
thing.forceMove(get_turf(src))