mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 15:47:15 +01:00
Showers provide unlimited real water instead of unlimited imaginary water (#5024)
## About The Pull Request - Closes https://github.com/Bubberstation/Bubberstation/issues/5021 - Re-implements unlimited shower water and an additional occupancy check for those hour long showers. - Adds a ctrl+click changing of temperature (safe temperatures only) ## Why It's Good For The Game You stink ## Changelog 🆑 LT3 fix: Showers now provide unlimited real water instead of unlimited imaginary water qol: Showers will no longer auto turn-off if occupied qol: Shower temperature change button /🆑
This commit is contained in:
@@ -21,9 +21,9 @@
|
||||
#define SHOWER_MODE_COUNT 3
|
||||
|
||||
GLOBAL_LIST_INIT(shower_mode_descriptions, list(
|
||||
"[SHOWER_MODE_UNTIL_EMPTY]" = "run until empty",
|
||||
"[SHOWER_MODE_TIMED]" = "run for 15 seconds or until empty",
|
||||
"[SHOWER_MODE_FOREVER]" = "keep running forever and auto turn back on",
|
||||
"[SHOWER_MODE_UNTIL_EMPTY]" = "run forever from internal tank", // BUBBER EDIT CHANGE - Original: "run until empty"
|
||||
"[SHOWER_MODE_TIMED]" = "run using auto-detect sensor", // BUBBER EDIT CHANGE - Original: "run for 15 seconds or until empty"
|
||||
"[SHOWER_MODE_FOREVER]" = "run forever from external source", // BUBBER EDIT CHANGE - Original: "keep running forever and auto turn back on"
|
||||
))
|
||||
|
||||
/obj/machinery/shower
|
||||
@@ -96,10 +96,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16))
|
||||
|
||||
/obj/machinery/shower/examine(mob/user)
|
||||
. = ..()
|
||||
. += span_notice("It looks like the thermostat has an adjustment screw.")
|
||||
. += span_notice("It looks like the thermostat has a pair of buttons and a manual adjustment screw.") // BUBBER EDIT CHANGE - Original: "It looks like the thermostat has an adjustment screw."
|
||||
if(has_water_reclaimer)
|
||||
. += span_notice("A water recycler is installed. It looks like you could pry it out.")
|
||||
. += span_notice("The auto shut-off is programmed to [GLOB.shower_mode_descriptions["[mode]"]].")
|
||||
. += span_info("The current shower mode is [span_bold(GLOB.shower_mode_descriptions["[mode]"])].") // BUBBER EDIT CHANGE - Showers have infinite water - Original: "The auto shut-off is programmed to [GLOB.shower_mode_descriptions["[mode]"]]."
|
||||
. += span_notice("[reagents.total_volume]/[reagents.maximum_volume] liquids remaining.")
|
||||
|
||||
/obj/machinery/shower/Destroy()
|
||||
@@ -121,14 +121,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16))
|
||||
|
||||
return TRUE
|
||||
|
||||
|
||||
//SKYRAT EDIT ADDITION
|
||||
/obj/machinery/shower/plunger_act(obj/item/plunger/P, mob/living/user, reinforced)
|
||||
if(do_after(user, 3 SECONDS, src))
|
||||
reagents.remove_all(reagents.total_volume)
|
||||
balloon_alert(user, "reservoir emptied")
|
||||
//SKYRAT EDIT END
|
||||
|
||||
/obj/machinery/shower/analyzer_act(mob/living/user, obj/item/tool)
|
||||
. = ..()
|
||||
|
||||
@@ -323,7 +315,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16))
|
||||
// the TIMED mode cutoff feature. User has to manually reactivate.
|
||||
if(intended_on && mode == SHOWER_MODE_TIMED && COOLDOWN_FINISHED(src, timed_cooldown))
|
||||
// the TIMED mode cutoff feature. User has to manually reactivate.
|
||||
intended_on = FALSE
|
||||
// BUBBER EDIT CHANGE BEGIN - Showers have infinite water
|
||||
// Original:
|
||||
// intended_on = FALSE
|
||||
if(!shower_occupied())
|
||||
intended_on = FALSE
|
||||
// BUBBER EDIT CHANGE END - Showers have infinite water
|
||||
|
||||
// Out of water.
|
||||
if(actually_on && reagents.total_volume < SHOWER_SPRAY_VOLUME)
|
||||
@@ -337,7 +334,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16))
|
||||
update_actually_on(intended_on)
|
||||
|
||||
// Reclaim water
|
||||
//if(!actually_on) BUBBER EDIT CHANGE - Unlimited water for showers
|
||||
if(!actually_on)
|
||||
if(has_water_reclaimer && reagents.total_volume < reagents.maximum_volume)
|
||||
reagents.add_reagent(reagent_id, refill_rate * seconds_per_tick)
|
||||
return 0
|
||||
@@ -368,7 +365,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/shower, (-16))
|
||||
expose_to_reagents(loc)
|
||||
for(var/atom/movable/movable_content as anything in loc)
|
||||
expose_to_reagents(movable_content) // Wash the items on the turf (=expose them to the shower reagent)
|
||||
reagents.remove_all(SHOWER_SPRAY_VOLUME)
|
||||
// BUBBER EDIT CHANGE BEGIN - Showers have infinite water
|
||||
// Original:
|
||||
// reagents.remove_all(SHOWER_SPRAY_VOLUME)
|
||||
if(!has_water_reclaimer)
|
||||
reagents.remove_all(SHOWER_SPRAY_VOLUME)
|
||||
// BUBBER EDIT CHANGE END - Showers have infinite water
|
||||
|
||||
/obj/machinery/shower/on_deconstruction(disassembled = TRUE)
|
||||
new /obj/item/stack/sheet/iron(drop_location(), 2)
|
||||
|
||||
Reference in New Issue
Block a user