Ramping up to logging and a few more fixes.

This commit is contained in:
Fermi
2019-06-13 05:51:28 +01:00
parent da6f1da624
commit 378af882d3
6 changed files with 66 additions and 77 deletions

View File

@@ -16,6 +16,7 @@
#define INVESTIGATE_EXONET "exonet"
#define INVESTIGATE_NANITES "nanites"
#define INVESTIGATE_CIRCUIT "circuit"
#define INVESTIGATE_FERMICHEM "fermichem"
// Logging types for log_message()
#define LOG_ATTACK (1 << 0)

View File

@@ -35,7 +35,7 @@
//FermiChem - How to check pH of a beaker without a meter/pH paper.
//Basically checks the pH of the holder and burns your poor tongue if it's too acidic!
//TRAIT_AGEUSIA players can't taste, unless it's burning them.
//10 sips of a strongly acidic substance will burn your tongue.
//taking sips of a strongly acidic/alkaline substance will burn your tongue.
/mob/living/carbon/taste(datum/reagents/from)
var/obj/item/organ/tongue/T = getorganslot("tongue")
if (!T)

View File

@@ -1230,7 +1230,7 @@
if(message_admins)
message_admins("[ADMIN_LOOKUPFLW(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].")
log_game("[key_name(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].")
investigate_log("[key_name(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].")
investigate_log("[key_name(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].", INVESTIGATE_FERMICHEM)
//SSblackbox.record_feedback("tally", "Velvet_voice", 1, log_message) If this is on, it fills the thing up and OOFs the server
return

View File

