mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-24 04:28:12 +01:00
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:
co-authored by
Cameron Lennox
parent
6530dce7fa
commit
f8fc337da3
@@ -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))
|
||||
Reference in New Issue
Block a user