From dbdcef06f2d2978b43e606b88d42e0715fb714f8 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Fri, 9 Oct 2020 18:31:24 +0200 Subject: [PATCH] [MIRROR] [s]Showers now properly react with 10u per tick instead of 1000u. (#1221) * [s]Showers now properly react with 10u per tick instead of 1000u. (#54236) Turns out what I thought was reagent units used per reaction was actually reaction multiplier in #53377, and it flew under the radar until literally 15 minutes ago. This adjusted the reaction quantity down to 0.05, which with the 200 unit reagent volume of the showers, equates to about a 10u reaction per tick, ya know, rather high but reasonable considering that before it was mistakenly set to *5 instead, which meant you could de-husk a patient in a literal single tick with 1 unit of synthflesh. * [s]Showers now properly react with 10u per tick instead of 1000u. Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> --- code/game/objects/structures/shower.dm | 5 ++++- code/modules/reagents/chemistry/holder.dm | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index 3bcda940858..ef58ece3d7a 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -4,6 +4,7 @@ #define SHOWER_NORMAL_TEMP 300 #define SHOWER_BOILING "boiling" #define SHOWER_BOILING_TEMP 400 +#define SHOWER_REACTION_MULTIPLIER 0.05 /obj/machinery/shower @@ -130,7 +131,7 @@ wash_atom(loc) for(var/am in loc) var/atom/movable/movable_content = am - reagents.expose(movable_content, TOUCH, 5) //There's not many reagents leaving the sink at once! + reagents.expose(movable_content, TOUCH, SHOWER_REACTION_MULTIPLIER) //There's not many reagents leaving the sink at once! This should make for a 10 unit reaction if(!ismopable(movable_content)) // Mopables will be cleaned anyways by the turf wash above wash_atom(movable_content) else @@ -192,3 +193,5 @@ layer = FLY_LAYER anchored = TRUE mouse_opacity = MOUSE_OPACITY_TRANSPARENT + +#undef SHOWER_REACTION_MULTIPLIER diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 34ad6f1d160..8afea19a6bb 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -686,6 +686,12 @@ * * [/datum/reagent/proc/expose_mob] * * [/datum/reagent/proc/expose_turf] * * [/datum/reagent/proc/expose_obj] + * + * Arguments + * - Atom/A: What mob/turf/object is being exposed to reagents? This is your reaction target. + * - Methods: What reaction type is the reagent itself going to call on the reaction target? Types are TOUCH, INGEST, VAPOR, PATCH, and INJECT. + * - Volume_modifier: What is the reagent volume multiplied by when exposed? Note that this is called on the volume of EVERY reagent in the base body, so factor in your Maximum_Volume if necessary! + * - Show_message: Whether to display anything to mobs when they are exposed. */ /datum/reagents/proc/expose(atom/A, methods = TOUCH, volume_modifier = 1, show_message = 1) if(isnull(A))