@@ -4,7 +4,7 @@
alert_type = null
/datum/status_effect/chem/SGDF/on_apply()
investigate_log("SGDF status appied on [owner], ID: [owner.id]")
investigate_log("SGDF status appied on [owner], ID: [owner.key]", INVESTIGATE_FERMICHEM)
var/typepath = owner.type
fermi_Clone = new typepath(owner.loc)
var/mob/living/carbon/M = owner
@@ -20,7 +20,7 @@
if(owner.stat == DEAD)
if((fermi_Clone && fermi_Clone.stat != DEAD) || (fermi_Clone == null))
if(owner.mind)
investigate_log("SGDF mind shift applied. [owner] is now playing as their clone and should not have memories after their clone split (look up SGDF status applied). ID: [owner.id]")
investigate_log("SGDF mind shift applied. [owner] is now playing as their clone and should not have memories after their clone split (look up SGDF status applied). ID: [owner.key]", INVESTIGATE_FERMICHEM)
owner.mind.transfer_to(fermi_Clone)
to_chat(owner, "<span class='warning'>Lucidity shoots to your previously blank mind as your mind suddenly finishes the cloning process. You marvel for a moment at yourself, as your mind subconciously recollects all your memories up until the point when you cloned yourself. curiously, you find that you memories are blank after you ingested the sythetic serum, leaving you to wonder where the other you is.</span>")
to_chat(fermi_Clone, "<span class='warning'>Lucidity shoots to your previously blank mind as your mind suddenly finishes the cloning process. You marvel for a moment at yourself, as your mind subconciously recollects all your memories up until the point when you cloned yourself. curiously, you find that you memories are blank after you ingested the sythetic serum, leaving you to wonder where the other you is.</span>")
@@ -37,7 +37,7 @@
var/cachedmoveCalc = 1
/datum/status_effect/chem/breast_enlarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now.
investigate_log("[owner]'s breasts has reached comical sizes. ID: [owner.id]")
investigate_log("[owner]'s breasts has reached comical sizes. ID: [owner.key]", INVESTIGATE_FERMICHEM)
var/mob/living/carbon/human/o = owner
var/items = o.get_contents()
for(var/obj/item/W in items)
@@ -92,7 +92,7 @@
..()
/datum/status_effect/chem/breast_enlarger/on_remove(mob/living/carbon/M)
investigate_log("[owner]'s breasts has reduced to an acceptable size. ID: [owner.id]")
investigate_log("[owner]'s breasts has reduced to an acceptable size. ID: [owner.key]", INVESTIGATE_FERMICHEM)
owner.remove_movespeed_modifier("megamilk")
sizeMoveMod(1)
@@ -112,7 +112,7 @@
var/moveCalc
/datum/status_effect/chem/penis_enlarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now.
investigate_log("[owner]'s dick has reached comical sizes. ID: [owner.id]")
investigate_log("[owner]'s dick has reached comical sizes. ID: [owner.key]", INVESTIGATE_FERMICHEM)
var/mob/living/carbon/human/o = owner
var/items = o.get_contents()
if(o.w_uniform || o.wear_suit)
@@ -155,7 +155,7 @@
..()
/datum/status_effect/chem/penis_enlarger/on_remove(mob/living/carbon/human/o)
investigate_log("[owner]'s dick has reduced to an acceptable size. ID: [owner.id]")
investigate_log("[owner]'s dick has reduced to an acceptable size. ID: [owner.key]", INVESTIGATE_FERMICHEM)
owner.remove_movespeed_modifier("hugedick")
owner.ResetBloodVol()
@@ -231,7 +231,7 @@
var/message = "[(owner.lewd?"I am a good pet for [enthrallGender].":"[master] is a really inspirational person!")]"
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "enthrall", /datum/mood_event/enthrall, message)
to_chat(owner, "<span class='[(owner.lewd?"big love":"big warning")]'><b>You feel inexplicably drawn towards [master], their words having a demonstrable effect on you. It seems the closer you are to them, the stronger the effect is. However you aren't fully swayed yet and can resist their effects by repeatedly resisting as much as you can!</b></span>")
investigate_log("MKULTRA: Status applied on [owner] ckey: [owner.id] with a master of [master] ckey: [enthrallID].")
investigate_log("MKULTRA: Status applied on [owner] ckey: [owner.key] with a master of [master] ckey: [enthrallID].", INVESTIGATE_FERMICHEM)
return ..()
/datum/status_effect/chem/enthrall/tick()
@@ -265,7 +265,7 @@
if(-1)//fully removed
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "enthrall")
owner.remove_status_effect(src)
investigate_log("MKULTRA: Status REMOVED from [owner] ckey: [owner.id] with a master of [master] ckey: [enthrallID].")
investigate_log("MKULTRA: Status REMOVED from [owner] ckey: [owner.key] with a master of [master] ckey: [enthrallID].", INVESTIGATE_FERMICHEM)
if(0)// sleeper agent
if (cooldown > 0)
cooldown -= 1
@@ -301,7 +301,7 @@
else
to_chat(owner, "<span class='big nicegreen'><i>You are unable to put up a resistance any longer, and now are under the control of [master]. However you find that in your intoxicated state you are unable to resort to violence. Equally you are unable to commit suicide, even if ordered to, as you cannot serve your [master] in death. </i></span>")
owner.add_trait(TRAIT_PACIFISM, "MKUltra") //IMPORTANT
investigate_log("MKULTRA: Status on [owner] ckey: [owner.id] has been fully entrhalled (state 3) with a master of [master] ckey: [enthrallID].")
investigate_log("MKULTRA: Status on [owner] ckey: [owner.key] has been fully entrhalled (state 3) with a master of [master] ckey: [enthrallID].", INVESTIGATE_FERMICHEM)
else if (resistanceTally > 200)
enthrallTally *= 0.5
phase -= 1
@@ -540,7 +540,7 @@
var/cached_trigger = lowertext(trigger)
if (findtext(raw_message, cached_trigger))//if trigger1 is the message
cTriggered = TRUE
investigate_log("MKULTRA: [owner] ckey: [owner.id] has been triggered with [cached_trigger] from [speaker] saying: \"[message]\". (their master being [master] ckey: [enthrallID].)")
investigate_log("MKULTRA: [owner] ckey: [owner.key] has been triggered with [cached_trigger] from [speaker] saying: \"[message]\". (their master being [master] ckey: [enthrallID].)", INVESTIGATE_FERMICHEM)
//Speak (Forces player to talk) works
if (lowertext(customTriggers[trigger][1]) == "speak")//trigger2
@@ -549,14 +549,14 @@
saytext += " You find yourself fully believing in the validity of what you just said and don't think to question it."
to_chat(C, "<span class='notice'><i>[saytext]</i></span>")
(C.say(customTriggers[trigger][2]))//trigger3
investigate_log("MKULTRA: [owner] ckey: [owner.id] has been forced to say: \"[customTriggers[trigger][2]]\" from previous trigger.")
investigate_log("MKULTRA: [owner] ckey: [owner.key] has been forced to say: \"[customTriggers[trigger][2]]\" from previous trigger.", INVESTIGATE_FERMICHEM)
//Echo (repeats message!) works
//Echo (repeats message!)
else if (lowertext(customTriggers[trigger][1]) == "echo")//trigger2
(to_chat(owner, "<span class='hypnophrase'><i>[customTriggers[trigger][2]]</i></span>"))//trigger3
//Shocking truth! works
//Shocking truth!
else if (lowertext(customTriggers[trigger]) == "shock")
if (C.canbearoused)
C.electrocute_act(10, src, 1, FALSE, FALSE, FALSE, TRUE)//I've no idea how strong this is
@@ -595,7 +595,7 @@
var/mob/living/carbon/human/o = owner
o.apply_status_effect(/datum/status_effect/trance, 200, TRUE)
tranceTime = 50
investigate_log("MKULTRA: [owner] ckey: [owner.id] has been tranced from previous trigger.")
investigate_log("MKULTRA: [owner] ckey: [owner.key] has been tranced from previous trigger.", INVESTIGATE_FERMICHEM)
cTriggered = FALSE

