From f7bb3f3050563948387f71e6aee514668bbcc596 Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Sat, 6 Aug 2022 16:08:55 -0700 Subject: [PATCH 1/9] makes drying agent a chem gas --- code/modules/reagents/chemistry/reagents/other_reagents.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 9e49e8556b..b9f78cbc70 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1979,6 +1979,7 @@ reagent_state = LIQUID color = "#A70FFF" taste_description = "dryness" + boiling_point = 310 pH = 10.7 value = REAGENT_VALUE_UNCOMMON From c0073370b20fd5a98efc5b815dbc332842af7092 Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Sat, 6 Aug 2022 22:42:58 -0700 Subject: [PATCH 2/9] more chem gases --- code/modules/reagents/chemistry/reagents.dm | 2 - .../chemistry/reagents/medicine_reagents.dm | 3 ++ .../chemistry/reagents/other_reagents.dm | 46 +++++++++++++------ 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 0bb847a573..2fb8f58019 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -257,8 +257,6 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) return rs.Join(" | ") /datum/reagent/proc/define_gas() - if(reagent_state == SOLID) - return null // doesn't make that much sense var/list/cached_reactions = GLOB.chemical_reactions_list for(var/reaction in cached_reactions[src.type]) var/datum/chemical_reaction/C = reaction diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 0a78af67b2..8336f95a0d 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -405,6 +405,8 @@ metabolization_rate = 0.5 * REAGENTS_METABOLISM chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 60 + boiling_point = T0C+100 + gas = GAS_H2O taste_description = "sweetness and salt" var/extra_regen = 0.25 // in addition to acting as temporary blood, also add this much to their actual blood per tick var/last_added = 0 @@ -691,6 +693,7 @@ description = "Rapidly restores oxygen deprivation as well as preventing more of it to an extent. Causes jittering." reagent_state = LIQUID color = "#00FFFF" + boiling_point = 300 metabolization_rate = 0.25 * REAGENTS_METABOLISM pH = 2 diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index b9f78cbc70..13ab624510 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -266,24 +266,27 @@ /datum/reagent/water/reaction_turf(turf/open/T, reac_volume) if (!istype(T)) return - var/CT = cooling_temperature + if(holder?.temp > T0C + 100) + T.atmos_spawn_air("[GAS_H2O]=[reac_volume/molarity];TEMP=[holder.temp]") + else + var/CT = cooling_temperature - if(reac_volume >= 5) - T.MakeSlippery(TURF_WET_WATER, 10 SECONDS, min(reac_volume*1.5 SECONDS, 60 SECONDS)) + if(reac_volume >= 5) + T.MakeSlippery(TURF_WET_WATER, 10 SECONDS, min(reac_volume*1.5 SECONDS, 60 SECONDS)) - for(var/mob/living/simple_animal/slime/M in T) - M.apply_water() + for(var/mob/living/simple_animal/slime/M in T) + M.apply_water() - var/obj/effect/hotspot/hotspot = (locate(/obj/effect/hotspot) in T) - if(hotspot && !isspaceturf(T)) - if(T.air) - var/datum/gas_mixture/G = T.air - G.set_temperature(max(min(G.return_temperature()-(CT*1000),G.return_temperature()/CT),TCMB)) - G.react(src) - qdel(hotspot) - var/obj/effect/acid/A = (locate(/obj/effect/acid) in T) - if(A) - A.acid_level = max(A.acid_level - reac_volume*50, 0) + var/obj/effect/hotspot/hotspot = (locate(/obj/effect/hotspot) in T) + if(hotspot && !isspaceturf(T)) + if(T.air) + var/datum/gas_mixture/G = T.air + G.set_temperature(max(min(G.return_temperature()-(CT*1000),G.return_temperature()/CT),TCMB)) + G.react(src) + qdel(hotspot) + var/obj/effect/acid/A = (locate(/obj/effect/acid) in T) + if(A) + A.acid_level = max(A.acid_level - reac_volume*50, 0) /* * Water reaction to an object @@ -542,6 +545,7 @@ chemical_flags = REAGENT_ALL_PROCESS color = "#009CA8" // rgb: 0, 156, 168 taste_description = "cherry" // by popular demand + boiling_point = 330 var/lube_kind = TURF_WET_LUBE ///What kind of slipperiness gets added to turfs. /datum/reagent/lube/reaction_turf(turf/open/T, reac_volume) @@ -1848,6 +1852,15 @@ reagent_state = LIQUID taste_description = "solvent"//It's neutral though..? color = "#e6e6e6" + boiling_point = 329.2 + +/datum/reagent/acetone/define_gas() + var/datum/gas/G = ..() + G.fire_burn_rate = 1 / 4 + G.fire_products = list(GAS_H2O = 3, GAS_CO2 = 3) + G.enthalpy = -217100 + G.fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST + return G /datum/reagent/colorful_reagent name = "Colorful Reagent" @@ -2246,6 +2259,7 @@ color = "#AAAAAA55" taste_description = "water" metabolization_rate = 0.25 * REAGENTS_METABOLISM + boiling_point = 325 value = REAGENT_VALUE_RARE pH = 15 @@ -2485,6 +2499,8 @@ reagent_state = LIQUID color = "#FFFFFF" // rgb: 255, 255, 255 can_synth = FALSE + // you know i wouldn't + // boiling_point = T0C + 100 nutriment_factor = 0.5 * REAGENTS_METABOLISM var/decal_path = /obj/effect/decal/cleanable/semen From cda032a2dc67c6311bea7107e18d8bb2925e11bd Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Sat, 6 Aug 2022 22:53:00 -0700 Subject: [PATCH 3/9] this wasn't even a copy+paste error, it's unaccountable --- code/modules/reagents/chemistry/reagents/other_reagents.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 13ab624510..b49cd10028 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -266,8 +266,8 @@ /datum/reagent/water/reaction_turf(turf/open/T, reac_volume) if (!istype(T)) return - if(holder?.temp > T0C + 100) - T.atmos_spawn_air("[GAS_H2O]=[reac_volume/molarity];TEMP=[holder.temp]") + if(holder?.chem_temp > T0C + 100) + T.atmos_spawn_air("[GAS_H2O]=[reac_volume/molarity];TEMP=[holder.chem_temp]") else var/CT = cooling_temperature From cdcdc11d9bc631ef73ae4bf687f0b3ebfccb035d Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Sun, 7 Aug 2022 22:05:37 -0700 Subject: [PATCH 4/9] more space cleaner per space cleaner --- code/modules/reagents/chemistry/reagents/other_reagents.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index b49cd10028..6976a09648 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1308,6 +1308,7 @@ taste_description = "sourness" boiling_point = T0C+50 pH = 5.5 + molarity = 1 /datum/reagent/space_cleaner/reaction_obj(obj/O, reac_volume) if(istype(O, /obj/effect/decal/cleanable) || istype(O, /obj/item/projectile/bullet/reusable/foam_dart) || istype(O, /obj/item/ammo_casing/caseless/foam_dart)) From 92cbbeb9f60b86d1df65a0171be2465b7af124b2 Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Sun, 7 Aug 2022 23:47:06 -0700 Subject: [PATCH 5/9] new --- code/modules/atmospherics/gasmixtures/reactions.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 607274f71b..fd613fe0fd 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -86,7 +86,7 @@ min_requirements[R.get_gas()] = MOLES_GAS_VISIBLE name = "[R.name] condensation" id = "[R.type] condensation" - condensing_reagent = R + condensing_reagent = new R exclude = FALSE /datum/gas_reaction/condensation/react(datum/gas_mixture/air, datum/holder) From 186db17c417a9ed802ce1ef5e6b3f459ef0597e7 Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Fri, 12 Aug 2022 12:26:01 -0700 Subject: [PATCH 6/9] actually no this is how you do it --- code/modules/atmospherics/gasmixtures/reactions.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index fd613fe0fd..b1d7547f17 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -86,7 +86,7 @@ min_requirements[R.get_gas()] = MOLES_GAS_VISIBLE name = "[R.name] condensation" id = "[R.type] condensation" - condensing_reagent = new R + condensing_reagent = GLOB.chemical_reagents_list[R.type] exclude = FALSE /datum/gas_reaction/condensation/react(datum/gas_mixture/air, datum/holder) @@ -101,7 +101,7 @@ var/G = condensing_reagent.get_gas() var/amt = air.get_moles(G) air.adjust_moles(G, -min(initial(condensing_reagent.condensation_amount), amt)) - reagents_holder.add_reagent(condensing_reagent, amt) + reagents_holder.add_reagent(condensing_reagent.type, amt) . = REACTING for(var/atom/movable/AM in location) if(location.intact && AM.level == 1) From c8a84c2172491fbbfa006dd5ab6a5e4dea720caa Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Mon, 15 Aug 2022 23:42:42 -0700 Subject: [PATCH 7/9] forgot the ..() --- code/modules/reagents/chemistry/reagents/other_reagents.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 6976a09648..b5a532b264 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -549,6 +549,7 @@ var/lube_kind = TURF_WET_LUBE ///What kind of slipperiness gets added to turfs. /datum/reagent/lube/reaction_turf(turf/open/T, reac_volume) + ..() if (!istype(T)) return if(reac_volume >= 1) From d565d6a097333204574af74a6f3d7c46386fb56c Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Tue, 16 Aug 2022 00:50:47 -0700 Subject: [PATCH 8/9] makes chem gases fully condense if below threshold --- code/modules/atmospherics/gasmixtures/reactions.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index b1d7547f17..39178d5965 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -101,6 +101,9 @@ var/G = condensing_reagent.get_gas() var/amt = air.get_moles(G) air.adjust_moles(G, -min(initial(condensing_reagent.condensation_amount), amt)) + if(air.get_moles(G) < MOLES_GAS_VISIBLE) + amt += air.get_moles(G) + air.set_moles(G, 0.0) reagents_holder.add_reagent(condensing_reagent.type, amt) . = REACTING for(var/atom/movable/AM in location) From 9998ca7a10fe36126895bf3f18e043f84b60b6bc Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Thu, 18 Aug 2022 23:54:01 -0700 Subject: [PATCH 9/9] another funny space cleaner gas buff --- code/modules/reagents/chemistry/reagents/other_reagents.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index b5a532b264..601ac81f0f 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1310,6 +1310,7 @@ boiling_point = T0C+50 pH = 5.5 molarity = 1 + condensation_amount = MOLES_GAS_VISIBLE_STEP /datum/reagent/space_cleaner/reaction_obj(obj/O, reac_volume) if(istype(O, /obj/effect/decal/cleanable) || istype(O, /obj/item/projectile/bullet/reusable/foam_dart) || istype(O, /obj/item/ammo_casing/caseless/foam_dart))