From 38dcb78625f8ba0c1178f28fd347282f8ab3f1d1 Mon Sep 17 00:00:00 2001 From: Putnam Date: Sat, 11 Jan 2020 18:15:50 -0800 Subject: [PATCH] chemistry fixes --- code/game/objects/items/devices/scanners.dm | 2 +- .../reagents/chemistry/machinery/chem_master.dm | 10 +++++----- .../reagents/chemistry/reagents/other_reagents.dm | 2 +- code/modules/reagents/reagent_containers.dm | 3 +-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 069c921914..568d5e2d20 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -466,7 +466,7 @@ SLIME SCANNER msg += "Subject is not addicted to any reagents.\n" var/datum/reagent/impure/fermiTox/F = M.reagents.has_reagent(/datum/reagent/impure/fermiTox) - if(istype(F)) + if(istype(F,/datum/reagent/impure/fermiTox)) switch(F.volume) if(5 to 10) msg += "Subject contains a low amount of toxic isomers.\n" diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index e6b19417d8..9c877fc053 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -434,11 +434,11 @@ state = "Gas" var/const/P = 3 //The number of seconds between life ticks var/T = initial(R.metabolization_rate) * (60 / P) - var/datum/chemical_reaction/Rcr = get_chemical_reaction(R.type) + var/datum/chemical_reaction/Rcr = get_chemical_reaction(R) if(Rcr && Rcr.FermiChem) fermianalyze = TRUE var/pHpeakCache = (Rcr.OptimalpHMin + Rcr.OptimalpHMax)/2 - var/datum/reagent/targetReagent = beaker.reagents.has_reagent(R.type) + var/datum/reagent/targetReagent = beaker.reagents.has_reagent(R) if(!targetReagent) CRASH("Tried to find a reagent that doesn't exist in the chem_master!") @@ -463,9 +463,9 @@ var/T = initial(R.metabolization_rate) * (60 / P) if(istype(R, /datum/reagent/fermi)) fermianalyze = TRUE - var/datum/chemical_reaction/Rcr = get_chemical_reaction(R.type) + var/datum/chemical_reaction/Rcr = get_chemical_reaction(R) var/pHpeakCache = (Rcr.OptimalpHMin + Rcr.OptimalpHMax)/2 - var/datum/reagent/targetReagent = reagents.has_reagent(R.type) + var/datum/reagent/targetReagent = reagents.has_reagent(R) if(!targetReagent) CRASH("Tried to find a reagent that doesn't exist in the chem_master!") @@ -483,7 +483,7 @@ /obj/machinery/chem_master/proc/end_fermi_reaction()//Ends any reactions upon moving. - if(beaker.reagents.fermiIsReacting) + if(beaker && beaker.reagents.fermiIsReacting) beaker.reagents.fermiEnd() /obj/machinery/chem_master/proc/isgoodnumber(num) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index dbede29e5f..f960633d94 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -60,7 +60,7 @@ B = new(T) if(data["blood_DNA"]) B.blood_DNA[data["blood_DNA"]] = data["blood_type"] - if(!B.reagents) + if(B.reagents) B.reagents.add_reagent(type, reac_volume) B.update_icon() diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 97bc054ecd..af12b2caa0 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -128,8 +128,7 @@ target.visible_message("[M] has been splashed with something!", \ "[M] has been splashed with something!") for(var/datum/reagent/A in reagents.reagent_list) - R += A.type + " (" - R += num2text(A.volume) + ")," + R += "[A.type] ([A.volume])," if(thrownby) log_combat(thrownby, M, "splashed", R)