Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion code/game/objects/structures/signs/direction_signs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,4 +117,13 @@

/obj/structure/sign/deck/fifth
name = "\improper Fifth Deck"
icon_state = "deck-5"
icon_state = "deck-5"

/////////////////////////////////////////////////////
// Misc Signs Definition
/////////////////////////////////////////////////////

/obj/structure/sign/eshowers
name = "\improper EMERGENCY SHOWERS"
icon = 'icons/obj/signs/slim_location_signs.dmi'
icon_state = "eshowers"
58 changes: 41 additions & 17 deletions code/game/objects/structures/watercloset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ var/global/list/hygiene_props = list()
var/drainage = 0.5
var/last_gurgle = 0

/obj/structure/hygiene/Initialize()
/obj/structure/hygiene/Initialize(ml, _mat, _reinf_mat)
. = ..()
global.hygiene_props += src
START_PROCESSING(SSobj, src)
Expand Down Expand Up @@ -239,15 +239,17 @@ var/global/list/hygiene_props = list()
var/next_wash = 0
var/watertemp = "normal" //freezing, normal, or boiling
var/list/temperature_settings = list("normal" = 310, "boiling" = T0C+100, "freezing" = T0C)
///The amount of internal reagent storage. Essentially the volume of fluid the shower dispenses each tick.
var/internal_volume = 5

var/sound_id = /obj/structure/hygiene/shower
var/datum/sound_token/sound_token

//add heat controls? when emagged, you can freeze to death in it?

/obj/structure/hygiene/shower/Initialize()
/obj/structure/hygiene/shower/Initialize(ml, _mat, _reinf_mat)
. = ..()
create_reagents(5)
create_reagents(internal_volume)

/obj/structure/hygiene/shower/Destroy()
QDEL_NULL(sound_token)
Expand Down Expand Up @@ -281,7 +283,7 @@ var/global/list/hygiene_props = list()
anchored = TRUE
mouse_opacity = MOUSE_OPACITY_UNCLICKABLE

/obj/effect/mist/Initialize()
/obj/effect/mist/Initialize(mapload)
. = ..()
if(. != INITIALIZE_HINT_QDEL)
addtimer(CALLBACK(src, /datum/proc/qdel_self), 25 SECONDS)
Expand All @@ -290,20 +292,30 @@ var/global/list/hygiene_props = list()
if(istype(I, /obj/item/scanner/gas))
to_chat(user, SPAN_NOTICE("The water temperature seems to be [watertemp]."))
return
. = ..()

if(IS_WRENCH(I))
var/newtemp = input(user, "What setting would you like to set the temperature valve to?", "Water Temperature Valve") in temperature_settings
if(newtemp != watertemp && !QDELETED(I) && !QDELETED(user) && !QDELETED(src) && user.Adjacent(src) && I.loc == src)
to_chat(user, SPAN_NOTICE("You begin to adjust the temperature valve with \the [I]."))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, (5 SECONDS), src) && newtemp != watertemp)
watertemp = newtemp
user.visible_message(
SPAN_NOTICE("\The [user] adjusts \the [src] with \the [I]."),
SPAN_NOTICE("You adjust the shower with \the [I]."))
add_fingerprint(user)
/obj/structure/hygiene/shower/handle_default_wrench_attackby(mob/user, obj/item/wrench)
if(length(temperature_settings) <= 1)
return FALSE //If no options, don't do anything.
var/newtemp = input(user, "What setting would you like to set the temperature valve to?", "Water Temperature Valve") in temperature_settings

//Sanity check after the user closes the input dialog.
if(QDELETED(wrench) || QDELETED(user) || QDELETED(src))
return TRUE
if(!CanPhysicallyInteractWith(user, src) || !wrench.CanUseTopic(user, global.inventory_topic_state))
return TRUE
if(newtemp == watertemp)
return TRUE
. = ..()

to_chat(user, SPAN_NOTICE("You begin to adjust the temperature valve with \the [wrench]."))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, (5 SECONDS), src) && newtemp != watertemp)
watertemp = newtemp
user.visible_message(
SPAN_NOTICE("\The [user] adjusts \the [src] with \the [wrench]."),
SPAN_NOTICE("You adjust the shower with \the [wrench]."))
add_fingerprint(user)
return TRUE

/obj/structure/hygiene/shower/on_update_icon()
..()
Expand All @@ -316,7 +328,7 @@ var/global/list/hygiene_props = list()
next_mist = world.time + (25 SECONDS)

/obj/structure/hygiene/shower/Process()
..()
. = ..()
if(on)
update_mist()
for(var/thing in loc.get_contained_external_atoms())
Expand All @@ -340,6 +352,18 @@ var/global/list/hygiene_props = list()
else if(water_temperature <= H.get_temperature_threshold(COLD_LEVEL_1))
to_chat(H, SPAN_DANGER("The water is freezing cold!"))

/obj/structure/hygiene/shower/emergency
name = "emergency shower"
desc = "An emergency decontamination shower."
color = PIPE_COLOR_YELLOW
icon_state = "eshower"
internal_volume = 8
drainage = 0.8
temperature_settings = list("normal" = T20C) //Room/pipe temperature, but since the whole thing is hardcoded, set to 20c