View File

@@ -1235,31 +1235,30 @@ Creating a chem with a low purity will make you permanently fall in love with so
/datum/reagent/fermi/hatmium //for hatterhat
name = "Hat growth serium"
id = "hatmium"
description = "A strange substance that draws in a hat from the hat dimention, "
description = "A strange substance that draws in a hat from the hat dimention."
color = "#A080H4" // rgb: , 0, 255
taste_description = "like jerky, whiskey and an off aftertaste of a crypt"
taste_description = "like jerky, whiskey and an off aftertaste of a crypt."
overdose_threshold = 25
var/obj/item/clothing/head/hattip/hat
DoNotSplit = TRUE
pH = 4
/datum/reagent/fermi/hatmium/on_mob_add(mob/living/carbon/human/M)
. = ..()
var/items = M.get_contents()
for(var/obj/item/W in items)
if(W == M.head)
if(W == /obj/item/clothing/head/hattip)
qdel(W)
else
M.dropItemToGround(W, TRUE)
if(M.head)
var/obj/item/W = M.head
if(W == /obj/item/clothing/head/hattip)
qdel(W)
else
M.dropItemToGround(W, TRUE)
hat = new /obj/item/clothing/head/hattip()
M.equip_to_slot(hat, SLOT_HEAD, 1, 1)
/datum/reagent/fermi/hatmium/on_mob_life(mob/living/carbon/human/M)
//hat.armor = list("melee" = (1+(current_cycle/20)), "bullet" = (1+(current_cycle/20)), "laser" = (1+(current_cycle/20)), "energy" = (1+(current_cycle/20)), "bomb" = (1+(current_cycle/20)), "bio" = (1+(current_cycle/20)), "rad" = (1+(current_cycle/20)), "fire" = (1+(current_cycle/20)), "acid" = (1+(current_cycle/20)))
M.head
var/hatArmor = (1+(current_cycle/30))*purity
for(var/datum/armor in )
if(!overdosed)
hat.armor = list("melee" = hatArmor, "bullet" = hatArmor, "laser" = hatArmor, "energy" = hatArmor, "bomb" = hatArmor, "bio" = hatArmor, "rad" = hatArmor, "fire" = hatArmor)
else
@@ -1341,19 +1340,19 @@ Creating a chem with a low purity will make you permanently fall in love with so
//Nanite removal
//Writen by Trilby!! Embellsished a little by me.
/datum/reagent/fermi/naninte_b_gone
/datum/reagent/fermi/nanite_b_gone
name = "Naninte bain"
id = "naninte_b_gone"
id = "nanite_b_gone"
description = "A rather simple toxin to small nano machines that will kill them off at a rapid rate well in system."
color = "#5a7267" // rgb: 90, 114, 103
overdose_threshold = 15
ImpureChem = "naninte_b_goneTox" //If you make an inpure chem, it stalls growth
ImpureChem = "nanite_b_goneTox" //If you make an inpure chem, it stalls growth
InverseChemVal = 0.25
InverseChem = "naninte_b_goneTox" //At really impure vols, it just becomes 100% inverse
InverseChem = "nanite_b_goneTox" //At really impure vols, it just becomes 100% inverse
taste_description = "what can only be described as licking a battery."
pH = 9
/datum/reagent/fermi/naninte_b_gone/on_mob_life(mob/living/carbon/C)
/datum/reagent/fermi/nanite_b_gone/on_mob_life(mob/living/carbon/C)
//var/component/nanites/N = M.GetComponent(/datum/component/nanites)
GET_COMPONENT_FROM(N, /datum/component/nanites, C)
if(isnull(N))
@@ -1361,7 +1360,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
N.nanite_volume = -0.55//0.5 seems to be the default to me, so it'll neuter them.
..()
/datum/reagent/fermi/naninte_b_gone/overdose_process(mob/living/carbon/C)
/datum/reagent/fermi/nanite_b_gone/overdose_process(mob/living/carbon/C)
//var/component/nanites/N = M.GetComponent(/datum/component/nanites)
GET_COMPONENT_FROM(N, /datum/component/nanites, C)
if(prob(5))
@@ -1371,21 +1370,21 @@ Creating a chem with a low purity will make you permanently fall in love with so
//empulse((get_turf(C)), 3, 2)//So the nanites randomize
var/atom/T = C
T.emp_act(EMP_HEAVY)
to_chat(C, "<span class='warning'>The nanintes short circuit within your system!</b></span>")
to_chat(C, "<span class='warning'>The nanites short circuit within your system!</b></span>")
if(isnull(N))
return ..()
N.nanite_volume = -2//12.5 seems crazy high?
..()
//Unobtainable, used if SDGF is impure but not too impure
/datum/reagent/fermi/naninte_b_goneTox
/datum/reagent/fermi/nanite_b_goneTox
name = "Naninte bain"
id = "naninte_b_goneTox"
id = "nanite_b_goneTox"
description = "Poorly made, and shocks you!"
metabolization_rate = 1
//Increases shock events.
/datum/reagent/fermi/naninte_b_goneTox/on_mob_life(mob/living/carbon/C)//Damages the taker if their purity is low. Extended use of impure chemicals will make the original die. (thus can't be spammed unless you've very good)
/datum/reagent/fermi/nanite_b_goneTox/on_mob_life(mob/living/carbon/C)//Damages the taker if their purity is low. Extended use of impure chemicals will make the original die. (thus can't be spammed unless you've very good)
if(prob(15))
to_chat(C, "<span class='warning'>The residual voltage in your system causes you to seize up!</b></span>")
C.electrocute_act(10, (get_turf(C)), 1, FALSE, FALSE, FALSE, TRUE)
@@ -1548,19 +1547,10 @@ Creating a chem with a low purity will make you permanently fall in love with so
/datum/reagent/fermi/secretcatchem/on_mob_add(mob/living/carbon/human/H)
. = ..()
var/current_species = H.dna.species.type
var/datum/species/mutation = /datum/species/human/felinid
if((mutation != current_species) && (purity >= 0.8))//ONLY if purity is high, and given the stuff is random. It's very unlikely to get this to 1. It already requires felind too, so no new functionality there.
H.set_species(mutation)
H.gender = FEMALE
//exception(al) handler:
H.dna.features["mam_tail"] = "Cat"
H.dna.features["tail_human"] = "Cat"
H.dna.features["ears"] = "Cat"
H.dna.features["mam_ears"] = "Cat"
H.dna.features["tail_lizard"] = "Cat"
H.dna.features["mam_tail"] = "Cat"
H.dna.features["mam_tail_animated"] = "Cat"
H.facial_hair_style = "Shaved"
H.verb_say = "mewls"
catshift = TRUE
playsound(get_turf(H), 'modular_citadel/sound/voice/merowr.ogg', 50, 1, -1)
@@ -1583,7 +1573,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
H.forceMove(catto.loc)
catto.mind.transfer_to(H)
if(catshift == TRUE)
words += " ...But wait, are those ears and a tail?"
words += " ...But wait, are those cat ears?"
H.say("*wag")//force update sprites.
to_chat(H, "<span class='notice'>[words]</span>")
qdel(catto)

