diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 1174dbf54c..a18c716ab0 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -924,15 +924,17 @@ for(var/A in cached_reagents) var/datum/reagent/R = A if (R.id == reagent) - //clamp the removal amount to be between current reagent amount - //and zero, to prevent removing more than the holder has stored if((total_volume - amount) <= 0)//Because this can result in 0, I don't want it to crash. pH = 7 + /*In practice this is really confusing and players feel like it randomly melts their beakers. else - pH = ((pH * total_volume)-(R.pH * amount))/(total_volume - amount) + pH = (((pH - R.pH) / total_volume) * amount) + pH + */ if(istype(my_atom, /obj/item/reagent_containers/)) var/obj/item/reagent_containers/RC = my_atom RC.pH_check()//checks beaker resilience) + //clamp the removal amount to be between current reagent amount + //and zero, to prevent removing more than the holder has stored amount = CLAMP(amount, 0, R.volume) R.volume -= amount update_total() diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm index d8d465552c..af2a8d043f 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -344,7 +344,7 @@ var/list/seen = viewers(5, get_turf(holder)) for(var/mob/M in seen) to_chat(M, "The beaker fizzes as the pH changes!") - playsound(get_turf(holder), 'sound/FermiChem/bufferadd.ogg', 50, 1) + playsound(get_turf(holder.my_atom), 'sound/FermiChem/bufferadd.ogg', 50, 1) holder.remove_reagent(id, volume) ..() diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index a53ceed535..7835769215 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -73,7 +73,7 @@ //FermiChem vars: OptimalTempMin = 350 // Lower area of bell curve for determining heat based rate reactions OptimalTempMax = 600 // Upper end for above - ExplodeTemp = 750 //Temperature at which reaction explodes + ExplodeTemp = 650 //Temperature at which reaction explodes OptimalpHMin = 6 // Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase) OptimalpHMax = 8 // Higest value for above ReactpHLim = 4 // How far out pH wil react, giving impurity place (Exponential phase) @@ -134,7 +134,7 @@ /datum/chemical_reaction/fermi/breast_enlarger name = "Sucubus milk" id = "breast_enlarger" - results = list("breast_enlarger" = 0.6) + results = list("breast_enlarger" = 0.4) required_reagents = list("salglu_solution" = 0.1, "milk" = 0.5, "synthflesh" = 0.2, "silicon" = 0.2, "aphro" = 0.2) mix_message = "the reaction gives off a mist of milk." //FermiChem vars: @@ -166,7 +166,7 @@ /datum/chemical_reaction/fermi/penis_enlarger name = "Incubus draft" id = "penis_enlarger" - results = list("penis_enlarger" = 0.3) + results = list("penis_enlarger" = 0.4) required_reagents = list("blood" = 0.5, "synthflesh" = 0.2, "carbon" = 0.2, "aphro" = 0.2, "salglu_solution" = 0.1,) mix_message = "the reaction gives off a spicy mist." //FermiChem vars: @@ -298,7 +298,7 @@ name = "Hat growth serum" id = "hatmium" results = list("hatmium" = 0.5) - required_reagents = list("whiskey" = 0.1, "nutriment" = 0.3, "cooking_oil" = 0.2, "iron" = 0.1) + required_reagents = list("whiskey" = 0.1, "nutriment" = 0.3, "cooking_oil" = 0.2, "iron" = 0.1, "gold" = 0.3) //mix_message = "" //FermiChem vars: OptimalTempMin = 500 @@ -377,8 +377,8 @@ /datum/chemical_reaction/fermi/fermiABuffer//done test name = "Acetic acid buffer" id = "fermiABuffer" - results = list("fermiABuffer" = 20) //acetic acid - required_reagents = list("salglu_solution" = 2, "ethanol" = 6, "oxygen" = 6, "water" = 6) + results = list("fermiABuffer" = 2) //acetic acid + required_reagents = list("salglu_solution" = 0.2, "ethanol" = 0.6, "oxygen" = 0.6, "water" = 0.6) //FermiChem vars: OptimalTempMin = 250 OptimalTempMax = 500 @@ -387,7 +387,7 @@ OptimalpHMax = 6 ReactpHLim = 0 //CatalystFact = 0 //To do 1 - CurveSharpT = 1 + CurveSharpT = 4 CurveSharppH = 0 ThermicConstant = 0 HIonRelease = -0.01 @@ -402,8 +402,8 @@ /datum/chemical_reaction/fermi/fermiBBuffer//done test name = "Ethyl Ethanoate buffer" id = "fermiBBuffer" - results = list("fermiBBuffer" = 15) - required_reagents = list("fermiABuffer" = 5, "ethanol" = 5, "salglu_solution" = 1, "water" = 5) + results = list("fermiBBuffer" = 1.5) + required_reagents = list("fermiABuffer" = 0.5, "ethanol" = 0.5, "salglu_solution" = 0.1, "water" = 0.5) required_catalysts = list("sacid" = 1) //vagely acetic //FermiChem vars: OptimalTempMin = 250 @@ -413,7 +413,7 @@ OptimalpHMax = 12 ReactpHLim = 0 //CatalystFact = 0 //To do 1 - CurveSharpT = 1 + CurveSharpT = 4 CurveSharppH = 0 ThermicConstant = 0 HIonRelease = 0.01 diff --git a/modular_citadel/code/modules/reagents/objects/items.dm b/modular_citadel/code/modules/reagents/objects/items.dm index a5e5d02da4..0516443aab 100644 --- a/modular_citadel/code/modules/reagents/objects/items.dm +++ b/modular_citadel/code/modules/reagents/objects/items.dm @@ -35,25 +35,22 @@ user.put_in_active_hand(src) /obj/item/FermiChem/pHbooklet/MouseDrop(atom/over_object, mob/user) - if(user.get_held_index_of_item(src)) - user.put_in_active_hand(src) + if(numberOfPages >= 1) + var/obj/item/FermiChem/pHpaper/P = new /obj/item/FermiChem/pHpaper + P.add_fingerprint(user) + P.forceMove(user.loc) + user.put_in_active_hand(P) + to_chat(user, "You take [P] out of \the [src].") + numberOfPages-- + playsound(user.loc, 'sound/items/poster_ripped.ogg', 50, 1) + add_fingerprint(user) + if(numberOfPages == 0) + icon_state = "pHbookletEmpty" + return else - if(numberOfPages >= 1) - var/obj/item/FermiChem/pHpaper/P = new /obj/item/FermiChem/pHpaper - P.add_fingerprint(user) - P.forceMove(user.loc) - user.put_in_active_hand(P) - to_chat(user, "You take [P] out of \the [src].") - numberOfPages-- - playsound(user.loc, 'sound/items/poster_ripped.ogg', 50, 1) - add_fingerprint(user) - if(numberOfPages == 0) - icon_state = "pHbookletEmpty" - return - else - to_chat(user, "[src] is empty!") - add_fingerprint(user) - return + to_chat(user, "[src] is empty!") + add_fingerprint(user) + return ..() /obj/item/FermiChem/pHpaper