/obj/structure/hygiene/shower/emergency/handle_default_wrench_attackby(mob/user, obj/item/wrench)
return FALSE //Can't change the temperature

/obj/item/bikehorn/rubberducky
name = "rubber ducky"
desc = "Rubber ducky you're so fine, you make bathtime lots of fuuun. Rubber ducky I'm awfully fooooond of yooooouuuu~" //thanks doohl
Expand Down
Binary file modified icons/obj/signs/slim_location_signs.dmi
Binary file not shown.
19 changes: 12 additions & 7 deletions maps/outreach/outreach-1.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2112,17 +2112,13 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/structure/sign/warning/airlock{
pixel_y = 32
},
/obj/machinery/light/small{
icon_state = "bulb_map";
dir = 1
},
/obj/machinery/atmospherics/unary/vent_pump/high_volume/airlock{
dir = 8;
id_tag = "OH_l1_e_alck_pump"
},
/obj/structure/sign/eshowers,
/obj/structure/hygiene/shower/emergency,
/obj/effect/floor_decal/industrial/hatch/blue,
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement2)
"eG" = (
Expand Down Expand Up @@ -2351,6 +2347,10 @@
dir = 1;
id_tag = "OH_l1_e_alck_pump"
},
/obj/machinery/light/small{
icon_state = "bulb_map";
dir = 8
},
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement2)
"fe" = (
Expand Down Expand Up @@ -2587,6 +2587,10 @@
/obj/machinery/atmospherics/unary/vent_pump/high_volume/airlock{
id_tag = "OH_l1_e_alck_pump_out_internal"
},
/obj/machinery/light/small{
icon_state = "bulb_map";
dir = 4
},
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement2)
"fC" = (
Expand Down Expand Up @@ -2925,6 +2929,7 @@
/area/outreach/outpost/hallway/south/basement2)
"gg" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/hygiene/drain,
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement2)
"gh" = (
Expand Down
42 changes: 32 additions & 10 deletions maps/outreach/outreach-2.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1972,6 +1972,7 @@
/area/outreach/outpost/airlock/basement1/north)
"er" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/hygiene/drain,
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement1/north)
"es" = (
Expand Down Expand Up @@ -5389,6 +5390,7 @@
/area/exoplanet/outreach/underground/d1)
"ll" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/hygiene/drain,
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement1/south)
"lm" = (
Expand Down Expand Up @@ -5917,9 +5919,14 @@
/obj/machinery/atmospherics/unary/vent_pump/high_volume/airlock{
id_tag = "OH_l2_n_alck_pump"
},
/obj/machinery/light/small/red{
icon_state = "bulb_map";
dir = 4
/obj/effect/floor_decal/industrial/hatch/blue,
/obj/structure/hygiene/shower/emergency{
icon_state = "eshower";
dir = 8
},
/obj/structure/sign/eshowers{
icon_state = "eshowers";
dir = 8
},
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement1/north)
Expand Down Expand Up @@ -6051,6 +6058,10 @@
/obj/machinery/atmospherics/unary/vent_pump/high_volume/airlock{
id_tag = "OH_l2_s_alck_pump_out_internal"
},
/obj/machinery/light/small{
icon_state = "bulb_map";
dir = 4
},
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement1/south)
"mu" = (
Expand Down Expand Up @@ -6432,6 +6443,7 @@
/area/outreach/outpost/airlock/basement1/west)
"nd" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/hygiene/drain,
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement1/east)
"ne" = (
Expand Down Expand Up @@ -6543,10 +6555,9 @@
dir = 8;
id_tag = "OH_l2_e_alck_pump"
},
/obj/machinery/light/small/red{
icon_state = "bulb_map";
dir = 1
},
/obj/structure/sign/eshowers,
/obj/structure/hygiene/shower/emergency,
/obj/effect/floor_decal/industrial/hatch/blue,
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement1/east)
"np" = (
Expand Down Expand Up @@ -6574,6 +6585,10 @@
icon_state = "map_vent";
id_tag = "OH_l2_n_alck_pump_out_internal"
},
/obj/machinery/light/small/red{
icon_state = "bulb_map";
dir = 8
},
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement1/north)
"nr" = (
Expand Down Expand Up @@ -6648,10 +6663,16 @@
icon_state = "map_vent";
id_tag = "OH_l2_s_alck_pump"
},
/obj/machinery/light/small{
icon_state = "bulb_map";
dir = 8
/obj/structure/sign/eshowers{
icon_state = "eshowers";
dir = 4
},
/obj/structure/hygiene/shower/emergency{
color = "#c9a344";
dir = 4;
icon_state = "eshower"
},
/obj/effect/floor_decal/industrial/hatch/blue,
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement1/south)
"ny" = (
Expand Down Expand Up @@ -12021,6 +12042,7 @@
dir = 4;
id_tag = "OH_l2_e_alck_pump_out_internal"
},
/obj/machinery/light/small/red,
/turf/simulated/floor/tiled/techmaint,
/area/outreach/outpost/airlock/basement1/east)
"wZ" = (
Expand Down
Loading