mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
Merge pull request #13521 from DeltaFire15/zeolites-tweaking
[READY] Rebalances zeolites and their reaction
This commit is contained in:
@@ -83,6 +83,16 @@
|
||||
updateUsrDialog()
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(beaker)
|
||||
if(istype(I, /obj/item/reagent_containers/dropper))
|
||||
var/obj/item/reagent_containers/dropper/D = I
|
||||
D.afterattack(beaker, user, 1)
|
||||
return
|
||||
if(istype(I, /obj/item/reagent_containers/syringe))
|
||||
var/obj/item/reagent_containers/syringe/S = I
|
||||
S.afterattack(beaker, user, 1)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/chem_heater/on_deconstruction()
|
||||
|
||||
@@ -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 its 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)
|
||||
if(M.radiation > 0) //hey so apparently pentetic literally purges 1/50 (2%) of the rad amount on someone per tick no matter the 'true' amount, sooo uhh time to tweak this some more..
|
||||
M.radiation -= clamp(round((M.radiation / 150) * (25 ** purity), 0.1), 0, M.radiation) //Purges between ~3% and ~16% of total rad amount, per tick, depending on 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)) //25 per tick at minimum purity; Tops out at ~125 per tick if purity is 1. 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
|
||||
|
||||
@@ -591,19 +591,21 @@
|
||||
/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 somewhat dangerous, and needs a bit of uranium to catalyze the reaction
|
||||
required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1)
|
||||
required_catalysts = list(/datum/reagent/uranium = 5)
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 300
|
||||
OptimalTempMax = 900
|
||||
ExplodeTemp = 1000 //check to see overflow doesn't happen!
|
||||
OptimalpHMin = 4.0
|
||||
OptimalpHMax = 6.0
|
||||
OptimalTempMin = 500
|
||||
OptimalTempMax = 750
|
||||
ExplodeTemp = 850
|
||||
OptimalpHMin = 2.8
|
||||
OptimalpHMax = 5 //2.2 ph levels of optimal ph zone - centered at 3.9 - 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 = 1.5
|
||||
CurveSharppH = 3
|
||||
ThermicConstant = 7
|
||||
HIonRelease = -0.15
|
||||
RateUpLim = 4
|
||||
PurityMin = 0.5 //Good luck.
|
||||
FermiChem = TRUE
|
||||
|
||||
Reference in New Issue
Block a user