View File

@@ -1,22 +1,20 @@
//TO TWEAK:
/datum/chemical_reaction/fermi
mix_sound = 'sound/effects/bubbles.ogg'
//Called for every reaction step
/datum/chemical_reaction/fermi/proc/FermiCreate(holder) //You can get holder by reagents.holder WHY DID I LEARN THIS NOW???
/datum/chemical_reaction/fermi/proc/FermiCreate(holder)
return
//Called when reaction STOP_PROCESSING
/datum/chemical_reaction/fermi/proc/FermiFinish(datum/reagents/holder, multipler) //You can get holder by reagents.holder WHY DID I LEARN THIS NOW???
/datum/chemical_reaction/fermi/proc/FermiFinish(datum/reagents/holder, multipler)
return
//Called when temperature is above a certain threshold, or if purity is too low.
/datum/chemical_reaction/fermi/proc/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH, Exploding = FALSE) //You can get holder by reagents.holder WHY DID I LEARN THIS NOW???
/datum/chemical_reaction/fermi/proc/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH, Exploding = FALSE)
if (Exploding == TRUE)
return
if(!pH)//Dunno how things got here without a pH.
if(!pH)//Dunno how things got here without a pH, but just in case
pH = 7
var/ImpureTot = 0
//var/pHmod = 1
@@ -66,27 +64,27 @@
my_atom.reagents.clear_reagents() //just in case
return
/datum/chemical_reaction/fermi/eigenstate//done
/datum/chemical_reaction/fermi/eigenstate
name = "Eigenstasium"
id = "eigenstate"
results = list("eigenstate" = 0.1)
required_reagents = list("bluespace" = 0.1, "stable_plasma" = 0.1, "sugar" = 0.1)
mix_message = "the reaction zaps suddenly!"
//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
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)
CatalystFact = 0 // How much the catalyst affects the reaction (0 = no catalyst)
CurveSharpT = 0.6 // How sharp the temperature exponential curve is (to the power of value)
CurveSharppH = 2 // How sharp the pH exponential curve is (to the power of value)
ThermicConstant = 5 //Temperature change per 1u produced
HIonRelease = -0.05 //pH change per 1u reaction
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
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
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)
CatalystFact = 0 // How much the catalyst affects the reaction (0 = no catalyst)
CurveSharpT = 0.6 // How sharp the temperature exponential curve is (to the power of value)
CurveSharppH = 2 // How sharp the pH exponential curve is (to the power of value)
ThermicConstant = 5 //Temperature change per 1u produced
HIonRelease = -0.05 //pH change per 1u reaction
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
/datum/chemical_reaction/fermi/eigenstate/FermiFinish(datum/reagents/holder, var/atom/my_atom)//Strange how this doesn't work but the other does.
var/turf/open/location = get_turf(my_atom)
@@ -95,7 +93,7 @@
//serum
/datum/chemical_reaction/fermi/SDGF //DONE
/datum/chemical_reaction/fermi/SDGF
name = "Synthetic-derived growth factor"
id = "SDGF"
results = list("SDGF" = 0.3)
@@ -118,7 +116,7 @@
FermiExplode = TRUE // If the chemical explodes in a special way
PurityMin = 0.2
/datum/chemical_reaction/fermi/SDGF/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)//Spawns an angery teratoma!! Spooky..! be careful!! TODO: Add teratoma slime subspecies
/datum/chemical_reaction/fermi/SDGF/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)//Spawns an angery teratoma!
var/turf/T = get_turf(my_atom)
var/mob/living/simple_animal/slime/S = new(T,"grey")
S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)
@@ -158,7 +156,7 @@
var/obj/item/organ/genital/breasts/B = new /obj/item/organ/genital/breasts(get_turf(my_atom))
var/list/seen = viewers(8, get_turf(my_atom))
for(var/mob/M in seen)
to_chat(M, "<span class='warning'>The reaction suddenly condenses, creating a pair of breasts!</b></span>")//OwO
to_chat(M, "<span class='warning'>The reaction suddenly condenses, creating a pair of breasts!</b></span>")
var/datum/reagent/fermi/breast_enlarger/BE = locate(/datum/reagent/fermi/breast_enlarger) in my_atom.reagents.reagent_list
B.size = ((BE.volume * BE.purity) / 10) //half as effective.
my_atom.reagents.clear_reagents()
@@ -190,7 +188,7 @@
var/obj/item/organ/genital/penis/P = new /obj/item/organ/genital/penis(get_turf(my_atom))
var/list/seen = viewers(8, get_turf(my_atom))
for(var/mob/M in seen)
to_chat(M, "<span class='warning'>The reaction suddenly condenses, creating a penis!</b></span>")//OwO
to_chat(M, "<span class='warning'>The reaction suddenly condenses, creating a penis!</b></span>")
var/datum/reagent/fermi/penis_enlarger/PE = locate(/datum/reagent/fermi/penis_enlarger) in my_atom.reagents.reagent_list
P.length = ((PE.volume * PE.purity) / 10)//half as effective.
my_atom.reagents.clear_reagents()
@@ -249,7 +247,7 @@
if(!B.data)
var/list/seen = viewers(5, get_turf(my_atom))
for(var/mob/M in seen)
to_chat(M, "<span class='warning'>The reaction splutters and fails to react.</span>") //if this appears, WHAT?!
to_chat(M, "<span class='warning'>The reaction splutters and fails to react.</span>") //Just in case
E.purity = 0
if (B.data.["gender"] == "female")
E.data.["creatorGender"] = "Mistress"
@@ -272,7 +270,7 @@
if(!B.data)
var/list/seen = viewers(5, get_turf(my_atom))
for(var/mob/M in seen)
to_chat(M, "<span class='warning'>The reaction splutters and fails to react.</span>") //if this appears, WHAT?!
to_chat(M, "<span class='warning'>The reaction splutters and fails to react.</span>") //Just in case
E.purity = 0
if (B.data.["gender"] == "female")
E.data.["creatorGender"] = "Mistress"
@@ -351,10 +349,10 @@
//There's a weird rounding error or something ugh.
//Nano-b-gone
/datum/chemical_reaction/fermi/naninte_b_gone//done test
/datum/chemical_reaction/fermi/nanite_b_gone//done test
name = "Naninte bain"
id = "naninte_b_gone"
results = list("naninte_b_gone" = 4)
id = "nanite_b_gone"
results = list("nanite_b_gone" = 4)
required_reagents = list("synthflesh" = 1, "uranium" = 1, "iron" = 1, "salglu_solution" = 1)
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.