From d6f0fe75f297acd4c96d67406b6a9fb2f792db26 Mon Sep 17 00:00:00 2001 From: Ugo Manzo <129977162+UgoManzo@users.noreply.github.com> Date: Sat, 6 Jun 2026 18:34:52 +0200 Subject: [PATCH] Fix: Water cooler reagents are now visible to observers and scientists (#95636) (#96335) ## About The Pull Request This PR adds a `can_see_reagents()` check to the `examine()` function of the water cooler (`/obj/structure/reagent_dispensers/water_cooler`). It loops through the reagents and prints their specific volume and name, mirroring the behavior of standard transparent containers when examined by an authorized user. Fixes #95636 ## Why It's Good For The Game The current state of the water cooler is inconsistent with other reagent containers. As reported in the original issue, observers cannot see what custom reagents are inside. Furthermore, during local testing, I verified that this also negatively impacts active gameplay, Chemists and Scientists wearing Science Goggles are unable to read the chemical breakdown of the cooler's contents, breaking immersion. This PR implements the standard check without altering the cooler's opaque identity for regular players. **Before:** Screenshot 2026-06-03 155849 Screenshot 2026-06-03 155929 **After:** Screenshot 2026-06-03 163407 Screenshot 2026-06-03 163422 ## Changelog :cl: fix: Water coolers now properly reveal their custom reagents when examined by ghosts or players with science goggles. /:cl: --- code/modules/reagents/reagent_dispenser.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index b052473d55f..efc98614861 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -35,6 +35,8 @@ var/last_rigger = "" /// is it climbable? some of our wall-mounted dispensers should not have this var/climbable = FALSE + /// Flags passed to the reagents datum upon creation + var/reagent_flags = DRAINABLE | AMOUNT_VISIBLE // This check is necessary for assemblies to automatically detect that we are compatible /obj/structure/reagent_dispensers/IsSpecialAssembly() @@ -152,7 +154,7 @@ UnregisterSignal(src, COMSIG_IGNITER_ACTIVATE) /obj/structure/reagent_dispensers/Initialize(mapload) - create_reagents(tank_volume, DRAINABLE | AMOUNT_VISIBLE) + create_reagents(tank_volume, reagent_flags) if(reagent_id) reagents.add_reagent(reagent_id, tank_volume) . = ..() @@ -358,6 +360,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/peppertank, 3 desc = "A machine that cools and dispenses liquids to drink. The 'hot' handle doesn't seem to do anything." icon_state = "water_cooler" anchored = TRUE + reagent_flags = DRAINABLE | TRANSPARENT tank_volume = 200 can_be_tanked = FALSE max_integrity = 150