Merge pull request #15335 from DeltaFire15/synth-chem-time

Synth / IPC kinda-buffs - Chemwarfare Edition
This commit is contained in:
Lin
2021-12-01 00:39:02 +00:00
committed by GitHub
19 changed files with 150 additions and 26 deletions
@@ -142,7 +142,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
var/creatorName
var/mob/living/creator
pH = 10
chemical_flags = REAGENT_ONMOBMERGE | REAGENT_DONOTSPLIT //Procs on_mob_add when merging into a human
chemical_flags = REAGENT_ONMOBMERGE | REAGENT_DONOTSPLIT | REAGENT_ALL_PROCESS //Procs on_mob_add when merging into a human
can_synth = FALSE
value = REAGENT_VALUE_EXCEPTIONAL
@@ -270,7 +270,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
color = "#2C051A" // rgb: , 0, 255
metabolization_rate = 1
taste_description = "extremely bitter chocolate"
chemical_flags = REAGENT_DONOTSPLIT
chemical_flags = REAGENT_DONOTSPLIT | REAGENT_ORGANIC_PROCESS
can_synth = FALSE
/datum/reagent/fermi/enthrallExplo/on_mob_life(mob/living/carbon/M) //Drug them, jitter them, dizzy them, confuse them
@@ -336,7 +336,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
var/startHunger
can_synth = TRUE
taste_description = "a weird chemical fleshy flavour"
chemical_flags = REAGENT_SNEAKYNAME
chemical_flags = REAGENT_SNEAKYNAME | REAGENT_ALL_PROCESS
value = REAGENT_VALUE_RARE
/datum/reagent/impure/SDZF/on_mob_life(mob/living/carbon/M) //If you're bad at fermichem, turns your clone into a zombie instead.
@@ -9,6 +9,7 @@
impure_chem = /datum/reagent/impure/fermiTox // What chemical is metabolised with an inpure reaction
inverse_chem_val = 0.25 // If the impurity is below 0.5, replace ALL of the chem with inverse_chemupon metabolising
inverse_chem = /datum/reagent/impure/fermiTox
chemical_flags = REAGENT_ALL_PROCESS //Lets just default to robots being able to process these funky chems.
//This should process fermichems to find out how pure they are and what effect to do.
@@ -36,7 +37,7 @@
taste_description = "like jerky, whiskey and an off aftertaste of a crypt."
metabolization_rate = 0.2
overdose_threshold = 25
chemical_flags = REAGENT_DONOTSPLIT
chemical_flags = REAGENT_DONOTSPLIT | REAGENT_ALL_PROCESS
pH = 4
can_synth = TRUE
@@ -84,7 +85,7 @@
metabolization_rate = 0.5 * REAGENTS_METABOLISM
inverse_chem_val = 0
var/obj/item/organ/tongue/nT
chemical_flags = REAGENT_DONOTSPLIT
chemical_flags = REAGENT_DONOTSPLIT | REAGENT_ALL_PROCESS
pH = 5
var/obj/item/organ/tongue/T
can_synth = TRUE
@@ -240,7 +241,7 @@
name = "Electromagnetic crystals"
description = "Causes items upon the patient to sometimes short out, as well as causing a shock in the patient, if the residual charge between the crystals builds up to sufficient quantities"
metabolization_rate = 0.5
chemical_flags = REAGENT_INVISIBLE
chemical_flags = REAGENT_INVISIBLE | REAGENT_ALL_PROCESS
//Increases shock events.
/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)
@@ -303,7 +304,7 @@
/datum/reagent/fermi/fermiTest
name = "Fermis Test Reagent"
description = "You should be really careful with this...! Also, how did you get this?"
chemical_flags = REAGENT_FORCEONNEW
chemical_flags = REAGENT_FORCEONNEW | REAGENT_ALL_PROCESS
can_synth = FALSE
/datum/reagent/fermi/fermiTest/on_new(datum/reagents/holder)
@@ -338,7 +339,7 @@
description = "This reagent will consume itself and move the pH of a beaker towards acidity when added to another."
color = "#fbc314"
pH = 0
chemical_flags = REAGENT_FORCEONNEW
chemical_flags = REAGENT_FORCEONNEW | REAGENT_ALL_PROCESS
can_synth = TRUE
var/strength = 1.5
@@ -376,7 +377,7 @@
description = "This reagent will consume itself and move the pH of a beaker towards alkalinity when added to another."
color = "#3853a4"
pH = 14
chemical_flags = REAGENT_FORCEONNEW
chemical_flags = REAGENT_FORCEONNEW | REAGENT_ALL_PROCESS
can_synth = TRUE
var/strength = 1.5
@@ -140,7 +140,16 @@
out_message += "<span class='warning'>A reaction appears to be occuring currently.<span class='notice'>\n"
out_message += "Chemicals found in the beaker:</b>\n"
for(var/datum/reagent/R in cont.reagents.reagent_list)
out_message += "<b>[R.volume]u of [R.name]</b>, <b>Purity:</b> [R.purity], [(scanmode?"[(R.overdose_threshold?"<b>Overdose:</b> [R.overdose_threshold]u, ":"")][(R.addiction_threshold?"<b>Addiction:</b> [R.addiction_threshold]u, ":"")]<b>Base pH:</b> [R.pH].":".")]\n"
var/processtype
if(CHECK_MULTIPLE_BITFIELDS(R.chemical_flags, (REAGENT_ROBOTIC_PROCESS | REAGENT_ORGANIC_PROCESS)))
processtype = "Both robots and organics"
else if(R.chemical_flags & REAGENT_ROBOTIC_PROCESS)
processtype = "Robots only"
else if(R.chemical_flags & REAGENT_ORGANIC_PROCESS)
processtype = "Organics only"
else
processtype = "Noone?! (Report this to Nanotrasen's spacetime department immediately)"
out_message += "<b>[R.volume]u of [R.name]</b>, <b>Purity:</b> [R.purity], [(scanmode?"[(R.overdose_threshold?"<b>Overdose:</b> [R.overdose_threshold]u, ":"")][(R.addiction_threshold?"<b>Addiction:</b> [R.addiction_threshold]u, ":"")]<b>Metabolized by:</b> [processtype], <b>Base pH:</b> [R.pH].":".")]\n"
if(scanmode)
out_message += "<b>Analysis:</b> [R.description]\n"
to_chat(user, "[out_message]</span>")