diff --git a/code/modules/pool/pool.dm b/code/modules/pool/pool.dm index 2176423a0d89..e8b9fe12258e 100644 --- a/code/modules/pool/pool.dm +++ b/code/modules/pool/pool.dm @@ -32,13 +32,18 @@ Place a pool filter somewhere in the pool if you want people to be able to modif . = ..() water_overlay = new /obj/effect/overlay/poolwater(get_turf(src)) -/turf/open/indestructible/sound/pool/proc/set_colour(colour) - water_overlay.color = colour - -/turf/open/indestructible/sound/pool/end/ChangeTurf(path, list/new_baseturfs, flags) +/turf/open/indestructible/sound/pool/Destroy() if(water_overlay) qdel(water_overlay) - . = ..() + return ..() + +/turf/open/indestructible/sound/pool/examine(mob/user) + . = ..() // This is a list + if(!HAS_TRAIT(user,TRAIT_CLUMSY) && calculate_zap(user)) + . += span_warning("It's probably not the best idea to jump in...") + +/turf/open/indestructible/sound/pool/proc/set_colour(colour) + water_overlay.color = colour /turf/open/CanPass(atom/movable/mover, turf/target) var/datum/component/swimming/S = mover.GetComponent(/datum/component/swimming) //If you're swimming around, you don't really want to stop swimming just like that do you? @@ -99,7 +104,7 @@ Place a pool filter somewhere in the pool if you want people to be able to modif splash(dropping) /datum/mood_event/poolparty - description = "I love swimming!.\n" + description = "I love swimming!\n" mood_change = 2 timeout = 2 MINUTES @@ -109,14 +114,12 @@ Place a pool filter somewhere in the pool if you want people to be able to modif timeout = 2 MINUTES /datum/mood_event/poolwet - description = "Eugh! my clothes are soaking wet from that swim.\n" + description = "Eugh! My clothes are soaking wet from that swim.\n" mood_change = -4 timeout = 4 MINUTES -/turf/open/indestructible/sound/pool/proc/splash(mob/user) - user.forceMove(src) - playsound(src, 'sound/effects/splosh.ogg', 100, 1) //Credit to hippiestation for this sound file! - user.visible_message("SPLASH!") +//Used to determine how zappy to be to a perhaps-electronic user entering this pool. +/turf/open/indestructible/sound/pool/proc/calculate_zap(mob/user) var/zap = 0 if(issilicon(user)) //Do not throw brick in a pool. Brick begs. zap = 1 //Sorry borgs! Swimming will come at a cost. @@ -135,6 +138,13 @@ Place a pool filter somewhere in the pool if you want people to be able to modif zap -- if(zap > 0) zap = 3 - zap // 1 is higher severity emp than 2 + return zap + +/turf/open/indestructible/sound/pool/proc/splash(mob/user) + user.forceMove(src) + playsound(src, 'sound/effects/splosh.ogg', 100, 1) //Credit to hippiestation for this sound file! + user.visible_message("SPLASH!") + var/zap = calculate_zap(user) if(zap > 0) user.emp_act(zap) user.emote("scream") //Chad coders use M.say("*scream") @@ -165,6 +175,15 @@ Place a pool filter somewhere in the pool if you want people to be able to modif if(!(H.head?.clothing_flags & SHOWEROKAY)) return TRUE +/turf/open/indestructible/sound/pool/singularity_act() // Pool's closed + playsound(src, 'sound/effects/splosh.ogg', 100, 1) // Slourmping up all the pool water is very sploshy. + visible_message(span_warning("The pool's water is sucked into the singularity!")) + for(var/turf/open/indestructible/sound/pool/water in get_area_turfs(get_area(src))) // Basically, we can just turn into plating or something. + if(water != src) + if(isnull(id) || id == water.id) // To make sure this is the same pool being drained + water.ChangeTurf(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) + ChangeTurf(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) + /obj/effect/turf_decal/pool name = "Pool siding" icon = 'icons/obj/pool.dmi'