Fixes.
This commit is contained in:
@@ -29,7 +29,6 @@ GLOBAL_LIST_INIT(freqtospan, list(
|
||||
send_speech(message, 7, src, , spans, message_language=language)
|
||||
|
||||
/atom/movable/proc/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)
|
||||
//message_admins("Pre: [message], [speaker], [message_language], [raw_message], [radio_freq], [spans], [message_mode]")
|
||||
SEND_SIGNAL(src, COMSIG_MOVABLE_HEAR, message, speaker, message_language, raw_message, radio_freq, spans, message_mode)
|
||||
|
||||
/atom/movable/proc/can_speak()
|
||||
|
||||
@@ -127,7 +127,7 @@ Chemist
|
||||
backpack = /obj/item/storage/backpack/chemistry
|
||||
satchel = /obj/item/storage/backpack/satchel/chem
|
||||
duffelbag = /obj/item/storage/backpack/duffelbag/med
|
||||
l_hand = /obj/item/pHbooklet
|
||||
l_hand = /obj/item/FermiChem/pHbooklet
|
||||
|
||||
chameleon_extras = /obj/item/gun/syringe
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ im
|
||||
|
||||
update_total()
|
||||
handle_reactions()
|
||||
pH = REAGENT_NORMAL_PH //Maybe unnessicary? NO incredibly nessicary, blows the beaker up otherwise
|
||||
//pH = REAGENT_NORMAL_PH //Maybe unnessicary? NO incredibly nessicary, blows the beaker up otherwise. YES 100% NOT REQUIRED, THIS IS FOR REAMOVING AN AMMOUNT, NOT ALL.
|
||||
return amount
|
||||
|
||||
/datum/reagents/proc/get_master_reagent_name()
|
||||
@@ -684,20 +684,37 @@ im
|
||||
//Then adjust purity of result with reagent purity.
|
||||
purity *= reactant_purity(C)
|
||||
|
||||
/*old
|
||||
stepChemAmmount = CLAMP(((deltaT * cached_results[P]) * multiplier), 0, (targetVol - reactedVol)) //used to have multipler, now it does
|
||||
if (stepChemAmmount * cached_results[P] > C.RateUpLim)
|
||||
stepChemAmmount = C.RateUpLim
|
||||
else if (stepChemAmmount <= 0.01)
|
||||
stepChemAmmount = 0.01
|
||||
*/
|
||||
var/removeChemAmmount
|
||||
var/addChemAmmount
|
||||
//ONLY WORKS FOR ONE PRODUCT AT THE MOMENT
|
||||
for(var/P in cached_results)
|
||||
//stepChemAmmount = CLAMP(((deltaT * multiplier), 0, ((targetVol - reactedVol)/cached_results[P])) //used to have multipler, now it does
|
||||
stepChemAmmount = (multiplier*cached_results[P])
|
||||
if (stepChemAmmount >= C.RateUpLim)
|
||||
stepChemAmmount = (C.RateUpLim)//something weird with this line maybe.
|
||||
addChemAmmount = deltaT * stepChemAmmount
|
||||
if (addChemAmmount >= (targetVol - reactedVol))
|
||||
addChemAmmount = (targetVol - reactedVol)
|
||||
if (addChemAmmount < 0.01)
|
||||
addChemAmmount = 0.01
|
||||
removeChemAmmount = (addChemAmmount/cached_results[P])
|
||||
message_admins("Reaction vars: PreReacted: [reactedVol] of [targetVol]. deltaT [deltaT], multiplier [multiplier], Step [stepChemAmmount], uncapped Step [deltaT*(multiplier*cached_results[P])], addChemAmmount [addChemAmmount], removeFactor [removeChemAmmount] Pfactor [cached_results[P]], adding [addChemAmmount]")
|
||||
|
||||
for(var/B in cached_required_reagents)
|
||||
remove_reagent(B, (stepChemAmmount * cached_required_reagents[B]), safety = 1)//safety? removes reagents from beaker using remove function.
|
||||
remove_reagent(B, (removeChemAmmount * cached_required_reagents[B]), safety = 1)//safety? removes reagents from beaker using remove function.
|
||||
|
||||
var/TotalStep = 0
|
||||
for(var/P in cached_results)//Not sure how this works, what is selected_reaction.results?
|
||||
stepChemAmmount = CLAMP(((deltaT * cached_results[P]) * multiplier), 0, (targetVol - reactedVol)) //used to have multipler, now it does
|
||||
if (stepChemAmmount * cached_results[P] > C.RateUpLim)
|
||||
stepChemAmmount = C.RateUpLim
|
||||
else if (stepChemAmmount <= 0.01)
|
||||
stepChemAmmount = 0.01
|
||||
|
||||
SSblackbox.record_feedback("tally", "chemical_reaction", cached_results[P]*stepChemAmmount, P)//log
|
||||
add_reagent(P, (stepChemAmmount), null, cached_temp, purity)//add reagent function!! I THINK I can do this:
|
||||
TotalStep += stepChemAmmount//for multiple products
|
||||
add_reagent(P, (addChemAmmount), null, cached_temp, purity)//add reagent function!! I THINK I can do this:
|
||||
TotalStep += addChemAmmount//for multiple products
|
||||
//Above should reduce yeild based on holder purity.
|
||||
//Purity Check
|
||||
//NOT MULTIPROD SAFE. TODO: Add multiproduct support
|
||||
@@ -711,10 +728,10 @@ im
|
||||
C.FermiCreate(src)//proc that calls when step is done
|
||||
|
||||
//Apply pH changes and thermal output of reaction to beaker
|
||||
chem_temp = round(cached_temp + (C.ThermicConstant * stepChemAmmount)) //Why won't you update!!! Because I'm silly.
|
||||
pH += (C.HIonRelease * stepChemAmmount)//honestly pH shifting is so confusing
|
||||
chem_temp = round(cached_temp + (C.ThermicConstant * addChemAmmount)) //Why won't you update!!! Because I'm silly.
|
||||
pH += (C.HIonRelease * addChemAmmount)//honestly pH shifting is so confusing
|
||||
//keep track of the current reacted amount
|
||||
reactedVol = reactedVol + stepChemAmmount
|
||||
reactedVol = reactedVol + addChemAmmount
|
||||
//return said amount to compare for next step.
|
||||
return (reactedVol)
|
||||
|
||||
@@ -891,8 +908,6 @@ im
|
||||
update_total()
|
||||
if(my_atom)
|
||||
my_atom.on_reagent_change(ADD_REAGENT)
|
||||
//if(R.FermiChem == TRUE)
|
||||
// R.on_mob_add(my_atom)
|
||||
R.on_merge(data, amount, my_atom, other_purity)
|
||||
if(istype(D, /datum/reagent/fermi))//Is this a fermichem?
|
||||
var/datum/reagent/fermi/Ferm = D //It's Fermi time!
|
||||
@@ -958,7 +973,7 @@ im
|
||||
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.
|
||||
if((total_volume - amount) <= 0)//Because this can result in 0, I don't want it to crash.
|
||||
pH = 7
|
||||
else
|
||||
pH = ((pH * total_volume)-(R.pH * amount))/(total_volume - amount)
|
||||
|
||||
@@ -462,7 +462,7 @@
|
||||
id = "pHmeter"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 1000, MAT_SILVER = 100, MAT_DIAMOND = 100)
|
||||
build_path = /obj/item/pHmeter
|
||||
build_path = /obj/item/FermiChem/pHmeter
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
|
||||
@@ -313,7 +313,7 @@
|
||||
/obj/item/storage/backpack/chemistry = 3,
|
||||
/obj/item/storage/backpack/satchel/chem = 3,
|
||||
/obj/item/storage/bag/chemistry = 3,
|
||||
/obj/item/pHbooklet = 3)//pH indicator)
|
||||
/obj/item/FermiChem/pHbooklet = 3)//pH indicator)
|
||||
refill_canister = /obj/item/vending_refill/wardrobe/chem_wardrobe
|
||||
|
||||
/obj/item/vending_refill/wardrobe/chem_wardrobe
|
||||
|
||||
@@ -293,8 +293,8 @@
|
||||
dna.species.use_skintones = TRUE
|
||||
return
|
||||
//So people who haven't set stuff up don't get rainbow surprises.
|
||||
dna.features["cock_color"] = "#[dna.features["mcolor"]]"
|
||||
dna.features["breasts_color"] = "#[dna.features["mcolor"]]"
|
||||
//dna.features["cock_color"] = "#[dna.features["mcolor"]]"
|
||||
//dna.features["breasts_color"] = "#[dna.features["mcolor"]]"
|
||||
return
|
||||
|
||||
/datum/species/proc/handle_genitals(mob/living/carbon/human/H)//more like handle sadness
|
||||
@@ -360,7 +360,22 @@
|
||||
genital_overlay.color = "#[H.dna.features["breasts_color"]]"
|
||||
if("vag_color")
|
||||
genital_overlay.color = "#[H.dna.features["vag_color"]]"
|
||||
|
||||
//This was removed for some reason, but it breaks my code, so now it's back!! Tadahhh.
|
||||
if(MUTCOLORS)
|
||||
if(fixed_mut_color)
|
||||
genital_overlay.color = "#[fixed_mut_color]"
|
||||
else
|
||||
genital_overlay.color = "#[H.dna.features["mcolor"]]"
|
||||
if(MUTCOLORS2)
|
||||
if(fixed_mut_color2)
|
||||
genital_overlay.color = "#[fixed_mut_color2]"
|
||||
else
|
||||
genital_overlay.color = "#[H.dna.features["mcolor2"]]"
|
||||
if(MUTCOLORS3)
|
||||
if(fixed_mut_color3)
|
||||
genital_overlay.color = "#[fixed_mut_color3]"
|
||||
else
|
||||
genital_overlay.color = "#[H.dna.features["mcolor3"]]"
|
||||
standing += genital_overlay
|
||||
if(LAZYLEN(standing))
|
||||
H.overlays_standing[layer] = standing.Copy()
|
||||
|
||||
@@ -617,9 +617,10 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
if(!B)
|
||||
H.emergent_genital_call()
|
||||
return
|
||||
var/sizeConv = list("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5)
|
||||
B.prev_size = B.size
|
||||
B.cached_size = sizeConv[B.size]
|
||||
if(!B.size == "huge")
|
||||
var/sizeConv = list("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5)
|
||||
B.prev_size = B.size
|
||||
B.cached_size = sizeConv[B.size]
|
||||
//message_admins("init B size: [B.size], prev: [B.prev_size], cache = [B.cached_size], raw: [sizeConv[B.size]]") //if this runtimes it's cause someone's breasts are too big!
|
||||
|
||||
/datum/reagent/fermi/BElarger/on_mob_life(mob/living/carbon/M) //Increases breast size
|
||||
@@ -1110,11 +1111,11 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
|
||||
//FERMICHEM2 split into different chems
|
||||
/datum/reagent/fermi/enthrall/on_mob_add(mob/living/carbon/M)
|
||||
. = ..()
|
||||
if(!creatorID)
|
||||
CRASH("Something went wrong in enthral creation THIS SHOULD NOT APPEAR")
|
||||
return
|
||||
if(!ishuman(M))//Just to make sure screwy stuff doesn't happen.
|
||||
return
|
||||
if(!creatorID)
|
||||
CRASH("Something went wrong in enthral creation THIS SHOULD NOT APPEAR") //nervermind this appears when you blow up the reaction. I dunno how
|
||||
return
|
||||
var/datum/status_effect/chem/enthrall/E = M.has_status_effect(/datum/status_effect/chem/enthrall) //Somehow a beaker got here? (what)
|
||||
if(E)
|
||||
return
|
||||
@@ -1141,7 +1142,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
|
||||
return
|
||||
var/list/seen = viewers(7, get_turf(M))//Sound and sight checkers
|
||||
for(var/victim in seen)
|
||||
if((victim == /mob/living/simple_animal/pet/) || (victim == M))
|
||||
if((victim == /mob/living/simple_animal/pet/) || (victim == M) || (!M.client))
|
||||
seen = seen - victim
|
||||
if(!seen)
|
||||
return
|
||||
@@ -1150,9 +1151,9 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
|
||||
return
|
||||
else // If someone else drinks it, the creator falls in love with them!
|
||||
var/mob/living/carbon/C = get_mob_by_key(creatorID)
|
||||
if(C.has_status_effect(STATUS_EFFECT_INLOVE))
|
||||
if(M.has_status_effect(STATUS_EFFECT_INLOVE))
|
||||
return
|
||||
if(C in viewers(7, get_turf(M)))
|
||||
if((C in viewers(7, get_turf(M))) && (C.client))
|
||||
M.reagents.remove_reagent(src.id, src.volume)
|
||||
FallInLove(C, M)
|
||||
return
|
||||
@@ -1550,23 +1551,25 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
|
||||
description = "This reagent will consume itself and move the pH of a beaker towards 3 when added to another."
|
||||
taste_description = "an acidy sort of taste, blech."
|
||||
color = "#fbc314"
|
||||
addProc = FALSE
|
||||
pH = 6
|
||||
pH = 3
|
||||
|
||||
|
||||
/datum/reagent/fermi/fermiABuffer/on_new()
|
||||
/datum/reagent/fermi/fermiABuffer/on_new(datapH)
|
||||
message_admins("Adding acid")
|
||||
src.data = datapH
|
||||
if(LAZYLEN(holder.reagent_list) == 1)
|
||||
return
|
||||
src.pH = data
|
||||
/*to be fixed later
|
||||
pH = data
|
||||
if (pH <= 3)
|
||||
pH = 3
|
||||
else if (pH >= 7)
|
||||
pH = 7
|
||||
*/
|
||||
holder.pH = ((holder.pH * holder.total_volume)+(pH * src.volume))/(holder.total_volume + src.volume) //Shouldn't be required
|
||||
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 buffer's pH changes!</b></span>")
|
||||
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, -1)
|
||||
holder.remove_reagent(src.id, 1000)
|
||||
..()
|
||||
@@ -1577,22 +1580,24 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
|
||||
description = "This reagent will consume itself and move the pH of a beaker towards 11 when added to another."
|
||||
taste_description = "an soapy sort of taste, blech."
|
||||
color = "#3853a4"
|
||||
addProc = FALSE
|
||||
pH = 8
|
||||
pH = 11
|
||||
|
||||
/datum/reagent/fermi/fermiBBuffer/on_new()
|
||||
/datum/reagent/fermi/fermiBBuffer/on_new(datapH)
|
||||
message_admins("Adding base")
|
||||
src.data = datapH
|
||||
if(LAZYLEN(holder.reagent_list) == 1)
|
||||
return
|
||||
/*to be fixed later
|
||||
src.pH = data
|
||||
if (pH >= 11)
|
||||
pH = 11
|
||||
else if (pH <= 7)
|
||||
pH = 7
|
||||
*/
|
||||
holder.pH = ((holder.pH * holder.total_volume)+(pH * src.volume))/(holder.total_volume + src.volume) //Shouldn't be required Might be..?
|
||||
var/list/seen = viewers(5, get_turf(holder))
|
||||
for(var/mob/M in seen)
|
||||
to_chat(M, "<span class='warning'>The beaker froths as the buffer's pH changes!</b></span>")
|
||||
playsound(get_turf(holder), 'sound/FermiChem/bufferadd.ogg', 50, 1, -1)
|
||||
to_chat(M, "<span class='warning'>The beaker froths as the pH changes!</b></span>")
|
||||
playsound(get_turf(holder.my_atom), 'sound/FermiChem/bufferadd.ogg', 50, 1)
|
||||
holder.remove_reagent(src.id, 1000)
|
||||
..()
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
CurveSharppH = 2 // How sharp the pH exponential curve is (to the power of value)
|
||||
ThermicConstant = 5 //Temperature change per 1u produced
|
||||
HIonRelease = -0.1 //pH change per 1u reaction
|
||||
RateUpLim = 5 //Optimal/max rate possible if all conditions are perfect (NEEDS TO BE A MULTIPLE OF 10 IF RESULTS IS DOWN BY A FACTOR OF 10)
|
||||
RateUpLim = 5 //Optimal/max rate possible if all conditions are perfect
|
||||
FermiChem = TRUE//If the chemical uses the Fermichem reaction mechanics
|
||||
FermiExplode = FALSE //If the chemical explodes in a special way
|
||||
|
||||
@@ -218,7 +218,7 @@
|
||||
CurveSharppH = 1
|
||||
ThermicConstant = 25
|
||||
HIonRelease = -0.5
|
||||
RateUpLim = 10
|
||||
RateUpLim = 20
|
||||
FermiChem = TRUE
|
||||
FermiExplode = TRUE
|
||||
PurityMin = 0.25 // explode purity!
|
||||
@@ -235,7 +235,7 @@
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 780
|
||||
OptimalTempMax = 800
|
||||
ExplodeTemp = 820
|
||||
ExplodeTemp = 830
|
||||
OptimalpHMin = 12
|
||||
OptimalpHMax = 13
|
||||
ReactpHLim = 2
|
||||
@@ -244,7 +244,7 @@
|
||||
CurveSharppH = 4
|
||||
ThermicConstant = 10
|
||||
HIonRelease = -0.1
|
||||
RateUpLim = 2
|
||||
RateUpLim = 1
|
||||
FermiChem = TRUE
|
||||
FermiExplode = TRUE
|
||||
PurityMin = 0.2
|
||||
@@ -280,7 +280,6 @@
|
||||
s.set_up(R, volume, T)
|
||||
s.start()
|
||||
my_atom.reagents.clear_reagents()
|
||||
..(volume = 0, pH = 7) //Just a lil fire.
|
||||
|
||||
/datum/chemical_reaction/fermi/hatmium // done
|
||||
name = "Hat growth serum"
|
||||
@@ -342,7 +341,7 @@
|
||||
/datum/chemical_reaction/fermi/naninte_b_gone//done test
|
||||
name = "Naninte bain"
|
||||
id = "naninte_b_gone"
|
||||
results = list("naninte_b_gone" = 2)
|
||||
results = list("naninte_b_gone" = 20)
|
||||
required_reagents = list("synthflesh" = 5, "uranium" = 5, "iron" = 5, "salglu_solution" = 5)
|
||||
mix_message = "the reaction gurgles, encapsulating the reagents in flesh before the emp can be set off."
|
||||
required_temp = 499//To force fermireactions before EMP.
|
||||
@@ -382,19 +381,10 @@
|
||||
RateUpLim = 20
|
||||
FermiChem = TRUE
|
||||
|
||||
//This reaction bugs and turns everything in it to FermiABuffer - but now it's a feature instead! And then I fixed it anyways
|
||||
|
||||
/datum/chemical_reaction/fermi/fermiABuffer/FermiFinish(datum/reagents/holder, var/atom/my_atom) //might need this
|
||||
var/datum/reagent/fermi/fermiABuffer/Fa = locate(/datum/reagent/fermi/fermiABuffer) in my_atom.reagents.reagent_list
|
||||
if (Fa.pH <= 3)
|
||||
Fa.pH = 3
|
||||
Fa.data = 3
|
||||
return
|
||||
else if (Fa.pH >= 7)
|
||||
Fa.pH = 7
|
||||
Fa.data = 7
|
||||
return
|
||||
Fa.pH = my_atom.reagents.pH
|
||||
Fa.data = Fa.pH
|
||||
Fa.data = 3
|
||||
|
||||
/datum/chemical_reaction/fermi/fermiBBuffer//done test
|
||||
name = "Ethyl Ethanoate buffer"
|
||||
@@ -417,15 +407,7 @@
|
||||
RateUpLim = 15
|
||||
FermiChem = TRUE
|
||||
|
||||
//This reaction bugs and turns everything in it to FermiBBuffer - but now it's a feature instead! And then I fixed it anyways
|
||||
|
||||
/datum/chemical_reaction/fermi/fermiBBuffer/FermiFinish(datum/reagents/holder, var/atom/my_atom) //might need this
|
||||
var/datum/reagent/fermi/fermiBBuffer/Fb = locate(/datum/reagent/fermi/fermiBBuffer) in my_atom.reagents.reagent_list
|
||||
if (Fb.pH >= 11)
|
||||
Fb.pH = 11
|
||||
Fb.data = 11
|
||||
return
|
||||
else if (Fb.pH <= 7)
|
||||
Fb.pH = 7
|
||||
Fb.data = 7
|
||||
Fb.pH = my_atom.reagents.pH
|
||||
Fb.data = Fb.pH
|
||||
Fb.data = 11
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/pHbooklet
|
||||
/obj/item/FermiChem/pHbooklet
|
||||
name = "pH indicator booklet"
|
||||
desc = "A booklet containing paper soaked in universal indicator."
|
||||
icon_state = "pHbooklet"
|
||||
@@ -10,10 +10,10 @@
|
||||
//set flammable somehow
|
||||
|
||||
//A little janky with pockets
|
||||
/obj/item/pHbooklet/attack_hand(mob/user)
|
||||
/obj/item/FermiChem/pHbooklet/attack_hand(mob/user)
|
||||
if(user.get_held_index_of_item(src))
|
||||
if(numberOfPages >= 1)
|
||||
var/obj/item/pHpaper/P = new /obj/item/pHpaper
|
||||
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)
|
||||
@@ -34,7 +34,7 @@
|
||||
user.put_in_active_hand(src)
|
||||
return
|
||||
|
||||
/obj/item/pHpaper
|
||||
/obj/item/FermiChem/pHpaper
|
||||
name = "pH indicator strip"
|
||||
desc = "A piece of paper that will change colour depending on the pH of a solution."
|
||||
icon_state = "pHpaper"
|
||||
@@ -46,12 +46,14 @@
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
//set flammable somehow
|
||||
|
||||
/obj/item/pHpaper/afterattack(obj/item/reagent_containers/cont, mob/user, proximity)
|
||||
/obj/item/FermiChem/pHpaper/afterattack(obj/item/reagent_containers/cont, mob/user, proximity)
|
||||
if(!istype(cont))
|
||||
return
|
||||
if(used == TRUE)
|
||||
to_chat(user, "<span class='warning'>[user] has already been used!</span>")
|
||||
return
|
||||
if(LAZYLEN(cont.reagents.reagent_list) == null)
|
||||
return
|
||||
switch(round(cont.reagents.pH, 1))
|
||||
if(14 to INFINITY)
|
||||
color = "#462c83"
|
||||
@@ -86,7 +88,7 @@
|
||||
desc += " The paper looks to be around a pH of [round(cont.reagents.pH, 1)]"
|
||||
used = TRUE
|
||||
|
||||
/obj/item/pHmeter
|
||||
/obj/item/FermiChem/pHmeter
|
||||
name = "pH meter"
|
||||
desc = "A a electrode attached to a small circuit box that will tell you the pH of a solution. The screen currently displays nothing."
|
||||
icon_state = "pHmeter"
|
||||
@@ -94,8 +96,10 @@
|
||||
resistance_flags = FLAMMABLE
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/pHmeter/afterattack(obj/item/reagent_containers/cont, mob/user, proximity)
|
||||
/obj/item/FermiChem/pHmeter/afterattack(obj/item/reagent_containers/cont, mob/user, proximity)
|
||||
if(!istype(cont))
|
||||
return
|
||||
to_chat(src, "<span class='notice'><i>gives a beep and displays [round(cont.reagents.pH, 0.1)]</i></span>")
|
||||
if(LAZYLEN(cont.reagents.reagent_list) == null)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>The pH meter beeps and displays [round(cont.reagents.pH, 0.1)]</span>")
|
||||
desc = "An electrode attached to a small circuit box that will tell you the pH of a solution. The screen currently displays [round(cont.reagents.pH, 0.1)]."
|
||||
|
||||
Reference in New Issue
Block a user