pH calc redo, too confusing.

This commit is contained in:
Fermi
2019-06-16 12:22:13 +01:00
parent 8fb3022624
commit 3caadb2009
4 changed files with 31 additions and 32 deletions
+5 -3
View File
@@ -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()
@@ -344,7 +344,7 @@
var/list/seen = viewers(5, get_turf(holder))
for(var/mob/M in seen)
to_chat(M, "<span class='warning'>The beaker fizzes as the pH changes!</b></span>")
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)
..()
@@ -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
@@ -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, "<span class='notice'>You take [P] out of \the [src].</span>")
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, "<span class='notice'>You take [P] out of \the [src].</span>")
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, "<span class='warning'>[src] is empty!</span>")
add_fingerprint(user)
return
to_chat(user, "<span class='warning'>[src] is empty!</span>")
add_fingerprint(user)
return
..()
/obj/item/FermiChem/pHpaper