diff --git a/_maps/map_files/DreamStation/dreamstation04.dmm b/_maps/map_files/DreamStation/dreamstation04.dmm index b2ef9169dee..ba711a02df7 100644 --- a/_maps/map_files/DreamStation/dreamstation04.dmm +++ b/_maps/map_files/DreamStation/dreamstation04.dmm @@ -48815,12 +48815,13 @@ /area/crew_quarters/captain) "bSu" = ( /obj/structure/mirror{ - pixel_y = 28 + pixel_y = -28 }, /obj/item/weapon/soap/deluxe, /obj/machinery/shower{ - dir = 8 + pixel_y = 12 }, +/obj/structure/curtain, /turf/open/floor/plasteel/freezer, /area/crew_quarters/captain) "bSv" = ( diff --git a/_maps/map_files/EfficiencyStation/EfficiencyStation.dmm b/_maps/map_files/EfficiencyStation/EfficiencyStation.dmm index 0c9b02c78c0..e95b3279807 100644 --- a/_maps/map_files/EfficiencyStation/EfficiencyStation.dmm +++ b/_maps/map_files/EfficiencyStation/EfficiencyStation.dmm @@ -38470,21 +38470,13 @@ name = "\improper Captain's Quarters" }) "byU" = ( -/obj/machinery/door/window{ - base_state = "right"; - dir = 4; - icon_state = "right"; - name = "Private Shower"; - req_access_txt = "0" - }, /obj/machinery/light/small{ dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump{ - dir = 1; - external_pressure_bound = 101.325; - on = 1; - pressure_checks = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/toilet, +/obj/structure/window/reinforced/tinted{ + dir = 4 }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/captain{ @@ -39199,26 +39191,34 @@ name = "\improper Captain's Quarters" }) "bAn" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/structure/window/reinforced/tinted{ - dir = 4 - }, /obj/effect/landmark/start{ name = "Captain" }, +/obj/machinery/atmospherics/components/unary/vent_pump{ + dir = 1; + external_pressure_bound = 101.325; + on = 1; + pressure_checks = 1 + }, +/obj/machinery/door/window{ + base_state = "right"; + dir = 4; + icon_state = "right"; + name = "Private Shower"; + req_access_txt = "0" + }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/captain{ name = "\improper Captain's Quarters" }) "bAo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/shower{ + pixel_y = 12 + }, /obj/item/weapon/soap/deluxe, /obj/item/weapon/bikehorn/rubberducky, -/obj/machinery/shower{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/curtain, /turf/open/floor/plasteel/freezer, /area/crew_quarters/captain{ name = "\improper Captain's Quarters" @@ -89882,8 +89882,8 @@ btw bHe bww bxM -byV bAo +byV bBv cjL bEm diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index ec983446ef9..2ddc5744bbe 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -37314,18 +37314,15 @@ name = "xeno_spawn"; pixel_x = -1 }, -/obj/machinery/shower{ - icon_state = "shower"; - dir = 4 - }, -/obj/machinery/door/window/westright{ - dir = 4 - }, /obj/item/weapon/soap/deluxe, /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 4; on = 1 }, +/obj/machinery/shower{ + pixel_y = 12 + }, +/obj/structure/curtain, /turf/open/floor/plasteel/white, /area/crew_quarters/captain{ name = "\improper Captain's Quarters" diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index 85d19033baf..9fb1a0e4a66 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -29970,13 +29970,14 @@ /area/crew_quarters/captain) "bpm" = ( /obj/machinery/shower{ - dir = 4 + dir = 1 }, /obj/item/weapon/soap/deluxe, /obj/item/weapon/bikehorn/rubberducky, /obj/effect/landmark{ name = "revenantspawn" }, +/obj/structure/curtain, /turf/open/floor/plasteel/freezer, /area/crew_quarters/captain) "bpn" = ( diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 847fbb70c2f..c65cd051b5d 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -478,3 +478,45 @@ icon_state = "puddle-splash" . = ..() icon_state = "puddle" + + +//Shower Curtains// +//Defines used are pre-existing in layers.dm// + + +/obj/structure/curtain + name = "curtain" + desc = "Contains less than 1% mercury." + icon = 'icons/obj/watercloset.dmi' + icon_state = "open" + color = "#ACD1E9" //Default color, didn't bother hardcoding other colors, mappers can and should easily change it. + alpha = 200 //Mappers can also just set this to 255 if they want curtains that can't be seen through + layer = WALL_OBJ_LAYER + anchored = 1 + opacity = 0 + density = 0 + var/open = TRUE + + +/obj/structure/curtain/proc/toggle() + open = !open + update_icon() + +/obj/structure/curtain/update_icon() + if(!open) + icon_state = "closed" + layer = WALL_OBJ_LAYER + density = 1 + open = FALSE + + else + icon_state = "open" + layer = SIGN_LAYER + density = 0 + open = TRUE + +/obj/structure/curtain/attack_hand(mob/user) + playsound(loc, 'sound/effects/curtain.ogg', 50, 1) + toggle() + ..() + diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi index e31bb79d247..986a630cca3 100644 Binary files a/icons/obj/watercloset.dmi and b/icons/obj/watercloset.dmi differ diff --git a/sound/effects/curtain.ogg b/sound/effects/curtain.ogg new file mode 100644 index 00000000000..b3be91aaa28 Binary files /dev/null and b/sound/effects/curtain.ogg differ