mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
Adds support for Multiple products (#20177)
* Adds support for multiple recipe results.
Makes it so that recipes can have multiple biproducts, instead of just
one. The results list works just like the reagents list.
ex. list("reagentid" = 5, "otherreagent" = 3) where 5 and 3 are the
amounts produced.
recipe on_reaction 'created volume' is the multiplier for the recipe,
not the sum of the volume of the biproducts. Equations have been
adjusted to this change.
A couple of reactions are made slightly more efficient.
Removes a couple of trailing returns and unneccessary variable
declarations.
Scales cfl3 fireball a miniscule amount with created volume. the range
is increased by 1 for every 100 units mixed.
* updates pyrotechnics.dm
* Removes unneccessary comments and unrelated tweaks.
* Changes variable name for phil
* P is for Product. R is for Reagent.
* Adds support for inverse required temp reactions.
Ie. Cooling a mixture to cause a reaction, instead of heating it. Just
set 'is_cold_recipe' to 1 in the reaction.
* Fixes chapel exploding infinite loop.
Fixes weird bug. Adds unused colorless 'powderpile' icon to
reagentfillings.dmi
This commit is contained in:
@@ -344,6 +344,8 @@ var/const/INJECT = 5 //injection
|
||||
var/matching_other = 0
|
||||
var/list/multipliers = new/list()
|
||||
var/required_temp = C.required_temp
|
||||
var/is_cold_recipe = C.is_cold_recipe
|
||||
var/meets_temp_requirement = 0
|
||||
|
||||
for(var/B in C.required_reagents)
|
||||
if(!has_reagent(B, C.required_reagents[B]))
|
||||
@@ -373,20 +375,18 @@ var/const/INJECT = 5 //injection
|
||||
if(M.Uses > 0) // added a limit to slime cores -- Muskets requested this
|
||||
matching_other = 1
|
||||
|
||||
if(required_temp == 0)
|
||||
required_temp = chem_temp
|
||||
if(required_temp == 0 || (is_cold_recipe && chem_temp <= required_temp) || (!is_cold_recipe && chem_temp >= required_temp))
|
||||
meets_temp_requirement = 1
|
||||
|
||||
|
||||
if(total_matching_reagents == total_required_reagents && total_matching_catalysts == total_required_catalysts && matching_container && matching_other && chem_temp >= required_temp)
|
||||
if(total_matching_reagents == total_required_reagents && total_matching_catalysts == total_required_catalysts && matching_container && matching_other && meets_temp_requirement)
|
||||
var/multiplier = min(multipliers)
|
||||
for(var/B in C.required_reagents)
|
||||
remove_reagent(B, (multiplier * C.required_reagents[B]), safety = 1)
|
||||
|
||||
var/created_volume = C.result_amount*multiplier
|
||||
if(C.result)
|
||||
feedback_add_details("chemical_reaction","[C.result]|[C.result_amount*multiplier]")
|
||||
for(var/P in C.results)
|
||||
feedback_add_details("chemical_reaction", "[P]|[C.results[P]*multiplier]")
|
||||
multiplier = max(multiplier, 1) //this shouldnt happen ...
|
||||
add_reagent(C.result, C.result_amount*multiplier, null, chem_temp)
|
||||
add_reagent(P, C.results[P]*multiplier, null, chem_temp)
|
||||
|
||||
var/list/seen = viewers(4, get_turf(my_atom))
|
||||
|
||||
@@ -405,7 +405,7 @@ var/const/INJECT = 5 //injection
|
||||
ME2.name = "used slime extract"
|
||||
ME2.desc = "This extract has been used up."
|
||||
|
||||
C.on_reaction(src, created_volume)
|
||||
C.on_reaction(src, multiplier)
|
||||
reaction_occured = 1
|
||||
break
|
||||
|
||||
@@ -542,10 +542,10 @@ var/const/INJECT = 5 //injection
|
||||
add_reagent(r_id, amt, data)
|
||||
|
||||
/datum/reagents/proc/remove_reagent(reagent, amount, safety)//Added a safety check for the trans_id_to
|
||||
|
||||
|
||||
if(isnull(amount))
|
||||
amount = INFINITY
|
||||
|
||||
|
||||
if(!isnum(amount))
|
||||
return 1
|
||||
|
||||
|
||||
@@ -193,8 +193,9 @@ About Recipes:
|
||||
name & id
|
||||
Should be pretty obvious.
|
||||
|
||||
result
|
||||
This var contains the id of the resulting reagent.
|
||||
results
|
||||
This var contains a list of the id(s) of the resulting reagents and their result amounts.
|
||||
I recommend you set this to the total volume of all required reagent.
|
||||
|
||||
required_reagents
|
||||
This is a list of ids of the required reagents.
|
||||
@@ -208,10 +209,6 @@ About Recipes:
|
||||
for the reaction. However, unlike required_reagents, catalysts are NOT consumed.
|
||||
They mearly have to be present in the container.
|
||||
|
||||
result_amount
|
||||
This is the amount of the resulting reagent this recipe will produce.
|
||||
I recommend you set this to the total volume of all required reagent.
|
||||
|
||||
required_container
|
||||
The container the recipe has to take place in in order to happen. Leave this blank/null
|
||||
if you want the reaction to happen anywhere.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/chemical_reaction
|
||||
var/name = null
|
||||
var/id = null
|
||||
var/result = null
|
||||
var/list/results = new/list()
|
||||
var/list/required_reagents = new/list()
|
||||
var/list/required_catalysts = new/list()
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
var/atom/required_container = null // the container required for the reaction to happen
|
||||
var/required_other = 0 // an integer required for the reaction to happen
|
||||
|
||||
var/result_amount = 0
|
||||
var/secondary = 0 // set to nonzero if secondary reaction
|
||||
var/mob_react = 0 //Determines if a chemical reaction can occur inside a mob
|
||||
|
||||
var/required_temp = 0
|
||||
var/is_cold_recipe = 0 // Set to 1 if you want the recipe to only react when it's BELOW the required temp.
|
||||
var/mix_message = "The solution begins to bubble." //The message shown to nearby people upon mixing, if applicable
|
||||
var/mix_sound = 'sound/effects/bubbles.ogg' //The sound played upon mixing, if applicable
|
||||
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
/datum/chemical_reaction/space_drugs
|
||||
name = "Space Drugs"
|
||||
id = "space_drugs"
|
||||
result = "space_drugs"
|
||||
results = list("space_drugs" = 3)
|
||||
required_reagents = list("mercury" = 1, "sugar" = 1, "lithium" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/crank
|
||||
name = "Crank"
|
||||
id = "crank"
|
||||
result = "crank"
|
||||
results = list("crank" = 5)
|
||||
required_reagents = list("diphenhydramine" = 1, "ammonia" = 1, "lithium" = 1, "sacid" = 1, "welding_fuel" = 1)
|
||||
result_amount = 5
|
||||
mix_message = "The mixture violently reacts, leaving behind a few crystalline shards."
|
||||
required_temp = 390
|
||||
|
||||
@@ -18,31 +16,27 @@
|
||||
/datum/chemical_reaction/krokodil
|
||||
name = "Krokodil"
|
||||
id = "krokodil"
|
||||
result = "krokodil"
|
||||
results = list("krokodil" = 6)
|
||||
required_reagents = list("diphenhydramine" = 1, "morphine" = 1, "cleaner" = 1, "potassium" = 1, "phosphorus" = 1, "welding_fuel" = 1)
|
||||
result_amount = 6
|
||||
mix_message = "The mixture dries into a pale blue powder."
|
||||
required_temp = 380
|
||||
|
||||
/datum/chemical_reaction/methamphetamine
|
||||
name = "methamphetamine"
|
||||
id = "methamphetamine"
|
||||
result = "methamphetamine"
|
||||
results = list("methamphetamine" = 4)
|
||||
required_reagents = list("ephedrine" = 1, "iodine" = 1, "phosphorus" = 1, "hydrogen" = 1)
|
||||
result_amount = 4
|
||||
required_temp = 374
|
||||
|
||||
/datum/chemical_reaction/bath_salts
|
||||
name = "bath_salts"
|
||||
id = "bath_salts"
|
||||
result = "bath_salts"
|
||||
results = list("bath_salts" = 7)
|
||||
required_reagents = list("????" = 1, "saltpetre" = 1, "nutriment" = 1, "cleaner" = 1, "enzyme" = 1, "tea" = 1, "mercury" = 1)
|
||||
result_amount = 7
|
||||
required_temp = 374
|
||||
|
||||
/datum/chemical_reaction/aranesp
|
||||
name = "aranesp"
|
||||
id = "aranesp"
|
||||
result = "aranesp"
|
||||
results = list("aranesp" = 3)
|
||||
required_reagents = list("epinephrine" = 1, "atropine" = 1, "morphine" = 1)
|
||||
result_amount = 3
|
||||
|
||||
@@ -2,249 +2,214 @@
|
||||
/datum/chemical_reaction/leporazine
|
||||
name = "Leporazine"
|
||||
id = "leporazine"
|
||||
result = "leporazine"
|
||||
results = list("leporazine" = 2)
|
||||
required_reagents = list("silicon" = 1, "copper" = 1)
|
||||
required_catalysts = list("plasma" = 5)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/rezadone
|
||||
name = "Rezadone"
|
||||
id = "rezadone"
|
||||
result = "rezadone"
|
||||
results = list("rezadone" = 3)
|
||||
required_reagents = list("carpotoxin" = 1, "cryptobiolin" = 1, "copper" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/spaceacillin
|
||||
name = "Spaceacillin"
|
||||
id = "spaceacillin"
|
||||
result = "spaceacillin"
|
||||
results = list("spaceacillin" = 2)
|
||||
required_reagents = list("cryptobiolin" = 1, "epinephrine" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/inacusiate
|
||||
name = "inacusiate"
|
||||
id = "inacusiate"
|
||||
result = "inacusiate"
|
||||
results = list("inacusiate" = 2)
|
||||
required_reagents = list("water" = 1, "carbon" = 1, "charcoal" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/synaptizine
|
||||
name = "Synaptizine"
|
||||
id = "synaptizine"
|
||||
result = "synaptizine"
|
||||
results = list("synaptizine" = 3)
|
||||
required_reagents = list("sugar" = 1, "lithium" = 1, "water" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/charcoal
|
||||
name = "Charcoal"
|
||||
id = "charcoal"
|
||||
result = "charcoal"
|
||||
results = list("charcoal" = 2)
|
||||
required_reagents = list("ash" = 1, "sodiumchloride" = 1)
|
||||
result_amount = 2
|
||||
mix_message = "The mixture yields a fine black powder."
|
||||
required_temp = 380
|
||||
|
||||
/datum/chemical_reaction/silver_sulfadiazine
|
||||
name = "Silver Sulfadiazine"
|
||||
id = "silver_sulfadiazine"
|
||||
result = "silver_sulfadiazine"
|
||||
results = list("silver_sulfadiazine" = 5)
|
||||
required_reagents = list("ammonia" = 1, "silver" = 1, "sulfur" = 1, "oxygen" = 1, "chlorine" = 1)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/salglu_solution
|
||||
name = "Saline-Glucose Solution"
|
||||
id = "salglu_solution"
|
||||
result = "salglu_solution"
|
||||
results = list("salglu_solution" = 3)
|
||||
required_reagents = list("sodiumchloride" = 1, "water" = 1, "sugar" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/mine_salve
|
||||
name = "Miner's Salve"
|
||||
id = "mine_salve"
|
||||
result = "mine_salve"
|
||||
results = list("mine_salve" = 3)
|
||||
required_reagents = list("oil" = 1, "water" = 1, "iron" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/mine_salve2
|
||||
name = "Miner's Salve"
|
||||
id = "mine_salve"
|
||||
result = "mine_salve"
|
||||
results = list("mine_salve" = 15)
|
||||
required_reagents = list("plasma" = 5, "iron" = 5, "sugar" = 1) // A sheet of plasma, a twinkie and a sheet of metal makes four of these
|
||||
result_amount = 15
|
||||
|
||||
/datum/chemical_reaction/synthflesh
|
||||
name = "Synthflesh"
|
||||
id = "synthflesh"
|
||||
result = "synthflesh"
|
||||
results = list("synthflesh" = 3)
|
||||
required_reagents = list("blood" = 1, "carbon" = 1, "styptic_powder" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/styptic_powder
|
||||
name = "Styptic Powder"
|
||||
id = "styptic_powder"
|
||||
result = "styptic_powder"
|
||||
results = list("styptic_powder" = 4)
|
||||
required_reagents = list("aluminium" = 1, "hydrogen" = 1, "oxygen" = 1, "sacid" = 1)
|
||||
result_amount = 4
|
||||
mix_message = "The solution yields an astringent powder."
|
||||
|
||||
/datum/chemical_reaction/calomel
|
||||
name = "Calomel"
|
||||
id = "calomel"
|
||||
result = "calomel"
|
||||
results = list("calomel" = 2)
|
||||
required_reagents = list("mercury" = 1, "chlorine" = 1)
|
||||
result_amount = 2
|
||||
required_temp = 374
|
||||
|
||||
/datum/chemical_reaction/potass_iodide
|
||||
name = "Potassium Iodide"
|
||||
id = "potass_iodide"
|
||||
result = "potass_iodide"
|
||||
results = list("potass_iodide" = 2)
|
||||
required_reagents = list("potassium" = 1, "iodine" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/pen_acid
|
||||
name = "Pentetic Acid"
|
||||
id = "pen_acid"
|
||||
result = "pen_acid"
|
||||
results = list("pen_acid" = 6)
|
||||
required_reagents = list("welding_fuel" = 1, "chlorine" = 1, "ammonia" = 1, "formaldehyde" = 1, "sodium" = 1, "cyanide" = 1)
|
||||
result_amount = 6
|
||||
|
||||
/datum/chemical_reaction/sal_acid
|
||||
name = "Salicyclic Acid"
|
||||
id = "sal_acid"
|
||||
result = "sal_acid"
|
||||
results = list("sal_acid" = 5)
|
||||
required_reagents = list("sodium" = 1, "phenol" = 1, "carbon" = 1, "oxygen" = 1, "sacid" = 1)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/oxandrolone
|
||||
name = "Oxandrolone"
|
||||
id = "oxandrolone"
|
||||
result = "oxandrolone"
|
||||
results = list("oxandrolone" = 6)
|
||||
required_reagents = list("carbon" = 3, "phenol" = 1, "hydrogen" = 1, "oxygen" = 1)
|
||||
result_amount = 6
|
||||
|
||||
/datum/chemical_reaction/salbutamol
|
||||
name = "Salbutamol"
|
||||
id = "salbutamol"
|
||||
result = "salbutamol"
|
||||
results = list("salbutamol" = 5)
|
||||
required_reagents = list("sal_acid" = 1, "lithium" = 1, "aluminium" = 1, "bromine" = 1, "ammonia" = 1)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/perfluorodecalin
|
||||
name = "Perfluorodecalin"
|
||||
id = "perfluorodecalin"
|
||||
result = "perfluorodecalin"
|
||||
results = list("perfluorodecalin" = 3)
|
||||
required_reagents = list("hydrogen" = 1, "fluorine" = 1, "oil" = 1)
|
||||
result_amount = 3
|
||||
required_temp = 370
|
||||
mix_message = "The mixture rapidly turns into a dense pink liquid."
|
||||
|
||||
/datum/chemical_reaction/ephedrine
|
||||
name = "Ephedrine"
|
||||
id = "ephedrine"
|
||||
result = "ephedrine"
|
||||
results = list("ephedrine" = 4)
|
||||
required_reagents = list("sugar" = 1, "oil" = 1, "hydrogen" = 1, "diethylamine" = 1)
|
||||
result_amount = 4
|
||||
mix_message = "The solution fizzes and gives off toxic fumes."
|
||||
|
||||
/datum/chemical_reaction/diphenhydramine
|
||||
name = "Diphenhydramine"
|
||||
id = "diphenhydramine"
|
||||
result = "diphenhydramine"
|
||||
results = list("diphenhydramine" = 4)
|
||||
required_reagents = list("oil" = 1, "carbon" = 1, "bromine" = 1, "diethylamine" = 1, "ethanol" = 1)
|
||||
result_amount = 4
|
||||
mix_message = "The mixture dries into a pale blue powder."
|
||||
|
||||
/datum/chemical_reaction/oculine
|
||||
name = "Oculine"
|
||||
id = "oculine"
|
||||
result = "oculine"
|
||||
results = list("oculine" = 3)
|
||||
required_reagents = list("charcoal" = 1, "carbon" = 1, "hydrogen" = 1)
|
||||
result_amount = 3
|
||||
mix_message = "The mixture sputters loudly and becomes a pale pink color."
|
||||
|
||||
/datum/chemical_reaction/atropine
|
||||
name = "Atropine"
|
||||
id = "atropine"
|
||||
result = "atropine"
|
||||
results = list("atropine" = 5)
|
||||
required_reagents = list("ethanol" = 1, "acetone" = 1, "diethylamine" = 1, "phenol" = 1, "sacid" = 1)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/epinephrine
|
||||
name = "Epinephrine"
|
||||
id = "epinephrine"
|
||||
result = "epinephrine"
|
||||
results = list("epinephrine" = 6)
|
||||
required_reagents = list("phenol" = 1, "acetone" = 1, "diethylamine" = 1, "oxygen" = 1, "chlorine" = 1, "hydrogen" = 1)
|
||||
result_amount = 6
|
||||
|
||||
/datum/chemical_reaction/strange_reagent
|
||||
name = "Strange Reagent"
|
||||
id = "strange_reagent"
|
||||
result = "strange_reagent"
|
||||
results = list("strange_reagent" = 3)
|
||||
required_reagents = list("omnizine" = 1, "holywater" = 1, "mutagen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/mannitol
|
||||
name = "Mannitol"
|
||||
id = "mannitol"
|
||||
result = "mannitol"
|
||||
results = list("mannitol" = 3)
|
||||
required_reagents = list("sugar" = 1, "hydrogen" = 1, "water" = 1)
|
||||
result_amount = 3
|
||||
mix_message = "The solution slightly bubbles, becoming thicker."
|
||||
|
||||
/datum/chemical_reaction/mutadone
|
||||
name = "Mutadone"
|
||||
id = "mutadone"
|
||||
result = "mutadone"
|
||||
results = list("mutadone" = 3)
|
||||
required_reagents = list("mutagen" = 1, "acetone" = 1, "bromine" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/antihol
|
||||
name = "antihol"
|
||||
id = "antihol"
|
||||
result = "antihol"
|
||||
results = list("antihol" = 3)
|
||||
required_reagents = list("ethanol" = 1, "charcoal" = 1, "copper" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/cryoxadone
|
||||
name = "Cryoxadone"
|
||||
id = "cryoxadone"
|
||||
result = "cryoxadone"
|
||||
results = list("cryoxadone" = 3)
|
||||
required_reagents = list("stable_plasma" = 1, "acetone" = 1, "mutagen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/haloperidol
|
||||
name = "Haloperidol"
|
||||
id = "haloperidol"
|
||||
result = "haloperidol"
|
||||
results = list("haloperidol" = 5)
|
||||
required_reagents = list("chlorine" = 1, "fluorine" = 1, "aluminium" = 1, "potass_iodide" = 1, "oil" = 1)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/bicaridine
|
||||
name = "Bicaridine"
|
||||
id = "bicaridine"
|
||||
result = "bicaridine"
|
||||
results = list("bicaridine" = 3)
|
||||
required_reagents = list("carbon" = 1, "oxygen" = 1, "sugar" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/kelotane
|
||||
name = "Kelotane"
|
||||
id = "kelotane"
|
||||
result = "kelotane"
|
||||
results = list("kelotane" = 2)
|
||||
required_reagents = list("carbon" = 1, "silicon" = 1)
|
||||
result_amount = 2
|
||||
|
||||
|
||||
/datum/chemical_reaction/antitoxin
|
||||
name = "Antitoxin"
|
||||
id = "antitoxin"
|
||||
result = "antitoxin"
|
||||
results = list("antitoxin" = 3)
|
||||
required_reagents = list("nitrogen" = 1, "silicon" = 1, "potassium" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/tricordrazine
|
||||
name = "Tricordrazine"
|
||||
id = "tricordrazine"
|
||||
result = "tricordrazine"
|
||||
required_reagents = list("bicaridine" = 1, "kelotane" = 1, "antitoxin" = 1)
|
||||
result_amount = 3
|
||||
results = list("tricordrazine" = 3)
|
||||
required_reagents = list("bicaridine" = 1, "kelotane" = 1, "antitoxin" = 1)
|
||||
@@ -2,211 +2,183 @@
|
||||
/datum/chemical_reaction/sterilizine
|
||||
name = "Sterilizine"
|
||||
id = "sterilizine"
|
||||
result = "sterilizine"
|
||||
results = list("sterilizine" = 3)
|
||||
required_reagents = list("ethanol" = 1, "charcoal" = 1, "chlorine" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/lube
|
||||
name = "Space Lube"
|
||||
id = "lube"
|
||||
result = "lube"
|
||||
results = list("lube" = 4)
|
||||
required_reagents = list("water" = 1, "silicon" = 1, "oxygen" = 1)
|
||||
result_amount = 4
|
||||
|
||||
/datum/chemical_reaction/spraytan
|
||||
name = "Spray Tan"
|
||||
id = "spraytan"
|
||||
result = "spraytan"
|
||||
results = list("spraytan" = 2)
|
||||
required_reagents = list("orangejuice" = 1, "oil" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/spraytan2
|
||||
name = "Spray Tan"
|
||||
id = "spraytan"
|
||||
result = "spraytan"
|
||||
results = list("spraytan" = 2)
|
||||
required_reagents = list("orangejuice" = 1, "cornoil" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/impedrezene
|
||||
name = "Impedrezene"
|
||||
id = "impedrezene"
|
||||
result = "impedrezene"
|
||||
results = list("impedrezene" = 2)
|
||||
required_reagents = list("mercury" = 1, "oxygen" = 1, "sugar" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/cryptobiolin
|
||||
name = "Cryptobiolin"
|
||||
id = "cryptobiolin"
|
||||
result = "cryptobiolin"
|
||||
results = list("cryptobiolin" = 3)
|
||||
required_reagents = list("potassium" = 1, "oxygen" = 1, "sugar" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/glycerol
|
||||
name = "Glycerol"
|
||||
id = "glycerol"
|
||||
result = "glycerol"
|
||||
results = list("glycerol" = 1)
|
||||
required_reagents = list("cornoil" = 3, "sacid" = 1)
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/sodiumchloride
|
||||
name = "Sodium Chloride"
|
||||
id = "sodiumchloride"
|
||||
result = "sodiumchloride"
|
||||
results = list("sodiumchloride" = 3)
|
||||
required_reagents = list("water" = 1, "sodium" = 1, "chlorine" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/plasmasolidification
|
||||
name = "Solid Plasma"
|
||||
id = "solidplasma"
|
||||
result = null
|
||||
required_reagents = list("iron" = 5, "frostoil" = 5, "plasma" = 20)
|
||||
result_amount = 1
|
||||
mob_react = 1
|
||||
|
||||
/datum/chemical_reaction/plasmasolidification/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
new /obj/item/stack/sheet/mineral/plasma(location)
|
||||
return
|
||||
for(var/i = 1, i <= created_volume, i++)
|
||||
new /obj/item/stack/sheet/mineral/plasma(location)
|
||||
|
||||
/datum/chemical_reaction/capsaicincondensation
|
||||
name = "Capsaicincondensation"
|
||||
id = "capsaicincondensation"
|
||||
result = "condensedcapsaicin"
|
||||
results = list("condensedcapsaicin" = 5)
|
||||
required_reagents = list("capsaicin" = 1, "ethanol" = 5)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/soapification
|
||||
name = "Soapification"
|
||||
id = "soapification"
|
||||
result = null
|
||||
required_reagents = list("liquidgibs" = 10, "lye" = 10) // requires two scooped gib tiles
|
||||
required_temp = 374
|
||||
result_amount = 1
|
||||
mob_react = 1
|
||||
|
||||
/datum/chemical_reaction/soapification/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
new /obj/item/weapon/soap/homemade(location)
|
||||
return
|
||||
for(var/i = 1, i <= created_volume, i++)
|
||||
new /obj/item/weapon/soap/homemade(location)
|
||||
|
||||
/datum/chemical_reaction/candlefication
|
||||
name = "Candlefication"
|
||||
id = "candlefication"
|
||||
result = null
|
||||
required_reagents = list("liquidgibs" = 5, "oxygen" = 5) //
|
||||
required_temp = 374
|
||||
result_amount = 1
|
||||
mob_react = 1
|
||||
|
||||
/datum/chemical_reaction/candlefication/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
new /obj/item/candle(location)
|
||||
return
|
||||
for(var/i = 1, i <= created_volume, i++)
|
||||
new /obj/item/candle(location)
|
||||
|
||||
/datum/chemical_reaction/meatification
|
||||
name = "Meatification"
|
||||
id = "meatification"
|
||||
result = null
|
||||
required_reagents = list("liquidgibs" = 10, "nutriment" = 10, "carbon" = 10)
|
||||
result_amount = 1
|
||||
mob_react = 1
|
||||
|
||||
/datum/chemical_reaction/meatification/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/meatproduct(location)
|
||||
for(var/i = 1, i <= created_volume, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/meatproduct(location)
|
||||
return
|
||||
|
||||
/datum/chemical_reaction/carbondioxide
|
||||
name = "Direct Carbon Oxidation"
|
||||
id = "burningcarbon"
|
||||
result = "co2"
|
||||
results = list("co2" = 3)
|
||||
required_reagents = list("carbon" = 1, "oxygen" = 2)
|
||||
required_temp = 777 // pure carbon isn't especially reactive.
|
||||
result_amount = 3
|
||||
|
||||
////////////////////////////////// VIROLOGY //////////////////////////////////////////
|
||||
|
||||
/datum/chemical_reaction/virus_food
|
||||
name = "Virus Food"
|
||||
id = "virusfood"
|
||||
result = "virusfood"
|
||||
results = list("virusfood" = 15)
|
||||
required_reagents = list("water" = 5, "milk" = 5)
|
||||
result_amount = 15
|
||||
|
||||
/datum/chemical_reaction/virus_food_mutagen
|
||||
name = "mutagenic agar"
|
||||
id = "mutagenvirusfood"
|
||||
result = "mutagenvirusfood"
|
||||
results = list("mutagenvirusfood" = 1)
|
||||
required_reagents = list("mutagen" = 1, "virusfood" = 1)
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/virus_food_synaptizine
|
||||
name = "virus rations"
|
||||
id = "synaptizinevirusfood"
|
||||
result = "synaptizinevirusfood"
|
||||
results = list("synaptizinevirusfood" = 1)
|
||||
required_reagents = list("synaptizine" = 1, "virusfood" = 1)
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/virus_food_plasma
|
||||
name = "virus plasma"
|
||||
id = "plasmavirusfood"
|
||||
result = "plasmavirusfood"
|
||||
results = list("plasmavirusfood" = 1)
|
||||
required_reagents = list("plasma" = 1, "virusfood" = 1)
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/virus_food_plasma_synaptizine
|
||||
name = "weakened virus plasma"
|
||||
id = "weakplasmavirusfood"
|
||||
result = "weakplasmavirusfood"
|
||||
results = list("weakplasmavirusfood" = 2)
|
||||
required_reagents = list("synaptizine" = 1, "plasmavirusfood" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/virus_food_mutagen_sugar
|
||||
name = "sucrose agar"
|
||||
id = "sugarvirusfood"
|
||||
result = "sugarvirusfood"
|
||||
results = list("sugarvirusfood" = 2)
|
||||
required_reagents = list("sugar" = 1, "mutagenvirusfood" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/virus_food_mutagen_salineglucose
|
||||
name = "sucrose agar"
|
||||
id = "salineglucosevirusfood"
|
||||
result = "sugarvirusfood"
|
||||
results = list("sugarvirusfood" = 2)
|
||||
required_reagents = list("salglu_solution" = 1, "mutagenvirusfood" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/virus_food_uranium
|
||||
name = "Decaying uranium gel"
|
||||
id = "uraniumvirusfood"
|
||||
result = "uraniumvirusfood"
|
||||
results = list("uraniumvirusfood" = 1)
|
||||
required_reagents = list("uranium" = 1, "virusfood" = 1)
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/virus_food_uranium_plasma
|
||||
name = "Unstable uranium gel"
|
||||
id = "uraniumvirusfood_plasma"
|
||||
result = "uraniumplasmavirusfood_unstable"
|
||||
results = list("uraniumplasmavirusfood_unstable" = 1)
|
||||
required_reagents = list("uranium" = 5, "plasmavirusfood" = 1)
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/virus_food_uranium_plasma_gold
|
||||
name = "Stable uranium gel"
|
||||
id = "uraniumvirusfood_gold"
|
||||
result = "uraniumplasmavirusfood_stable"
|
||||
results = list("uraniumplasmavirusfood_stable" = 1)
|
||||
required_reagents = list("uranium" = 10, "gold" = 10, "plasma" = 1)
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/virus_food_uranium_plasma_silver
|
||||
name = "Stable uranium gel"
|
||||
id = "uraniumvirusfood_silver"
|
||||
result = "uraniumplasmavirusfood_stable"
|
||||
results = list("uraniumplasmavirusfood_stable" = 1)
|
||||
required_reagents = list("uranium" = 10, "silver" = 10, "plasma" = 1)
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/mix_virus
|
||||
name = "Mix Virus"
|
||||
id = "mixvirus"
|
||||
result = "blood"
|
||||
results = list("blood" = 1)
|
||||
required_reagents = list("virusfood" = 1)
|
||||
required_catalysts = list("blood" = 1)
|
||||
var/level_min = 0
|
||||
@@ -332,17 +304,13 @@
|
||||
/datum/chemical_reaction/surfactant
|
||||
name = "Foam surfactant"
|
||||
id = "foam surfactant"
|
||||
result = "fluorosurfactant"
|
||||
results = list("fluorosurfactant" = 5)
|
||||
required_reagents = list("fluorine" = 2, "carbon" = 2, "sacid" = 1)
|
||||
result_amount = 5
|
||||
|
||||
|
||||
/datum/chemical_reaction/foam
|
||||
name = "Foam"
|
||||
id = "foam"
|
||||
result = null
|
||||
required_reagents = list("fluorosurfactant" = 1, "water" = 1)
|
||||
result_amount = 2
|
||||
mob_react = 1
|
||||
|
||||
/datum/chemical_reaction/foam/on_reaction(datum/reagents/holder, created_volume)
|
||||
@@ -350,7 +318,7 @@
|
||||
for(var/mob/M in viewers(5, location))
|
||||
M << "<span class='danger'>The solution spews out foam!</span>"
|
||||
var/datum/effect_system/foam_spread/s = new()
|
||||
s.set_up(created_volume, location, holder)
|
||||
s.set_up(created_volume*2, location, holder)
|
||||
s.start()
|
||||
holder.clear_reagents()
|
||||
return
|
||||
@@ -359,9 +327,7 @@
|
||||
/datum/chemical_reaction/metalfoam
|
||||
name = "Metal Foam"
|
||||
id = "metalfoam"
|
||||
result = null
|
||||
required_reagents = list("aluminium" = 3, "foaming_agent" = 1, "facid" = 1)
|
||||
result_amount = 5
|
||||
mob_react = 1
|
||||
|
||||
/datum/chemical_reaction/metalfoam/on_reaction(datum/reagents/holder, created_volume)
|
||||
@@ -371,16 +337,14 @@
|
||||
M << "<span class='danger'>The solution spews out a metallic foam!</span>"
|
||||
|
||||
var/datum/effect_system/foam_spread/metal/s = new()
|
||||
s.set_up(created_volume, location, holder, 1)
|
||||
s.set_up(created_volume*5, location, holder, 1)
|
||||
s.start()
|
||||
holder.clear_reagents()
|
||||
|
||||
/datum/chemical_reaction/ironfoam
|
||||
name = "Iron Foam"
|
||||
id = "ironlfoam"
|
||||
result = null
|
||||
required_reagents = list("iron" = 3, "foaming_agent" = 1, "facid" = 1)
|
||||
result_amount = 5
|
||||
mob_react = 1
|
||||
|
||||
/datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, created_volume)
|
||||
@@ -388,16 +352,15 @@
|
||||
for(var/mob/M in viewers(5, location))
|
||||
M << "<span class='danger'>The solution spews out a metallic foam!</span>"
|
||||
var/datum/effect_system/foam_spread/metal/s = new()
|
||||
s.set_up(created_volume, location, holder, 2)
|
||||
s.set_up(created_volume*5, location, holder, 2)
|
||||
s.start()
|
||||
holder.clear_reagents()
|
||||
|
||||
/datum/chemical_reaction/foaming_agent
|
||||
name = "Foaming Agent"
|
||||
id = "foaming_agent"
|
||||
result = "foaming_agent"
|
||||
results = list("foaming_agent" = 1)
|
||||
required_reagents = list("lithium" = 1, "hydrogen" = 1)
|
||||
result_amount = 1
|
||||
|
||||
|
||||
/////////////////////////////// Cleaning and hydroponics /////////////////////////////////////////////////
|
||||
@@ -405,174 +368,149 @@
|
||||
/datum/chemical_reaction/ammonia
|
||||
name = "Ammonia"
|
||||
id = "ammonia"
|
||||
result = "ammonia"
|
||||
results = list("ammonia" = 3)
|
||||
required_reagents = list("hydrogen" = 3, "nitrogen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/diethylamine
|
||||
name = "Diethylamine"
|
||||
id = "diethylamine"
|
||||
result = "diethylamine"
|
||||
results = list("diethylamine" = 2)
|
||||
required_reagents = list ("ammonia" = 1, "ethanol" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/space_cleaner
|
||||
name = "Space cleaner"
|
||||
id = "cleaner"
|
||||
result = "cleaner"
|
||||
results = list("cleaner" = 2)
|
||||
required_reagents = list("ammonia" = 1, "water" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/plantbgone
|
||||
name = "Plant-B-Gone"
|
||||
id = "plantbgone"
|
||||
result = "plantbgone"
|
||||
results = list("plantbgone" = 5)
|
||||
required_reagents = list("toxin" = 1, "water" = 4)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/weedkiller
|
||||
name = "Weed Killer"
|
||||
id = "weedkiller"
|
||||
result = "weedkiller"
|
||||
results = list("weedkiller" = 5)
|
||||
required_reagents = list("toxin" = 1, "ammonia" = 4)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/pestkiller
|
||||
name = "Pest Killer"
|
||||
id = "pestkiller"
|
||||
result = "pestkiller"
|
||||
results = list("pestkiller" = 5)
|
||||
required_reagents = list("toxin" = 1, "ethanol" = 4)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/drying_agent
|
||||
name = "Drying agent"
|
||||
id = "drying_agent"
|
||||
result = "drying_agent"
|
||||
results = list("drying_agent" = 3)
|
||||
required_reagents = list("stable_plasma" = 2, "ethanol" = 1, "sodium" = 1)
|
||||
result_amount = 3
|
||||
|
||||
//////////////////////////////////// Other goon stuff ///////////////////////////////////////////
|
||||
|
||||
/datum/chemical_reaction/acetone
|
||||
name = "acetone"
|
||||
id = "acetone"
|
||||
result = "acetone"
|
||||
results = list("acetone" = 3)
|
||||
required_reagents = list("oil" = 1, "welding_fuel" = 1, "oxygen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/carpet
|
||||
name = "carpet"
|
||||
id = "carpet"
|
||||
result = "carpet"
|
||||
results = list("carpet" = 2)
|
||||
required_reagents = list("space_drugs" = 1, "blood" = 1)
|
||||
result_amount = 2
|
||||
|
||||
|
||||
/datum/chemical_reaction/oil
|
||||
name = "Oil"
|
||||
id = "oil"
|
||||
result = "oil"
|
||||
results = list("oil" = 3)
|
||||
required_reagents = list("welding_fuel" = 1, "carbon" = 1, "hydrogen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/phenol
|
||||
name = "phenol"
|
||||
id = "phenol"
|
||||
result = "phenol"
|
||||
results = list("phenol" = 3)
|
||||
required_reagents = list("water" = 1, "chlorine" = 1, "oil" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/ash
|
||||
name = "Ash"
|
||||
id = "ash"
|
||||
result = "ash"
|
||||
results = list("ash" = 1)
|
||||
required_reagents = list("oil" = 1)
|
||||
result_amount = 1
|
||||
required_temp = 480
|
||||
|
||||
/datum/chemical_reaction/colorful_reagent
|
||||
name = "colorful_reagent"
|
||||
id = "colorful_reagent"
|
||||
result = "colorful_reagent"
|
||||
results = list("colorful_reagent" = 5)
|
||||
required_reagents = list("stable_plasma" = 1, "radium" = 1, "space_drugs" = 1, "cryoxadone" = 1, "triple_citrus" = 1)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/life
|
||||
name = "Life"
|
||||
id = "life"
|
||||
result = null
|
||||
required_reagents = list("strange_reagent" = 1, "synthflesh" = 1, "blood" = 1)
|
||||
result_amount = 1
|
||||
required_temp = 374
|
||||
|
||||
/datum/chemical_reaction/life/on_reaction(datum/reagents/holder, created_volume)
|
||||
chemical_mob_spawn(holder, 1, "Life")
|
||||
chemical_mob_spawn(holder, rand(1, round(created_volume, 1)), "Life") // Lol.
|
||||
|
||||
/datum/chemical_reaction/corgium
|
||||
name = "corgium"
|
||||
id = "corgium"
|
||||
result = null
|
||||
required_reagents = list("nutriment" = 1, "colorful_reagent" = 1, "strange_reagent" = 1, "blood" = 1)
|
||||
result_amount = 1
|
||||
required_temp = 374
|
||||
|
||||
/datum/chemical_reaction/corgium/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
new /mob/living/simple_animal/pet/dog/corgi(location)
|
||||
for(var/i = rand(1, created_volume), i <= created_volume, i++) // More lulz.
|
||||
new /mob/living/simple_animal/pet/dog/corgi(location)
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/hair_dye
|
||||
name = "hair_dye"
|
||||
id = "hair_dye"
|
||||
result = "hair_dye"
|
||||
results = list("hair_dye" = 5)
|
||||
required_reagents = list("colorful_reagent" = 1, "radium" = 1, "space_drugs" = 1)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/barbers_aid
|
||||
name = "barbers_aid"
|
||||
id = "barbers_aid"
|
||||
result = "barbers_aid"
|
||||
results = list("barbers_aid" = 5)
|
||||
required_reagents = list("carpet" = 1, "radium" = 1, "space_drugs" = 1)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/concentrated_barbers_aid
|
||||
name = "concentrated_barbers_aid"
|
||||
id = "concentrated_barbers_aid"
|
||||
result = "concentrated_barbers_aid"
|
||||
results = list("concentrated_barbers_aid" = 2)
|
||||
required_reagents = list("barbers_aid" = 1, "mutagen" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/saltpetre
|
||||
name = "saltpetre"
|
||||
id = "saltpetre"
|
||||
result = "saltpetre"
|
||||
results = list("saltpetre" = 3)
|
||||
required_reagents = list("potassium" = 1, "nitrogen" = 1, "oxygen" = 3)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/lye
|
||||
name = "lye"
|
||||
id = "lye"
|
||||
result = "lye"
|
||||
results = list("lye" = 3)
|
||||
required_reagents = list("sodium" = 1, "hydrogen" = 1, "oxygen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/lye2
|
||||
name = "lye"
|
||||
id = "lye"
|
||||
result = "lye"
|
||||
results = list("lye" = 2)
|
||||
required_reagents = list("ash" = 1, "water" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/royal_bee_jelly
|
||||
name = "royal bee jelly"
|
||||
id = "royal_bee_jelly"
|
||||
result = "royal_bee_jelly"
|
||||
results = list("royal_bee_jelly" = 5)
|
||||
required_reagents = list("mutagen" = 10, "honey" = 40)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/laughter
|
||||
name = "laughter"
|
||||
id = "laughter"
|
||||
result = "laughter"
|
||||
results = list("laughter" = 10) // Fuck it. I'm not touching this one.
|
||||
required_reagents = list("sugar" = 1, "banana" = 1)
|
||||
result_amount = 10
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/datum/chemical_reaction/reagent_explosion
|
||||
name = "Generic explosive"
|
||||
id = "reagent_explosion"
|
||||
result = null
|
||||
var/strengthdiv = 10
|
||||
var/modifier = 0
|
||||
|
||||
@@ -27,22 +26,20 @@
|
||||
/datum/chemical_reaction/reagent_explosion/nitroglycerin
|
||||
name = "Nitroglycerin"
|
||||
id = "nitroglycerin"
|
||||
result = "nitroglycerin"
|
||||
results = list("nitroglycerin" = 2)
|
||||
required_reagents = list("glycerol" = 1, "facid" = 1, "sacid" = 1)
|
||||
result_amount = 2
|
||||
strengthdiv = 2
|
||||
|
||||
/datum/chemical_reaction/reagent_explosion/nitroglycerin/on_reaction(datum/reagents/holder, created_volume)
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
return
|
||||
holder.remove_reagent("nitroglycerin", created_volume)
|
||||
holder.remove_reagent("nitroglycerin", created_volume*2)
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/reagent_explosion/nitroglycerin_explosion
|
||||
name = "Nitroglycerin explosion"
|
||||
id = "nitroglycerin_explosion"
|
||||
required_reagents = list("nitroglycerin" = 1)
|
||||
result_amount = 1
|
||||
required_temp = 474
|
||||
strengthdiv = 2
|
||||
|
||||
@@ -51,7 +48,6 @@
|
||||
name = "Explosion"
|
||||
id = "potassium_explosion"
|
||||
required_reagents = list("water" = 1, "potassium" = 1)
|
||||
result_amount = 2
|
||||
strengthdiv = 10
|
||||
|
||||
/datum/chemical_reaction/reagent_explosion/potassium_explosion/holyboom
|
||||
@@ -84,15 +80,13 @@
|
||||
/datum/chemical_reaction/blackpowder
|
||||
name = "Black Powder"
|
||||
id = "blackpowder"
|
||||
result = "blackpowder"
|
||||
results = list("blackpowder" = 3)
|
||||
required_reagents = list("saltpetre" = 1, "charcoal" = 1, "sulfur" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/reagent_explosion/blackpowder_explosion
|
||||
name = "Black Powder Kaboom"
|
||||
id = "blackpowder_explosion"
|
||||
required_reagents = list("blackpowder" = 1)
|
||||
result_amount = 1
|
||||
required_temp = 474
|
||||
strengthdiv = 6
|
||||
modifier = 1
|
||||
@@ -105,38 +99,32 @@
|
||||
/datum/chemical_reaction/thermite
|
||||
name = "Thermite"
|
||||
id = "thermite"
|
||||
result = "thermite"
|
||||
results = list("thermite" = 3)
|
||||
required_reagents = list("aluminium" = 1, "iron" = 1, "oxygen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/emp_pulse
|
||||
name = "EMP Pulse"
|
||||
id = "emp_pulse"
|
||||
result = null
|
||||
required_reagents = list("uranium" = 1, "iron" = 1) // Yes, laugh, it's the best recipe I could think of that makes a little bit of sense
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/emp_pulse/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
// 100 created volume = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes.
|
||||
// 200 created volume = 8 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades.
|
||||
empulse(location, round(created_volume / 24), round(created_volume / 14), 1)
|
||||
empulse(location, round(created_volume / 12), round(created_volume / 7), 1)
|
||||
holder.clear_reagents()
|
||||
|
||||
/datum/chemical_reaction/stabilizing_agent
|
||||
name = "stabilizing_agent"
|
||||
id = "stabilizing_agent"
|
||||
result = "stabilizing_agent"
|
||||
results = list("stabilizing_agent" = 3)
|
||||
required_reagents = list("iron" = 1, "oxygen" = 1, "hydrogen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
|
||||
/datum/chemical_reaction/clf3
|
||||
name = "Chlorine Trifluoride"
|
||||
id = "clf3"
|
||||
result = "clf3"
|
||||
results = list("clf3" = 4)
|
||||
required_reagents = list("chlorine" = 1, "fluorine" = 3)
|
||||
result_amount = 4
|
||||
required_temp = 424
|
||||
|
||||
/datum/chemical_reaction/clf3/on_reaction(datum/reagents/holder, created_volume)
|
||||
@@ -145,12 +133,10 @@
|
||||
PoolOrNew(/obj/effect/hotspot, turf)
|
||||
holder.chem_temp = 1000 // hot as shit
|
||||
|
||||
|
||||
/datum/chemical_reaction/reagent_explosion/methsplosion/
|
||||
name = "Meth explosion"
|
||||
id = "methboom1"
|
||||
result = "methboom1"
|
||||
result_amount = 1
|
||||
results = list("methboom1" = 1)
|
||||
required_temp = 380 //slightly above the meth mix time.
|
||||
required_reagents = list("methamphetamine" = 1)
|
||||
strengthdiv = 6
|
||||
@@ -166,28 +152,25 @@
|
||||
/datum/chemical_reaction/reagent_explosion/methsplosion/methboom2
|
||||
required_reagents = list("diethylamine" = 1, "iodine" = 1, "phosphorus" = 1, "hydrogen" = 1) //diethylamine is often left over from mixing the ephedrine.
|
||||
required_temp = 300 //room temperature, chilling it even a little will prevent the explosion
|
||||
result_amount = 4
|
||||
results = list("methboom1" = 4) // this is ugly. Sorry goof.
|
||||
|
||||
/datum/chemical_reaction/sorium
|
||||
name = "Sorium"
|
||||
id = "sorium"
|
||||
result = "sorium"
|
||||
results = list("sorium" = 4)
|
||||
required_reagents = list("mercury" = 1, "oxygen" = 1, "nitrogen" = 1, "carbon" = 1)
|
||||
result_amount = 4
|
||||
|
||||
/datum/chemical_reaction/sorium/on_reaction(datum/reagents/holder, created_volume)
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
return
|
||||
holder.remove_reagent("sorium", created_volume)
|
||||
holder.remove_reagent("sorium", created_volume*4)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
var/range = Clamp(sqrt(created_volume), 1, 6)
|
||||
var/range = Clamp(sqrt(created_volume*4), 1, 6)
|
||||
goonchem_vortex(T, 1, range)
|
||||
|
||||
/datum/chemical_reaction/sorium_vortex
|
||||
name = "sorium_vortex"
|
||||
id = "sorium_vortex"
|
||||
result = null
|
||||
result_amount = 1
|
||||
required_reagents = list("sorium" = 1)
|
||||
required_temp = 474
|
||||
|
||||
@@ -196,27 +179,23 @@
|
||||
var/range = Clamp(sqrt(created_volume), 1, 6)
|
||||
goonchem_vortex(T, 1, range)
|
||||
|
||||
|
||||
/datum/chemical_reaction/liquid_dark_matter
|
||||
name = "Liquid Dark Matter"
|
||||
id = "liquid_dark_matter"
|
||||
result = "liquid_dark_matter"
|
||||
results = list("liquid_dark_matter" = 3)
|
||||
required_reagents = list("stable_plasma" = 1, "radium" = 1, "carbon" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/liquid_dark_matter/on_reaction(datum/reagents/holder, created_volume)
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
return
|
||||
holder.remove_reagent("liquid_dark_matter", created_volume)
|
||||
holder.remove_reagent("liquid_dark_matter", created_volume*3)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
var/range = Clamp(sqrt(created_volume), 1, 6)
|
||||
var/range = Clamp(sqrt(created_volume*3), 1, 6)
|
||||
goonchem_vortex(T, 0, range)
|
||||
|
||||
/datum/chemical_reaction/ldm_vortex
|
||||
name = "LDM Vortex"
|
||||
id = "ldm_vortex"
|
||||
result = null
|
||||
result_amount = 1
|
||||
required_reagents = list("liquid_dark_matter" = 1)
|
||||
required_temp = 474
|
||||
|
||||
@@ -228,9 +207,8 @@
|
||||
/datum/chemical_reaction/flash_powder
|
||||
name = "Flash powder"
|
||||
id = "flash_powder"
|
||||
result = "flash_powder"
|
||||
results = list("flash_powder" = 3)
|
||||
required_reagents = list("aluminium" = 1, "potassium" = 1, "sulfur" = 1 )
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/flash_powder/on_reaction(datum/reagents/holder, created_volume)
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
@@ -239,20 +217,18 @@
|
||||
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
|
||||
s.set_up(2, 1, location)
|
||||
s.start()
|
||||
for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/10, location))
|
||||
for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/3, location))
|
||||
if(C.flash_eyes())
|
||||
if(get_dist(C, location) < 4)
|
||||
C.Weaken(5)
|
||||
else
|
||||
C.Stun(5)
|
||||
holder.remove_reagent("flash_powder", created_volume)
|
||||
holder.remove_reagent("flash_powder", created_volume*3)
|
||||
|
||||
/datum/chemical_reaction/flash_powder_flash
|
||||
name = "Flash powder activation"
|
||||
id = "flash_powder_flash"
|
||||
result = null
|
||||
required_reagents = list("flash_powder" = 1)
|
||||
result_amount = 1
|
||||
required_temp = 374
|
||||
|
||||
/datum/chemical_reaction/flash_powder_flash/on_reaction(datum/reagents/holder, created_volume)
|
||||
@@ -270,15 +246,14 @@
|
||||
/datum/chemical_reaction/smoke_powder
|
||||
name = "smoke_powder"
|
||||
id = "smoke_powder"
|
||||
result = "smoke_powder"
|
||||
results = list("smoke_powder" = 3)
|
||||
required_reagents = list("potassium" = 1, "sugar" = 1, "phosphorus" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/smoke_powder/on_reaction(datum/reagents/holder, created_volume)
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
return
|
||||
holder.remove_reagent("smoke_powder", created_volume)
|
||||
var/smoke_radius = round(sqrt(created_volume / 2), 1)
|
||||
holder.remove_reagent("smoke_powder", created_volume*3)
|
||||
var/smoke_radius = round(sqrt(created_volume * 1.5), 1)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
var/datum/effect_system/smoke_spread/chem/S = new
|
||||
S.attach(location)
|
||||
@@ -292,10 +267,8 @@
|
||||
/datum/chemical_reaction/smoke_powder_smoke
|
||||
name = "smoke_powder_smoke"
|
||||
id = "smoke_powder_smoke"
|
||||
result = null
|
||||
required_reagents = list("smoke_powder" = 1)
|
||||
required_temp = 374
|
||||
result_amount = 1
|
||||
secondary = 1
|
||||
mob_react = 1
|
||||
|
||||
@@ -311,22 +284,19 @@
|
||||
if(holder && holder.my_atom)
|
||||
holder.clear_reagents()
|
||||
|
||||
|
||||
|
||||
/datum/chemical_reaction/sonic_powder
|
||||
name = "sonic_powder"
|
||||
id = "sonic_powder"
|
||||
result = "sonic_powder"
|
||||
results = list("sonic_powder" = 3)
|
||||
required_reagents = list("oxygen" = 1, "cola" = 1, "phosphorus" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/sonic_powder/on_reaction(datum/reagents/holder, created_volume)
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
return
|
||||
holder.remove_reagent("sonic_powder", created_volume)
|
||||
holder.remove_reagent("sonic_powder", created_volume*3)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
playsound(location, 'sound/effects/bang.ogg', 25, 1)
|
||||
for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/10, location))
|
||||
for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/3, location))
|
||||
if(C.check_ear_prot())
|
||||
continue
|
||||
C.show_message("<span class='warning'>BANG</span>", 2)
|
||||
@@ -341,10 +311,8 @@
|
||||
/datum/chemical_reaction/sonic_powder_deafen
|
||||
name = "sonic_powder_deafen"
|
||||
id = "sonic_powder_deafen"
|
||||
result = null
|
||||
required_reagents = list("sonic_powder" = 1)
|
||||
required_temp = 374
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/sonic_powder_deafen/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
@@ -365,9 +333,8 @@
|
||||
/datum/chemical_reaction/phlogiston
|
||||
name = "phlogiston"
|
||||
id = "phlogiston"
|
||||
result = "phlogiston"
|
||||
results = list("phlogiston" = 3)
|
||||
required_reagents = list("phosphorus" = 1, "sacid" = 1, "stable_plasma" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/phlogiston/on_reaction(datum/reagents/holder, created_volume)
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
@@ -378,21 +345,17 @@
|
||||
holder.clear_reagents()
|
||||
return
|
||||
|
||||
|
||||
/datum/chemical_reaction/napalm
|
||||
name = "Napalm"
|
||||
id = "napalm"
|
||||
result = "napalm"
|
||||
results = list("napalm" = 3)
|
||||
required_reagents = list("oil" = 1, "welding_fuel" = 1, "ethanol" = 1 )
|
||||
result_amount = 3
|
||||
|
||||
|
||||
/datum/chemical_reaction/cryostylane
|
||||
name = "cryostylane"
|
||||
id = "cryostylane"
|
||||
result = "cryostylane"
|
||||
results = list("cryostylane" = 3)
|
||||
required_reagents = list("water" = 1, "stable_plasma" = 1, "nitrogen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/cryostylane/on_reaction(datum/reagents/holder, created_volume)
|
||||
holder.chem_temp = 20 // cools the fuck down
|
||||
@@ -402,9 +365,8 @@
|
||||
/datum/chemical_reaction/pyrosium
|
||||
name = "pyrosium"
|
||||
id = "pyrosium"
|
||||
result = "pyrosium"
|
||||
results = list("pyrosium" = 3)
|
||||
required_reagents = list("stable_plasma" = 1, "radium" = 1, "phosphorus" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/pyrosium/on_reaction(datum/reagents/holder, created_volume)
|
||||
holder.chem_temp = 20 // also cools the fuck down
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
/datum/chemical_reaction/slimespawn
|
||||
name = "Slime Spawn"
|
||||
id = "m_spawn"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/grey
|
||||
required_other = 1
|
||||
|
||||
@@ -20,9 +18,8 @@
|
||||
/datum/chemical_reaction/slimeinaprov
|
||||
name = "Slime epinephrine"
|
||||
id = "m_inaprov"
|
||||
result = "epinephrine"
|
||||
results = list("epinephrine" = 3)
|
||||
required_reagents = list("water" = 5)
|
||||
result_amount = 3
|
||||
required_other = 1
|
||||
required_container = /obj/item/slime_extract/grey
|
||||
|
||||
@@ -32,9 +29,7 @@
|
||||
/datum/chemical_reaction/slimemonkey
|
||||
name = "Slime Monkey"
|
||||
id = "m_monkey"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/grey
|
||||
required_other = 1
|
||||
|
||||
@@ -48,9 +43,8 @@
|
||||
/datum/chemical_reaction/slimemutate
|
||||
name = "Mutation Toxin"
|
||||
id = "mutationtoxin"
|
||||
result = "mutationtoxin"
|
||||
results = list("mutationtoxin" = 1)
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_other = 1
|
||||
required_container = /obj/item/slime_extract/green
|
||||
|
||||
@@ -61,9 +55,8 @@
|
||||
/datum/chemical_reaction/slimemutate_unstable
|
||||
name = "Unstable Mutation Toxin"
|
||||
id = "unstablemutationtoxin"
|
||||
result = "unstablemutationtoxin"
|
||||
results = list("unstablemutationtoxin" = 1)
|
||||
required_reagents = list("radium" = 1)
|
||||
result_amount = 1
|
||||
required_other = 1
|
||||
required_container = /obj/item/slime_extract/green
|
||||
mix_message = "<span class='info'>The mixture rapidly expands and contracts, its appearance shifting into a sickening green.</span>"
|
||||
@@ -75,9 +68,7 @@
|
||||
/datum/chemical_reaction/slimemetal
|
||||
name = "Slime Metal"
|
||||
id = "m_metal"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/metal
|
||||
required_other = 1
|
||||
|
||||
@@ -106,9 +97,7 @@
|
||||
/datum/chemical_reaction/slimecrit
|
||||
name = "Slime Crit"
|
||||
id = "m_tele"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/gold
|
||||
required_other = 1
|
||||
|
||||
@@ -121,9 +110,7 @@
|
||||
/datum/chemical_reaction/slimecritlesser
|
||||
name = "Slime Crit Lesser"
|
||||
id = "m_tele3"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/gold
|
||||
required_other = 1
|
||||
|
||||
@@ -136,9 +123,7 @@
|
||||
/datum/chemical_reaction/slimecritfriendly
|
||||
name = "Slime Crit Friendly"
|
||||
id = "m_tele5"
|
||||
result = null
|
||||
required_reagents = list("water" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/gold
|
||||
required_other = 1
|
||||
|
||||
@@ -152,9 +137,7 @@
|
||||
/datum/chemical_reaction/slimebork
|
||||
name = "Slime Bork"
|
||||
id = "m_tele2"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/silver
|
||||
required_other = 1
|
||||
|
||||
@@ -201,9 +184,7 @@
|
||||
/datum/chemical_reaction/slimebork2
|
||||
name = "Slime Bork 2"
|
||||
id = "m_tele4"
|
||||
result = null
|
||||
required_reagents = list("water" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/silver
|
||||
required_other = 1
|
||||
|
||||
@@ -232,9 +213,8 @@
|
||||
/datum/chemical_reaction/slimefrost
|
||||
name = "Slime Frost Oil"
|
||||
id = "m_frostoil"
|
||||
result = "frostoil"
|
||||
results = list("frostoil" = 10)
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 10
|
||||
required_container = /obj/item/slime_extract/blue
|
||||
required_other = 1
|
||||
|
||||
@@ -245,9 +225,7 @@
|
||||
/datum/chemical_reaction/slimestabilizer
|
||||
name = "Slime Stabilizer"
|
||||
id = "m_slimestabilizer"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/blue
|
||||
required_other = 1
|
||||
|
||||
@@ -262,9 +240,7 @@
|
||||
/datum/chemical_reaction/slimefreeze
|
||||
name = "Slime Freeze"
|
||||
id = "m_freeze"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/darkblue
|
||||
required_other = 1
|
||||
|
||||
@@ -285,9 +261,7 @@
|
||||
/datum/chemical_reaction/slimefireproof
|
||||
name = "Slime Fireproof"
|
||||
id = "m_fireproof"
|
||||
result = null
|
||||
required_reagents = list("water" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/darkblue
|
||||
required_other = 1
|
||||
|
||||
@@ -300,9 +274,8 @@
|
||||
/datum/chemical_reaction/slimecasp
|
||||
name = "Slime Capsaicin Oil"
|
||||
id = "m_capsaicinoil"
|
||||
result = "capsaicin"
|
||||
results = list("capsaicin" = 10)
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 10
|
||||
required_container = /obj/item/slime_extract/orange
|
||||
required_other = 1
|
||||
|
||||
@@ -312,9 +285,7 @@
|
||||
/datum/chemical_reaction/slimefire
|
||||
name = "Slime fire"
|
||||
id = "m_fire"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/orange
|
||||
required_other = 1
|
||||
|
||||
@@ -336,9 +307,7 @@
|
||||
/datum/chemical_reaction/slimeoverload
|
||||
name = "Slime EMP"
|
||||
id = "m_emp"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/yellow
|
||||
required_other = 1
|
||||
|
||||
@@ -350,9 +319,7 @@
|
||||
/datum/chemical_reaction/slimecell
|
||||
name = "Slime Powercell"
|
||||
id = "m_cell"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/yellow
|
||||
required_other = 1
|
||||
|
||||
@@ -364,9 +331,7 @@
|
||||
/datum/chemical_reaction/slimeglow
|
||||
name = "Slime Glow"
|
||||
id = "m_glow"
|
||||
result = null
|
||||
required_reagents = list("water" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/yellow
|
||||
required_other = 1
|
||||
|
||||
@@ -382,9 +347,7 @@
|
||||
/datum/chemical_reaction/slimepsteroid
|
||||
name = "Slime Steroid"
|
||||
id = "m_steroid"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/purple
|
||||
required_other = 1
|
||||
|
||||
@@ -396,9 +359,8 @@
|
||||
/datum/chemical_reaction/slimejam
|
||||
name = "Slime Jam"
|
||||
id = "m_jam"
|
||||
result = "slimejelly"
|
||||
results = list("slimejelly" = 10)
|
||||
required_reagents = list("sugar" = 1)
|
||||
result_amount = 10
|
||||
required_container = /obj/item/slime_extract/purple
|
||||
required_other = 1
|
||||
|
||||
@@ -410,9 +372,7 @@
|
||||
/datum/chemical_reaction/slimeplasma
|
||||
name = "Slime Plasma"
|
||||
id = "m_plasma"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/darkpurple
|
||||
required_other = 1
|
||||
|
||||
@@ -426,9 +386,7 @@
|
||||
/datum/chemical_reaction/slimemutator
|
||||
name = "Slime Mutator"
|
||||
id = "m_slimemutator"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/red
|
||||
required_other = 1
|
||||
|
||||
@@ -440,9 +398,7 @@
|
||||
/datum/chemical_reaction/slimebloodlust
|
||||
name = "Bloodlust"
|
||||
id = "m_bloodlust"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/red
|
||||
required_other = 1
|
||||
|
||||
@@ -456,9 +412,7 @@
|
||||
/datum/chemical_reaction/slimespeed
|
||||
name = "Slime Speed"
|
||||
id = "m_speed"
|
||||
result = null
|
||||
required_reagents = list("water" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/red
|
||||
required_other = 1
|
||||
|
||||
@@ -472,9 +426,7 @@
|
||||
/datum/chemical_reaction/docility
|
||||
name = "Docility Potion"
|
||||
id = "m_potion"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/pink
|
||||
required_other = 1
|
||||
|
||||
@@ -486,9 +438,7 @@
|
||||
/datum/chemical_reaction/gender
|
||||
name = "Gender Potion"
|
||||
id = "m_gender"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/pink
|
||||
required_other = 1
|
||||
|
||||
@@ -501,9 +451,8 @@
|
||||
/datum/chemical_reaction/slimemutate2
|
||||
name = "Advanced Mutation Toxin"
|
||||
id = "mutationtoxin2"
|
||||
result = "amutationtoxin"
|
||||
results = list("amutationtoxin" = 1)
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_other = 1
|
||||
required_container = /obj/item/slime_extract/black
|
||||
|
||||
@@ -514,9 +463,7 @@
|
||||
/datum/chemical_reaction/slimeexplosion
|
||||
name = "Slime Explosion"
|
||||
id = "m_explosion"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/oil
|
||||
required_other = 1
|
||||
|
||||
@@ -541,8 +488,6 @@
|
||||
/datum/chemical_reaction/slimepotion2
|
||||
name = "Slime Potion 2"
|
||||
id = "m_potion2"
|
||||
result = null
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/lightpink
|
||||
required_reagents = list("plasma" = 1)
|
||||
required_other = 1
|
||||
@@ -556,9 +501,7 @@
|
||||
/datum/chemical_reaction/slimegolem
|
||||
name = "Slime Golem"
|
||||
id = "m_golem"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/adamantine
|
||||
required_other = 1
|
||||
|
||||
@@ -572,9 +515,7 @@
|
||||
/datum/chemical_reaction/slimefloor2
|
||||
name = "Bluespace Floor"
|
||||
id = "m_floor2"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/bluespace
|
||||
required_other = 1
|
||||
|
||||
@@ -588,9 +529,7 @@
|
||||
/datum/chemical_reaction/slimecrystal
|
||||
name = "Slime Crystal"
|
||||
id = "m_crystal"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/bluespace
|
||||
required_other = 1
|
||||
|
||||
@@ -604,9 +543,7 @@
|
||||
/datum/chemical_reaction/slimepsteroid2
|
||||
name = "Slime Steroid 2"
|
||||
id = "m_steroid2"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/cerulean
|
||||
required_other = 1
|
||||
|
||||
@@ -620,9 +557,7 @@
|
||||
/datum/chemical_reaction/slime_territory
|
||||
name = "Slime Territory"
|
||||
id = "s_territory"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/cerulean
|
||||
required_other = 1
|
||||
|
||||
@@ -635,9 +570,7 @@
|
||||
/datum/chemical_reaction/slimestop
|
||||
name = "Slime Stop"
|
||||
id = "m_stop"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/sepia
|
||||
required_other = 1
|
||||
|
||||
@@ -653,9 +586,7 @@
|
||||
/datum/chemical_reaction/slimecamera
|
||||
name = "Slime Camera"
|
||||
id = "m_camera"
|
||||
result = null
|
||||
required_reagents = list("water" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/sepia
|
||||
required_other = 1
|
||||
|
||||
@@ -669,9 +600,7 @@
|
||||
/datum/chemical_reaction/slimefloor
|
||||
name = "Sepia Floor"
|
||||
id = "m_floor"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/sepia
|
||||
required_other = 1
|
||||
|
||||
@@ -688,9 +617,7 @@
|
||||
/datum/chemical_reaction/slimepaint
|
||||
name = "Slime Paint"
|
||||
id = "s_paint"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/pyrite
|
||||
required_other = 1
|
||||
|
||||
@@ -706,9 +633,7 @@
|
||||
/datum/chemical_reaction/slimeRNG
|
||||
name = "Random Core"
|
||||
id = "slimerng"
|
||||
result = null
|
||||
required_reagents = list("plasma" = 1)
|
||||
result_amount = 1
|
||||
required_other = 1
|
||||
required_container = /obj/item/slime_extract/rainbow
|
||||
|
||||
@@ -723,9 +648,7 @@
|
||||
/datum/chemical_reaction/slime_transfer
|
||||
name = "Transfer Potion"
|
||||
id = "slimetransfer"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_other = 1
|
||||
required_container = /obj/item/slime_extract/rainbow
|
||||
|
||||
|
||||
@@ -2,111 +2,96 @@
|
||||
/datum/chemical_reaction/formaldehyde
|
||||
name = "formaldehyde"
|
||||
id = "Formaldehyde"
|
||||
result = "formaldehyde"
|
||||
results = list("formaldehyde" = 3)
|
||||
required_reagents = list("ethanol" = 1, "oxygen" = 1, "silver" = 1)
|
||||
result_amount = 3
|
||||
required_temp = 420
|
||||
|
||||
/datum/chemical_reaction/neurotoxin2
|
||||
name = "neurotoxin2"
|
||||
id = "neurotoxin2"
|
||||
result = "neurotoxin2"
|
||||
results = list("neurotoxin2" = 1)
|
||||
required_reagents = list("space_drugs" = 1)
|
||||
result_amount = 1
|
||||
required_temp = 674
|
||||
|
||||
/datum/chemical_reaction/cyanide
|
||||
name = "Cyanide"
|
||||
id = "cyanide"
|
||||
result = "cyanide"
|
||||
results = list("cyanide" = 3)
|
||||
required_reagents = list("oil" = 1, "ammonia" = 1, "oxygen" = 1)
|
||||
result_amount = 3
|
||||
required_temp = 380
|
||||
|
||||
/datum/chemical_reaction/itching_powder
|
||||
name = "Itching Powder"
|
||||
id = "itching_powder"
|
||||
result = "itching_powder"
|
||||
results = list("itching_powder" = 3)
|
||||
required_reagents = list("welding_fuel" = 1, "ammonia" = 1, "charcoal" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/facid
|
||||
name = "Fluorosulfuric acid"
|
||||
id = "facid"
|
||||
result = "facid"
|
||||
results = list("facid" = 4)
|
||||
required_reagents = list("sacid" = 1, "fluorine" = 1, "hydrogen" = 1, "potassium" = 1)
|
||||
result_amount = 4
|
||||
required_temp = 380
|
||||
|
||||
/datum/chemical_reaction/sulfonal
|
||||
name = "sulfonal"
|
||||
id = "sulfonal"
|
||||
result = "sulfonal"
|
||||
results = list("sulfonal" = 3)
|
||||
required_reagents = list("acetone" = 1, "diethylamine" = 1, "sulfur" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/lipolicide
|
||||
name = "lipolicide"
|
||||
id = "lipolicide"
|
||||
result = "lipolicide"
|
||||
results = list("lipolicide" = 3)
|
||||
required_reagents = list("mercury" = 1, "diethylamine" = 1, "ephedrine" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/mutagen
|
||||
name = "Unstable mutagen"
|
||||
id = "mutagen"
|
||||
result = "mutagen"
|
||||
results = list("mutagen" = 3)
|
||||
required_reagents = list("radium" = 1, "phosphorus" = 1, "chlorine" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/lexorin
|
||||
name = "Lexorin"
|
||||
id = "lexorin"
|
||||
result = "lexorin"
|
||||
results = list("lexorin" = 3)
|
||||
required_reagents = list("plasma" = 1, "hydrogen" = 1, "nitrogen" = 1)
|
||||
result_amount = 3
|
||||
|
||||
/datum/chemical_reaction/chloralhydrate
|
||||
name = "Chloral Hydrate"
|
||||
id = "chloralhydrate"
|
||||
result = "chloralhydrate"
|
||||
results = list("chloralhydrate" = 1)
|
||||
required_reagents = list("ethanol" = 1, "chlorine" = 3, "water" = 1)
|
||||
result_amount = 1
|
||||
|
||||
/datum/chemical_reaction/mutetoxin //i'll just fit this in here snugly between other unfun chemicals :v
|
||||
name = "Mute toxin"
|
||||
id = "mutetoxin"
|
||||
result = "mutetoxin"
|
||||
results = list("mutetoxin" = 2)
|
||||
required_reagents = list("uranium" = 2, "water" = 1, "carbon" = 1)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/zombiepowder
|
||||
name = "Zombie Powder"
|
||||
id = "zombiepowder"
|
||||
result = "zombiepowder"
|
||||
results = list("zombiepowder" = 2)
|
||||
required_reagents = list("carpotoxin" = 5, "morphine" = 5, "copper" = 5)
|
||||
result_amount = 2
|
||||
|
||||
/datum/chemical_reaction/mindbreaker
|
||||
name = "Mindbreaker Toxin"
|
||||
id = "mindbreaker"
|
||||
result = "mindbreaker"
|
||||
results = list("mindbreaker" = 5)
|
||||
required_reagents = list("silicon" = 1, "hydrogen" = 1, "charcoal" = 1)
|
||||
result_amount = 5
|
||||
|
||||
/datum/chemical_reaction/teslium
|
||||
name = "Teslium"
|
||||
id = "teslium"
|
||||
result = "teslium"
|
||||
results = list("teslium" = 3)
|
||||
required_reagents = list("plasma" = 1, "silver" = 1, "blackpowder" = 1)
|
||||
result_amount = 3
|
||||
mix_message = "<span class='danger'>A jet of sparks flies from the mixture as it merges into a flickering slurry.</span>"
|
||||
required_temp = 400
|
||||
|
||||
/datum/chemical_reaction/heparin
|
||||
name = "Heparin"
|
||||
id = "Heparin"
|
||||
result = "heparin"
|
||||
results = list("heparin" = 4)
|
||||
required_reagents = list("formaldehyde" = 1, "sodium" = 1, "chlorine" = 1, "lithium" = 1)
|
||||
result_amount = 4
|
||||
mix_message = "<span class='danger'>The mixture thins and loses all color.</span>"
|
||||
|
||||
Reference in New Issue
Block a user