diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm index a6a9d7a85f..a44cea5b24 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/healing.dm @@ -200,22 +200,23 @@ /datum/reagent/fermi/zeolites name = "Artificial Zeolites" - description = "Lab made Zeolite, used to clear radiation from people and items alike! Splashing just a small amount(5u) onto any item can clear away large amounts of contamination." + description = "Lab made Zeolite, used to clear radiation from people and items alike! Splashing just a small amount(5u) onto any item can clear away large amounts of contamination, as long as purity is at least 0.7." pH = 8 color = "#FFDADA" - metabolization_rate = 8 * REAGENTS_METABOLISM //Metabolizes fast but heals a lot! - value = REAGENT_VALUE_COMMON + metabolization_rate = 8 * REAGENTS_METABOLISM //Metabolizes fast but heals a lot! Lasts far longer if more pure. + value = REAGENT_VALUE_RARE //Relatively hard to make now, might be fine with VERY_RARE instead depending on feedback. /datum/reagent/fermi/zeolites/on_mob_life(mob/living/carbon/M) + metabolization_rate = (4 / purity) * REAGENTS_METABOLISM //Metab rate directly influenced by purity. Linear. var/datum/component/radioactive/contamination = M.GetComponent(/datum/component/radioactive) if(M.radiation > 0) - M.radiation -= min(M.radiation, 60) + M.radiation -= min(M.radiation, round(20 ** (0.5 + purity), 0.1)) //Far more effective if more pure. Tops out at ~90 at max purity. Exponential. if(contamination && contamination.strength > 0) - contamination.strength -= min(contamination.strength, 100) + contamination.strength -= min(contamination.strength, round(25 ** (0.5 + purity), 0.1)) //Tops out at ~125 at max purity. Exponential. ..() /datum/reagent/fermi/zeolites/reaction_obj(obj/O, reac_volume) var/datum/component/radioactive/contamination = O.GetComponent(/datum/component/radioactive) - if(contamination && reac_volume >= 5) + if(contamination && reac_volume >= 5 && purity >= 0.7) //you need at least 0.7 purity to instantly purge all contam on an object. qdel(contamination) return diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index da9fd34cd6..4eee732e49 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -591,19 +591,20 @@ /datum/chemical_reaction/fermi/zeolites name = "Zeolites" id = /datum/reagent/fermi/zeolites - results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! + results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now pretty dangerous, too! The ingredients are supercheap after all... required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1) //FermiChem vars: - OptimalTempMin = 300 - OptimalTempMax = 900 - ExplodeTemp = 1000 //check to see overflow doesn't happen! - OptimalpHMin = 4.0 - OptimalpHMax = 6.0 + OptimalTempMin = 350 + OptimalTempMax = 750 + ExplodeTemp = 850 + OptimalpHMin = 2.8 + OptimalpHMax = 5.5 //2.7 ph levels of optimal ph zone - centered at 4.15 - ph of ingredients mixed at equal values is 9.55; ph of result is 8. ReactpHLim = 4 //CatalystFact = 0 - CurveSharpT = 4 - CurveSharppH = 0 - ThermicConstant = 0 - HIonRelease = 0.01 - RateUpLim = 15 + CurveSharpT = 2 + CurveSharppH = 3 + ThermicConstant = 5 + HIonRelease = -0.1 + RateUpLim = 2 + PurityMin = 0.5 //Good luck. FermiChem = TRUE