From 5d6978bb2fa581e77178bf8f3824db0b71c5b0be Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Thu, 4 Nov 2021 21:06:42 +0100 Subject: [PATCH 1/9] oh god oh fuck --- code/__DEFINES/reagents.dm | 5 ++ code/_globalvars/bitfields.dm | 4 +- code/modules/mob/living/carbon/life.dm | 2 +- code/modules/reagents/chemistry/holder.dm | 2 + code/modules/reagents/chemistry/reagents.dm | 7 ++- .../chemistry/reagents/alcohol_reagents.dm | 4 -- .../chemistry/reagents/impure_reagents.dm | 2 +- .../chemistry/reagents/medicine_reagents.dm | 46 ++++++++++++++++++- .../chemistry/reagents/other_reagents.dm | 32 ++++++++++++- .../reagents/pyrotechnic_reagents.dm | 7 +++ .../chemistry/reagents/toxin_reagents.dm | 4 ++ .../reagents/chemistry/reagents/MKUltra.dm | 4 +- .../reagents/chemistry/reagents/SDGF.dm | 2 +- .../chemistry/reagents/fermi_reagents.dm | 13 +++--- 14 files changed, 114 insertions(+), 20 deletions(-) diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index 8864e41ae9..92c9bf320b 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -72,6 +72,11 @@ #define REAGENT_FORCEONNEW (1<<5) //Forces a on_new() call without a data overhead #define REAGENT_SNEAKYNAME (1<<6) //When inverted, the inverted chem uses the name of the original chem #define REAGENT_SPLITRETAINVOL (1<<7) //Retains initial volume of chem when splitting +#define REAGENT_ORGANIC_PROCESS (1<<8) //Can be processed by organic carbons - will otherwise slowly dissipate +#define REAGENT_ROBOTIC_PROCESS (1<<9) //Can be processed by robotic carbons - will otherwise slowly dissipate + + +#define INVALID_REAGENT_DISSIPATION 1 //How much of a reagent is removed per reagent tick if invalid processing-flag wise //Chemical reaction flags, for determining reaction specialties #define REACTION_CLEAR_IMPURE (1<<0) //Convert into impure/pure on reaction completion diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index c8e5b72f26..df3b6e5334 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -223,7 +223,9 @@ GLOBAL_LIST_INIT(bitfields, list( "REAGENT_INVISIBLE" = REAGENT_INVISIBLE, "REAGENT_FORCEONNEW" = REAGENT_FORCEONNEW, "REAGENT_SNEAKYNAME" = REAGENT_SNEAKYNAME, - "REAGENT_SPLITRETAINVOL" = REAGENT_SPLITRETAINVOL + "REAGENT_SPLITRETAINVOL" = REAGENT_SPLITRETAINVOL, + "REAGENT_ORGANIC_PROCESS" = REAGENT_ORGANIC_PROCESS, + "REAGENT_ROBOTIC_PROCESS" = REAGENT_ROBOTIC_PROCESS ), "clear_conversion" = list( "REACTION_CLEAR_IMPURE" = REACTION_CLEAR_IMPURE, diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 8516d1decf..278aeebb22 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -39,7 +39,7 @@ //Procs called while dead /mob/living/carbon/proc/handle_death() for(var/datum/reagent/R in reagents.reagent_list) - if(R.chemical_flags & REAGENT_DEAD_PROCESS) + if(R.chemical_flags & REAGENT_DEAD_PROCESS && ((HAS_TRAIT(src, TRAIT_ROBOTIC_ORGANISM) && (R.chemical_flags & REAGENT_ROBOTIC_PROCESS)) || (!HAS_TRAIT(src, TRAIT_ROBOTIC_ORGANISM) && (R.chemical_flags & REAGENT_ORGANIC_PROCESS)))) R.on_mob_dead(src) /////////////// diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 922e14e580..3d5514544e 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -345,6 +345,8 @@ if(owner && reagent) if(!owner.reagent_check(reagent, delta_time, times_fired) != TRUE) return + if((HAS_TRAIT(owner, TRAIT_ROBOTIC_ORGANISM) && !(reagent.chemical_flags & REAGENT_ROBOTIC_PROCESS)) || (!HAS_TRAIT(owner, TRAIT_ROBOTIC_ORGANISM) && !(reagent.chemical_flags & REAGENT_ORGANIC_PROCESS))) + return reagent.on_invalid_process(owner, delta_time, times_fired) if(liverless && !reagent.self_consuming) //need to be metabolized return if(!reagent.metabolizing) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index d6b7201ef9..c717f9dd2c 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -51,7 +51,7 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) var/inverse_chem_val = 0 // If the impurity is below 0.5, replace ALL of the chem with inverse_chemupon metabolising var/inverse_chem // What chem is metabolised when purity is below inverse_chem_val, this shouldn't be made, but if it does, well, I guess I'll know about it. var/metabolizing = FALSE - var/chemical_flags // See fermi/readme.dm REAGENT_DEAD_PROCESS, REAGENT_DONOTSPLIT, REAGENT_ONLYINVERSE, REAGENT_ONMOBMERGE, REAGENT_INVISIBLE, REAGENT_FORCEONNEW, REAGENT_SNEAKYNAME + var/chemical_flags = REAGENT_ORGANIC_PROCESS // See fermi/readme.dm REAGENT_DEAD_PROCESS, REAGENT_DONOTSPLIT, REAGENT_ONLYINVERSE, REAGENT_ONMOBMERGE, REAGENT_INVISIBLE, REAGENT_FORCEONNEW, REAGENT_SNEAKYNAME, REAGENT_ORGANIC_PROCESS, REAGENT_ROBOTIC_PROCESS var/value = REAGENT_VALUE_NONE //How much does it sell for in cargo? var/datum/material/material //are we made of material? @@ -88,6 +88,11 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) if(holder) holder.remove_reagent(type, metabolization_rate * M.metabolism_efficiency) //By default it slowly disappears. +//Called when an reagent is incompatible with its processing carbon (e.g. robot carbon and reagent with only organic processing) +/datum/reagent/proc/on_invalid_process(mob/living/carbon/M) + if(holder) + holder.remove_reagent(type, INVALID_REAGENT_DISSIPATION) //Not influenced by normal metab rate nor efficiency. + //called when a mob processes chems when dead. /datum/reagent/proc/on_mob_dead(mob/living/carbon/M) if(!(chemical_flags & REAGENT_DEAD_PROCESS)) //justincase diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 12c91e145a..ab80c91fd8 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -41,10 +41,6 @@ All effects don't start immediately, but rather get worse over time; the rate is if(!iscarbon(L)) return - var/mob/living/carbon/C = L - if(HAS_TRAIT(C, TRAIT_ROBOTIC_ORGANISM)) - C.reagents.remove_reagent(type, amount, FALSE) - /datum/reagent/consumable/ethanol/on_mob_life(mob/living/carbon/C) if(HAS_TRAIT(C, TRAIT_TOXIC_ALCOHOL)) C.adjustToxLoss((boozepwr/25)*REM,forced = TRUE) diff --git a/code/modules/reagents/chemistry/reagents/impure_reagents.dm b/code/modules/reagents/chemistry/reagents/impure_reagents.dm index 63f62406b5..23cc31d591 100644 --- a/code/modules/reagents/chemistry/reagents/impure_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/impure_reagents.dm @@ -3,7 +3,7 @@ //Invert = Whole conversion /datum/reagent/impure - chemical_flags = REAGENT_INVISIBLE | REAGENT_SNEAKYNAME //by default, it will stay hidden on splitting, but take the name of the source on inverting + chemical_flags = REAGENT_INVISIBLE | REAGENT_SNEAKYNAME | REAGENT_ORGANIC_PROCESS //by default, it will stay hidden on splitting, but take the name of the source on inverting /datum/reagent/impure/fermiTox diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 72a9779726..820ce872af 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -17,6 +17,7 @@ /datum/reagent/medicine/leporazine name = "Leporazine" description = "Leporazine will effectively regulate a patient's body temperature, ensuring it never leaves safe levels." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 8.4 color = "#82b8aa" value = REAGENT_VALUE_COMMON @@ -32,6 +33,7 @@ name = "Adminordrazine" description = "It's magic. We don't have to explain it." color = "#ffffff" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS can_synth = FALSE taste_description = "badmins" value = REAGENT_VALUE_GLORIOUS @@ -103,6 +105,7 @@ name = "Synaptizine" description = "Increases resistance to stuns as well as reducing drowsiness and hallucinations." color = "#FF00FF" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 4 /datum/reagent/medicine/synaptizine/on_mob_life(mob/living/carbon/M) @@ -121,6 +124,7 @@ name = "Diphen-Synaptizine" description = "Reduces drowsiness, hallucinations, and Histamine from body." color = "#EC536D" // rgb: 236, 83, 109 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 5.2 value = REAGENT_VALUE_COMMON @@ -140,6 +144,7 @@ name = "Inacusiate" description = "Instantly restores all hearing to the patient, but does not cure deafness." color = "#6600FF" // rgb: 100, 165, 255 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 2 value = 10 @@ -152,6 +157,7 @@ description = "A chemical mixture with almost magical healing powers. Its main limitation is that the patient's body temperature must be under 270K for it to metabolise correctly." color = "#0000C8" taste_description = "sludge" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 11 value = REAGENT_VALUE_COMMON @@ -183,6 +189,7 @@ color = "#0000C8" taste_description = "muscle" metabolization_rate = 1.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 13 value = REAGENT_VALUE_COMMON @@ -199,6 +206,7 @@ description = "A mixture of cryoxadone and slime jelly, that apparently inverses the requirement for its activation." color = "#f7832a" taste_description = "spicy jelly" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 12 value = REAGENT_VALUE_UNCOMMON @@ -232,6 +240,7 @@ description = "A powder derived from fish toxin, Rezadone can effectively treat genetic damage as well as restoring minor wounds. Overdose will cause intense nausea and minor toxin damage." reagent_state = SOLID color = "#669900" // rgb: 102, 153, 0 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 30 taste_description = "fish" pH = 12.2 @@ -265,6 +274,7 @@ description = "Spaceacillin will prevent a patient from conventionally spreading any diseases they are currently infected with. Also reduces infection in serious burns." color = "#f2f2f2" metabolization_rate = 0.1 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 8.1 //Goon Chems. Ported mainly from Goonstation. Easily mixable (or not so easily) and provide a variety of effects. @@ -394,6 +404,7 @@ reagent_state = LIQUID color = "#DCDCDC" metabolization_rate = 0.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 60 taste_description = "sweetness and salt" var/extra_regen = 0.25 // in addition to acting as temporary blood, also add this much to their actual blood per tick @@ -527,6 +538,7 @@ reagent_state = LIQUID color = "#000000" metabolization_rate = 0.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "ash" pH = 5 @@ -578,6 +590,7 @@ reagent_state = LIQUID color = "#19C832" metabolization_rate = 0.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "acid" pH = 1.5 @@ -597,6 +610,7 @@ reagent_state = LIQUID color = "#14FF3C" metabolization_rate = 2 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 12 //It's a reducing agent /datum/reagent/medicine/potass_iodide/on_mob_life(mob/living/carbon/M) @@ -610,6 +624,7 @@ reagent_state = LIQUID color = "#003153" // RGB 0, 49, 83 metabolization_rate = 0.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 8.9 value = REAGENT_VALUE_COMMON //uncraftable @@ -624,6 +639,7 @@ reagent_state = LIQUID color = "#E6FFF0" metabolization_rate = 0.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 1 //One of the best buffers, NEVERMIND! value = REAGENT_VALUE_UNCOMMON var/healtoxinlover = FALSE @@ -677,6 +693,7 @@ reagent_state = LIQUID color = "#00FFFF" metabolization_rate = 0.25 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 2 /datum/reagent/medicine/salbutamol/on_mob_life(mob/living/carbon/M) @@ -693,6 +710,7 @@ reagent_state = LIQUID color = "#FF6464" metabolization_rate = 0.25 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 11 /datum/reagent/medicine/perfluorodecalin/on_mob_life(mob/living/carbon/human/M) @@ -871,6 +889,7 @@ reagent_state = LIQUID color = "#FFFFFF" metabolization_rate = 0.25 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "dull toxin" pH = 10 @@ -901,6 +920,7 @@ reagent_state = LIQUID color = "#000000" metabolization_rate = 0.25 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 35 pH = 12 value = REAGENT_VALUE_UNCOMMON @@ -931,6 +951,7 @@ reagent_state = LIQUID color = "#D2FFFA" metabolization_rate = 0.25 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 30 pH = 10.2 @@ -966,6 +987,7 @@ reagent_state = LIQUID color = "#A0E85E" metabolization_rate = 0.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "magnets" pH = 0 value = REAGENT_VALUE_RARE @@ -1031,6 +1053,7 @@ description = "Efficiently restores brain damage." color = "#DCDCFF" pH = 10.4 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS /datum/reagent/medicine/mannitol/on_mob_life(mob/living/carbon/C) C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2*REM) @@ -1042,6 +1065,7 @@ name = "Neurine" description = "Reacts with neural tissue, helping reform damaged connections. Can cure minor traumas." color = "#EEFF8F" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS /datum/reagent/medicine/neurine/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(!(method == INJECT)) @@ -1071,6 +1095,7 @@ color = "#5096C8" taste_description = "acid" pH = 2 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS /datum/reagent/medicine/mutadone/on_mob_life(mob/living/carbon/M) M.jitteriness = 0 @@ -1106,6 +1131,7 @@ metabolization_rate = 0.5 * REAGENTS_METABOLISM overdose_threshold = 60 pH = 8.7 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS value = REAGENT_VALUE_RARE /datum/reagent/medicine/stimulants/on_mob_metabolize(mob/living/L) @@ -1144,6 +1170,7 @@ reagent_state = LIQUID color = "#FFFFF0" metabolization_rate = 0.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS pH = 6.7 /datum/reagent/medicine/insulin/on_mob_life(mob/living/carbon/M) @@ -1176,6 +1203,7 @@ description = "Restores oxygen loss. Overdose causes it instead." reagent_state = LIQUID color = "#13d2f0" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 30 pH = 9.7 @@ -1239,6 +1267,7 @@ reagent_state = LIQUID pH = 8.5 color = "#5dc1f0" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS /datum/reagent/medicine/inaprovaline/on_mob_life(mob/living/carbon/M) if(M.losebreath >= 5) @@ -1292,6 +1321,7 @@ reagent_state = SOLID color = "#555555" pH = 11 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS value = REAGENT_VALUE_EXCEPTIONAL /datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/carbon/M) @@ -1313,6 +1343,7 @@ reagent_state = SOLID color = "#555555" pH = 11 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS value = REAGENT_VALUE_VERY_RARE /datum/reagent/medicine/lesser_syndicate_nanites/on_mob_life(mob/living/carbon/M) @@ -1447,6 +1478,7 @@ color = "#C1151D" overdose_threshold = 30 value = REAGENT_VALUE_VERY_RARE + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS /datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/metabolizer, delta_time, times_fired) ..() @@ -1480,6 +1512,7 @@ description = "Drastically increases movement speed." color = "#AE151D" metabolization_rate = 2.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS /datum/reagent/medicine/changelinghaste/on_mob_metabolize(mob/living/L) ..() @@ -1495,6 +1528,7 @@ name = "Corazone" description = "A medication used to treat pain, fever, and inflammation, along with heart attacks." color = "#F5F5F5" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS self_consuming = TRUE pH = 12.5 @@ -1594,6 +1628,7 @@ reagent_state = LIQUID color = "#07E79E" metabolization_rate = 0.25 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 30 pH = 9.12 value = REAGENT_VALUE_COMMON @@ -1629,6 +1664,7 @@ reagent_state = SOLID color = "#FFFFD0" metabolization_rate = 1.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS value = REAGENT_VALUE_UNCOMMON /datum/reagent/medicine/silibinin/on_mob_life(mob/living/carbon/M) @@ -1642,6 +1678,7 @@ reagent_state = SOLID color = "#9423FF" metabolization_rate = 0.25 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 50 taste_description = "numbing bitterness" value = REAGENT_VALUE_RARE @@ -1671,6 +1708,7 @@ taste_mult = 4 can_synth = FALSE overdose_threshold = 30 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS value = REAGENT_VALUE_UNCOMMON // while it's 'rare', it can be milked from the wisdom cow /datum/reagent/medicine/liquid_wisdom/on_mob_life(mob/living/carbon/C) //slightly stronger mannitol, from the wisdom cow @@ -1688,6 +1726,7 @@ reagent_state = LIQUID color = "#bb2424" metabolization_rate = 0.25 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 20 /// How much base clotting we do per bleeding wound, multiplied by the below number for each bleeding wound var/clot_rate = 0.25 @@ -1742,18 +1781,21 @@ reagent_state = LIQUID color = "#D7C9C6" metabolization_rate = 0.2 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 30 /datum/reagent/medicine/system_cleaner/on_mob_life(mob/living/carbon/M) . = ..() if(HAS_TRAIT(M, TRAIT_ROBOTIC_ORGANISM)) - M.adjustToxLoss(-0.2, toxins_type = TOX_SYSCORRUPT) + M.adjustToxLoss(-0.4, toxins_type = TOX_SYSCORRUPT) else M.adjustToxLoss(0.5) + . = 1 /datum/reagent/medicine/system_cleaner/overdose_process(mob/living/carbon/M) . = ..() if(HAS_TRAIT(M, TRAIT_ROBOTIC_ORGANISM)) - M.adjustToxLoss(0.4, toxins_type = TOX_SYSCORRUPT) //inverts its positive effect on overdose, for organics it's just more toxic + M.adjustToxLoss(0.8, toxins_type = TOX_SYSCORRUPT) //inverts its positive effect on overdose, for organics it's just more toxic else M.adjustToxLoss(0.5) + . = 1 diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index bf93c933de..63a85e2f55 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1,6 +1,7 @@ /datum/reagent/blood data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_HUMAN, "blood_type"= null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null,"quirks"=null) name = "Blood" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS value = REAGENT_VALUE_UNCOMMON // $$$ blood ""donations"" $$$ color = BLOOD_COLOR_HUMAN // rgb: 200, 0, 0 description = "Blood from some creature." @@ -223,6 +224,7 @@ /datum/reagent/vaccine //data must contain virus type name = "Vaccine" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS color = "#C81040" // rgb: 200, 16, 64 taste_description = "slime" @@ -243,6 +245,7 @@ description = "An ubiquitous chemical substance that is composed of hydrogen and oxygen." color = "#AAAAAA77" // rgb: 170, 170, 170, 77 (alpha) taste_description = "water" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 150 //Imagine drinking a gallon of water var/cooling_temperature = 2 glass_icon_state = "glass_clear" @@ -339,6 +342,7 @@ name = "Holy Water" description = "Water blessed by some deity." color = "#E0E8EF" // rgb: 224, 232, 239 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS glass_icon_state = "glass_clear" glass_name = "glass of holy water" glass_desc = "A glass of holy water." @@ -474,6 +478,7 @@ name = "Hell Water" description = "YOUR FLESH! IT BURNS!" taste_description = "burning" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS value = REAGENT_VALUE_VERY_RARE /datum/reagent/hellwater/on_mob_life(mob/living/carbon/M) @@ -533,6 +538,7 @@ /datum/reagent/lube name = "Space Lube" description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS color = "#009CA8" // rgb: 0, 156, 168 taste_description = "cherry" // by popular demand var/lube_kind = TURF_WET_LUBE ///What kind of slipperiness gets added to turfs. @@ -644,6 +650,7 @@ description = "A humanizing toxin." color = "#5EFF3B" //RGB: 94, 255, 59 metabolization_rate = INFINITY //So it instantly removes all of itself + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "slime" value = REAGENT_VALUE_RARE var/datum/species/race = /datum/species/human @@ -808,6 +815,7 @@ /datum/reagent/slime_toxin name = "Slime Mutation Toxin" description = "A toxin that turns organic material into slime." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS color = "#5EFF3B" //RGB: 94, 255, 59 taste_description = "slime" metabolization_rate = 0.2 @@ -847,6 +855,7 @@ description = "This toxin will rapidly change the DNA of human beings. Commonly used by Syndicate spies and assassins in need of an emergency ID change." color = "#5EFF3B" //RGB: 94, 255, 59 metabolization_rate = INFINITY + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "slime" value = REAGENT_VALUE_RARE @@ -873,6 +882,7 @@ name = "Gluttony's Blessing" description = "An advanced corruptive toxin produced by something terrible." color = "#5EFF3B" //RGB: 94, 255, 59 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS can_synth = FALSE taste_description = "decay" value = REAGENT_VALUE_GLORIOUS @@ -1086,6 +1096,7 @@ /datum/reagent/radium name = "Radium" description = "Radium is an alkaline earth metal. It is extremely radioactive." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS reagent_state = SOLID color = "#C7C7C7" // rgb: 199,199,199 taste_description = "the colour blue and regret" @@ -1112,6 +1123,7 @@ /datum/reagent/space_cleaner/sterilizine name = "Sterilizine" description = "Sterilizes wounds in preparation for surgery." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS color = "#e6f1f5" // rgb: 200, 165, 220 taste_description = "bitterness" pH = 10.5 @@ -1138,6 +1150,7 @@ reagent_state = SOLID taste_description = "iron" pH = 6 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS overdose_threshold = 30 color = "#c2391d" material = /datum/material/iron @@ -1190,6 +1203,7 @@ /datum/reagent/uranium name ="Uranium" description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS reagent_state = SOLID color = "#B8B8C0" // rgb: 184, 184, 192 taste_description = "the inside of a reactor" @@ -1219,6 +1233,7 @@ /datum/reagent/bluespace name = "Bluespace Dust" description = "A dust composed of microscopic bluespace crystals, with minor space-warping properties." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS reagent_state = SOLID color = "#0000CC" taste_description = "fizzling blue" @@ -1245,6 +1260,7 @@ /datum/reagent/telecrystal name = "Telecrystal Dust" description = "A blood-red dust comprised of something that was much more useful when it was intact." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS //Sure? reagent_state = SOLID color = "#660000" // rgb: 102, 0, 0. taste_description = "contraband" @@ -1269,6 +1285,7 @@ name = "Welding fuel" description = "Required for welders. Flamable." color = "#660000" // rgb: 102, 0, 0 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "gross metal" glass_icon_state = "dr_gibb_glass" glass_name = "glass of welder fuel" @@ -1357,6 +1374,7 @@ name = "EZ Clean" description = "A powerful, acidic cleaner sold by Waffle Co. Affects organic matter while leaving other objects unaffected." metabolization_rate = 1.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "acid" pH = 2 value = REAGENT_VALUE_RARE @@ -1559,6 +1577,7 @@ description = "An unstable experimental gas that greatly increases the energy of those that inhale it" reagent_state = GAS metabolization_rate = 1.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS color = "E1A116" taste_description = "sourness" value = REAGENT_VALUE_EXCEPTIONAL @@ -1827,6 +1846,7 @@ /datum/reagent/colorful_reagent name = "Colorful Reagent" description = "Thoroughly sample the rainbow." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS reagent_state = LIQUID color = "#FFFF00" var/list/random_color_list = list("#00aedb","#a200ff","#f47835","#d41243","#d11141","#00b159","#00aedb","#f37735","#ffc425","#008744","#0057e7","#d62d20","#ffa700") @@ -2117,6 +2137,7 @@ color = "#123524" // RGB (18, 53, 36) metabolization_rate = INFINITY can_synth = FALSE + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "brains" pH = 0.5 value = REAGENT_VALUE_GLORIOUS @@ -2132,6 +2153,7 @@ name = "Magillitis" description = "An experimental serum which causes rapid muscular growth in Hominidae. Side-affects may include hypertrichosis, violent outbursts, and an unending affinity for bananas." reagent_state = LIQUID + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS color = "#00f041" value = REAGENT_VALUE_EXCEPTIONAL @@ -2145,6 +2167,7 @@ description = "A commercial chemical designed to help older men in the bedroom."//not really it just makes you a giant color = "#ff0000"//strong red. rgb 255, 0, 0 var/current_size = RESIZE_DEFAULT_SIZE + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS value = REAGENT_VALUE_COMMON taste_description = "bitterness" // apparently what viagra tastes like @@ -2233,6 +2256,7 @@ color = "#FAFF00" taste_description = "acrid cinnamon" metabolization_rate = 0.2 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS //Sorry robot lings, but you still get this. value = REAGENT_VALUE_UNCOMMON /datum/reagent/bz_metabolites/on_mob_metabolize(mob/living/L) @@ -2320,7 +2344,7 @@ can_synth = FALSE var/datum/dna/original_dna var/reagent_ticks = 0 - chemical_flags = REAGENT_INVISIBLE + chemical_flags = REAGENT_INVISIBLE | REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS value = REAGENT_VALUE_GLORIOUS /datum/reagent/changeling_string/on_mob_metabolize(mob/living/carbon/C) @@ -2428,6 +2452,7 @@ color = "#050096" // rgb: 5, 0, 150 taste_mult = 0 // oderless and tasteless metabolization_rate = 0.1 * REAGENTS_METABOLISM //20 times as long, so it's actually viable to use + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS var/time_multiplier = 1 MINUTES //1 minute per unit of gravitum on objects. Seems overpowered, but the whole thing is very niche /datum/reagent/gravitum/reaction_obj(obj/O, volume) @@ -2507,6 +2532,7 @@ reagent_state = LIQUID color = "#D2FFFA" metabolization_rate = 0.75 * REAGENTS_METABOLISM // 5u (WOUND_DETERMINATION_CRITICAL) will last for ~17 ticks + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS /// Whether we've had at least WOUND_DETERMINATION_SEVERE (2.5u) of determination at any given time. No damage slowdown immunity or indication we're having a second wind if it's just a single moderate wound var/significant = FALSE self_consuming = TRUE @@ -2540,6 +2566,7 @@ name = "Eldritch Essence" description = "Strange liquid that defies the laws of physics" taste_description = "Ag'hsj'saje'sh" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS color = "#1f8016" /datum/reagent/eldritch/on_mob_life(mob/living/carbon/M) @@ -2624,6 +2651,7 @@ description = "A unknown red liquid, linked to healing of most moral wounds." color = "#c10000" metabolization_rate = REAGENTS_METABOLISM * 2.5 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS /datum/reagent/red_ichor/on_mob_life(mob/living/carbon/M) M.adjustBruteLoss(-50) @@ -2641,6 +2669,7 @@ description = "A unknown green liquid, linked to healing of most internal wounds." color = "#158c00" metabolization_rate = REAGENTS_METABOLISM * 2.5 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS /datum/reagent/green_ichor/on_mob_life(mob/living/carbon/M) M.adjustOrganLoss(ORGAN_SLOT_LUNGS, -100) @@ -2658,6 +2687,7 @@ description = "A unknown blue liquid, linked to healing the mind." color = "#0914e0" metabolization_rate = REAGENTS_METABOLISM * 2.5 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS /datum/reagent/blue_ichor/on_mob_life(mob/living/carbon/M) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -100) diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 2e05f66cf8..9d44b7ccb2 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -2,6 +2,7 @@ /datum/reagent/thermite name = "Thermite" description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS reagent_state = SOLID color = "#550000" taste_description = "sweet tasting metal" @@ -44,6 +45,7 @@ reagent_state = LIQUID color = "#FFC8C8" metabolization_rate = 4 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "burning" value = REAGENT_VALUE_COMMON @@ -146,6 +148,7 @@ /datum/reagent/phlogiston name = "Phlogiston" description = "Catches you on fire and makes you ignite." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS reagent_state = LIQUID color = "#FA00AF" taste_description = "burning" @@ -168,6 +171,7 @@ /datum/reagent/napalm name = "Napalm" description = "Very flammable." + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS reagent_state = LIQUID color = "#FA00AF" taste_description = "burning" @@ -197,6 +201,7 @@ color = "#0000DC" metabolization_rate = 0.5 * REAGENTS_METABOLISM taste_description = "bitterness" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS value = REAGENT_VALUE_COMMON /datum/reagent/cryostylane/on_mob_life(mob/living/carbon/M) //TODO: code freezing into an ice cube @@ -215,6 +220,7 @@ description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, Pyrosium slowly heats all other reagents in the container." color = "#64FAC8" metabolization_rate = 0.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "bitterness" value = REAGENT_VALUE_COMMON @@ -230,6 +236,7 @@ reagent_state = LIQUID color = "#20324D" //RGB: 32, 50, 77 metabolization_rate = 0.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS taste_description = "charged metal" var/shock_timer = 0 value = REAGENT_VALUE_VERY_RARE diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 7dd8cac452..2809c31a05 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -35,6 +35,7 @@ name = "Unstable mutagen" description = "Might cause unpredictable mutations. Keep away from children." color = "#00FF00" + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS toxpwr = 0 taste_description = "slime" taste_mult = 0.9 @@ -448,6 +449,7 @@ reagent_state = LIQUID color = "#787878" metabolization_rate = 0.125 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS toxpwr = 0 value = REAGENT_VALUE_VERY_RARE @@ -495,6 +497,7 @@ reagent_state = LIQUID color = "#B4004B" metabolization_rate = 0.5 * REAGENTS_METABOLISM + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS toxpwr = 1 /datum/reagent/toxin/formaldehyde/on_mob_life(mob/living/carbon/M) @@ -869,6 +872,7 @@ description = "A strong mineral acid with the molecular formula H2SO4." color = "#00FF32" toxpwr = 1 + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS //Ever injected acid into a robot? var/acidpwr = 10 //the amount of protection removed from the armour taste_description = "acid" self_consuming = TRUE diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm index a76a8f846c..42baffda25 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm @@ -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_ORGANIC_PROCESS | REAGENT_ROBOTIC_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 diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm index 3725e46b38..9ac52e4a8f 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm @@ -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_ORGANIC_PROCESS | REAGENT_ROBOTIC_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. diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm index c6fae2ff8f..dff09b1840 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -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_ORGANIC_PROCESS | REAGENT_ROBOTIC_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_ORGANIC_PROCESS | REAGENT_ROBOTIC_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_ORGANIC_PROCESS | REAGENT_ROBOTIC_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_ORGANIC_PROCESS | REAGENT_ROBOTIC_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_ORGANIC_PROCESS | REAGENT_ROBOTIC_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_ORGANIC_PROCESS | REAGENT_ROBOTIC_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_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS can_synth = TRUE var/strength = 1.5 From 5cd49dcfd1a1efbc9a433e86701700515f84a351 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Thu, 4 Nov 2021 21:20:27 +0100 Subject: [PATCH 2/9] preservahyde --- code/modules/reagents/chemistry/reagents/other_reagents.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 63a85e2f55..3a7d7be723 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2401,6 +2401,7 @@ description = "A powerful preservation agent, utilizing the preservative effects of formaldehyde with significantly less of the histamine." reagent_state = LIQUID color = "#f7685e" + processing_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS metabolization_rate = REAGENTS_METABOLISM * 0.25 From 1277df1013c0af3228d8947c04378922b1dcb9b2 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Thu, 4 Nov 2021 22:02:51 +0100 Subject: [PATCH 3/9] typod --- code/modules/reagents/chemistry/reagents/other_reagents.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 3a7d7be723..c50449850f 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2401,7 +2401,7 @@ description = "A powerful preservation agent, utilizing the preservative effects of formaldehyde with significantly less of the histamine." reagent_state = LIQUID color = "#f7685e" - processing_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS metabolization_rate = REAGENTS_METABOLISM * 0.25 From 4f8848cfb829533d7c126de430276f77ff869bab Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Fri, 12 Nov 2021 19:09:14 +0100 Subject: [PATCH 4/9] more info chem master and chem analyzer now state who can actually process a chem --- .../reagents/chemistry/machinery/chem_master.dm | 13 +++++++++++-- .../code/modules/reagents/objects/items.dm | 11 ++++++++++- tgui/packages/tgui/interfaces/ChemMaster.js | 3 +++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 285ef70433..c85c0fcfad 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -398,14 +398,23 @@ state = "Gas" var/const/P = 3 //The number of seconds between life ticks var/T = initial(R.metabolization_rate) * (60 / P) + 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)" if(istype(R, /datum/reagent/fermi)) fermianalyze = TRUE var/datum/chemical_reaction/Rcr = get_chemical_reaction(reagent) var/pHpeakCache = (Rcr.OptimalpHMin + Rcr.OptimalpHMax)/2 - analyzeVars = list("name" = initial(R.name), "state" = state, "color" = initial(R.color), "description" = initial(R.description), "metaRate" = T, "overD" = initial(R.overdose_threshold), "addicD" = initial(R.addiction_threshold), "purityF" = R.purity, "inverseRatioF" = initial(R.inverse_chem_val), "purityE" = initial(Rcr.PurityMin), "minTemp" = initial(Rcr.OptimalTempMin), "maxTemp" = initial(Rcr.OptimalTempMax), "eTemp" = initial(Rcr.ExplodeTemp), "pHpeak" = pHpeakCache) + analyzeVars = list("name" = initial(R.name), "state" = state, "color" = initial(R.color), "description" = initial(R.description), "metaRate" = T, "overD" = initial(R.overdose_threshold), "addicD" = initial(R.addiction_threshold), "processType" = processtype, "purityF" = R.purity, "inverseRatioF" = initial(R.inverse_chem_val), "purityE" = initial(Rcr.PurityMin), "minTemp" = initial(Rcr.OptimalTempMin), "maxTemp" = initial(Rcr.OptimalTempMax), "eTemp" = initial(Rcr.ExplodeTemp), "pHpeak" = pHpeakCache) else fermianalyze = FALSE - analyzeVars = list("name" = initial(R.name), "state" = state, "color" = initial(R.color), "description" = initial(R.description), "metaRate" = T, "overD" = initial(R.overdose_threshold), "addicD" = initial(R.addiction_threshold), "purityF" = R.purity) + analyzeVars = list("name" = initial(R.name), "state" = state, "color" = initial(R.color), "description" = initial(R.description), "metaRate" = T, "overD" = initial(R.overdose_threshold), "addicD" = initial(R.addiction_threshold), "processType" = processtype, "purityF" = R.purity) screen = "analyze" return TRUE diff --git a/modular_citadel/code/modules/reagents/objects/items.dm b/modular_citadel/code/modules/reagents/objects/items.dm index f4316b3c58..fa8b98f432 100644 --- a/modular_citadel/code/modules/reagents/objects/items.dm +++ b/modular_citadel/code/modules/reagents/objects/items.dm @@ -140,7 +140,16 @@ out_message += "A reaction appears to be occuring currently.\n" out_message += "Chemicals found in the beaker:\n" for(var/datum/reagent/R in cont.reagents.reagent_list) - out_message += "[R.volume]u of [R.name], Purity: [R.purity], [(scanmode?"[(R.overdose_threshold?"Overdose: [R.overdose_threshold]u, ":"")][(R.addiction_threshold?"Addiction: [R.addiction_threshold]u, ":"")]Base pH: [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 += "[R.volume]u of [R.name], Purity: [R.purity], [(scanmode?"[(R.overdose_threshold?"Overdose: [R.overdose_threshold]u, ":"")][(R.addiction_threshold?"Addiction: [R.addiction_threshold]u, ":"")]Metabolized by: [processtype], Base pH: [R.pH].":".")]\n" if(scanmode) out_message += "Analysis: [R.description]\n" to_chat(user, "[out_message]") diff --git a/tgui/packages/tgui/interfaces/ChemMaster.js b/tgui/packages/tgui/interfaces/ChemMaster.js index 1cf66ae0e4..a6595540d6 100644 --- a/tgui/packages/tgui/interfaces/ChemMaster.js +++ b/tgui/packages/tgui/interfaces/ChemMaster.js @@ -400,6 +400,9 @@ const AnalysisResults = (props, context) => { {analyzeVars.addicD} + + {analyzeVars.processType} + {analyzeVars.purityF} From b4e6b0785d86ee9706542b3362a7461357d7dcd5 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Fri, 12 Nov 2021 19:38:10 +0100 Subject: [PATCH 5/9] chemscan chemscanning (reads: health analyzers mostly) show reagents in grey if not processable due to being invalid --- code/__HELPERS/reagents.dm | 6 ++++++ code/game/objects/items/devices/scanners.dm | 3 ++- code/modules/mob/living/carbon/life.dm | 2 +- code/modules/reagents/chemistry/holder.dm | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/code/__HELPERS/reagents.dm b/code/__HELPERS/reagents.dm index fa655efce4..0ecf82b191 100644 --- a/code/__HELPERS/reagents.dm +++ b/code/__HELPERS/reagents.dm @@ -101,3 +101,9 @@ return GLOB.chemical_reagents_list[input] else return null + +//Checks for if the given reagent R is invalid to process for its passed owner. +/proc/is_reagent_processing_invalid(datum/reagent/R, mob/living/owner) + if(!R || !owner) + return TRUE + return ((HAS_TRAIT(owner, TRAIT_ROBOTIC_ORGANISM) && !(R.chemical_flags & REAGENT_ROBOTIC_PROCESS)) || (!HAS_TRAIT(owner, TRAIT_ROBOTIC_ORGANISM) && !(R.chemical_flags & REAGENT_ORGANIC_PROCESS))) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 0bf7b13646..3ded0310dd 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -467,7 +467,8 @@ GENETICS SCANNER if(length(reagents)) msg += "Subject contains the following reagents:\n" for(var/datum/reagent/R in reagents) - msg += "[R.volume] units of [R.name][R.overdosed == 1 ? " - OVERDOSING" : "."]\n" + var/invalid_reagent = is_reagent_processing_invalid(R, M) + msg += "[invalid_reagent ? "" : ""][R.volume] units of [R.name][invalid_reagent ? "" : ""][R.overdosed == 1 ? " - OVERDOSING" : "."]\n" else msg += "Subject contains no reagents.\n" diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 278aeebb22..196c5ff654 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -39,7 +39,7 @@ //Procs called while dead /mob/living/carbon/proc/handle_death() for(var/datum/reagent/R in reagents.reagent_list) - if(R.chemical_flags & REAGENT_DEAD_PROCESS && ((HAS_TRAIT(src, TRAIT_ROBOTIC_ORGANISM) && (R.chemical_flags & REAGENT_ROBOTIC_PROCESS)) || (!HAS_TRAIT(src, TRAIT_ROBOTIC_ORGANISM) && (R.chemical_flags & REAGENT_ORGANIC_PROCESS)))) + if(R.chemical_flags & REAGENT_DEAD_PROCESS && !is_reagent_processing_invalid(R, src)) R.on_mob_dead(src) /////////////// diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 3d5514544e..7c563b3cb1 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -345,7 +345,7 @@ if(owner && reagent) if(!owner.reagent_check(reagent, delta_time, times_fired) != TRUE) return - if((HAS_TRAIT(owner, TRAIT_ROBOTIC_ORGANISM) && !(reagent.chemical_flags & REAGENT_ROBOTIC_PROCESS)) || (!HAS_TRAIT(owner, TRAIT_ROBOTIC_ORGANISM) && !(reagent.chemical_flags & REAGENT_ORGANIC_PROCESS))) + if(is_reagent_processing_invalid(reagent, owner)) return reagent.on_invalid_process(owner, delta_time, times_fired) if(liverless && !reagent.self_consuming) //need to be metabolized return From 5ef08feb0492c105ad84b8230e8a789af9789dd1 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Fri, 12 Nov 2021 20:01:47 +0100 Subject: [PATCH 6/9] whitespace moment --- tgui/packages/tgui/interfaces/ChemMaster.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tgui/packages/tgui/interfaces/ChemMaster.js b/tgui/packages/tgui/interfaces/ChemMaster.js index a6595540d6..4e71e714dd 100644 --- a/tgui/packages/tgui/interfaces/ChemMaster.js +++ b/tgui/packages/tgui/interfaces/ChemMaster.js @@ -400,9 +400,9 @@ const AnalysisResults = (props, context) => { {analyzeVars.addicD} - - {analyzeVars.processType} - + + {analyzeVars.processType} + {analyzeVars.purityF} From 8ca1015510d1444f9dd142621778fb6cf1694366 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Sat, 13 Nov 2021 03:23:11 +0100 Subject: [PATCH 7/9] reagent_all_process macro --- code/__DEFINES/reagents.dm | 1 + .../chemistry/reagents/medicine_reagents.dm | 80 +++++++++---------- .../chemistry/reagents/other_reagents.dm | 64 +++++++-------- .../reagents/pyrotechnic_reagents.dm | 14 ++-- .../chemistry/reagents/toxin_reagents.dm | 8 +- .../reagents/chemistry/reagents/MKUltra.dm | 2 +- .../reagents/chemistry/reagents/SDGF.dm | 2 +- .../chemistry/reagents/fermi_reagents.dm | 14 ++-- 8 files changed, 93 insertions(+), 92 deletions(-) diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index 92c9bf320b..b5f4906162 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -75,6 +75,7 @@ #define REAGENT_ORGANIC_PROCESS (1<<8) //Can be processed by organic carbons - will otherwise slowly dissipate #define REAGENT_ROBOTIC_PROCESS (1<<9) //Can be processed by robotic carbons - will otherwise slowly dissipate +#define REAGENT_ALL_PROCESS REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS //expand this if you for some reason add more process flags #define INVALID_REAGENT_DISSIPATION 1 //How much of a reagent is removed per reagent tick if invalid processing-flag wise diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 820ce872af..e79cfcf23d 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -17,7 +17,7 @@ /datum/reagent/medicine/leporazine name = "Leporazine" description = "Leporazine will effectively regulate a patient's body temperature, ensuring it never leaves safe levels." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 8.4 color = "#82b8aa" value = REAGENT_VALUE_COMMON @@ -33,7 +33,7 @@ name = "Adminordrazine" description = "It's magic. We don't have to explain it." color = "#ffffff" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS can_synth = FALSE taste_description = "badmins" value = REAGENT_VALUE_GLORIOUS @@ -105,7 +105,7 @@ name = "Synaptizine" description = "Increases resistance to stuns as well as reducing drowsiness and hallucinations." color = "#FF00FF" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 4 /datum/reagent/medicine/synaptizine/on_mob_life(mob/living/carbon/M) @@ -124,7 +124,7 @@ name = "Diphen-Synaptizine" description = "Reduces drowsiness, hallucinations, and Histamine from body." color = "#EC536D" // rgb: 236, 83, 109 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 5.2 value = REAGENT_VALUE_COMMON @@ -144,7 +144,7 @@ name = "Inacusiate" description = "Instantly restores all hearing to the patient, but does not cure deafness." color = "#6600FF" // rgb: 100, 165, 255 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 2 value = 10 @@ -157,7 +157,7 @@ description = "A chemical mixture with almost magical healing powers. Its main limitation is that the patient's body temperature must be under 270K for it to metabolise correctly." color = "#0000C8" taste_description = "sludge" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 11 value = REAGENT_VALUE_COMMON @@ -189,7 +189,7 @@ color = "#0000C8" taste_description = "muscle" metabolization_rate = 1.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 13 value = REAGENT_VALUE_COMMON @@ -206,7 +206,7 @@ description = "A mixture of cryoxadone and slime jelly, that apparently inverses the requirement for its activation." color = "#f7832a" taste_description = "spicy jelly" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 12 value = REAGENT_VALUE_UNCOMMON @@ -240,7 +240,7 @@ description = "A powder derived from fish toxin, Rezadone can effectively treat genetic damage as well as restoring minor wounds. Overdose will cause intense nausea and minor toxin damage." reagent_state = SOLID color = "#669900" // rgb: 102, 153, 0 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 30 taste_description = "fish" pH = 12.2 @@ -274,7 +274,7 @@ description = "Spaceacillin will prevent a patient from conventionally spreading any diseases they are currently infected with. Also reduces infection in serious burns." color = "#f2f2f2" metabolization_rate = 0.1 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 8.1 //Goon Chems. Ported mainly from Goonstation. Easily mixable (or not so easily) and provide a variety of effects. @@ -404,7 +404,7 @@ reagent_state = LIQUID color = "#DCDCDC" metabolization_rate = 0.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 60 taste_description = "sweetness and salt" var/extra_regen = 0.25 // in addition to acting as temporary blood, also add this much to their actual blood per tick @@ -538,7 +538,7 @@ reagent_state = LIQUID color = "#000000" metabolization_rate = 0.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "ash" pH = 5 @@ -590,7 +590,7 @@ reagent_state = LIQUID color = "#19C832" metabolization_rate = 0.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "acid" pH = 1.5 @@ -610,7 +610,7 @@ reagent_state = LIQUID color = "#14FF3C" metabolization_rate = 2 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 12 //It's a reducing agent /datum/reagent/medicine/potass_iodide/on_mob_life(mob/living/carbon/M) @@ -624,7 +624,7 @@ reagent_state = LIQUID color = "#003153" // RGB 0, 49, 83 metabolization_rate = 0.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 8.9 value = REAGENT_VALUE_COMMON //uncraftable @@ -639,7 +639,7 @@ reagent_state = LIQUID color = "#E6FFF0" metabolization_rate = 0.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 1 //One of the best buffers, NEVERMIND! value = REAGENT_VALUE_UNCOMMON var/healtoxinlover = FALSE @@ -693,7 +693,7 @@ reagent_state = LIQUID color = "#00FFFF" metabolization_rate = 0.25 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 2 /datum/reagent/medicine/salbutamol/on_mob_life(mob/living/carbon/M) @@ -710,7 +710,7 @@ reagent_state = LIQUID color = "#FF6464" metabolization_rate = 0.25 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 11 /datum/reagent/medicine/perfluorodecalin/on_mob_life(mob/living/carbon/human/M) @@ -889,7 +889,7 @@ reagent_state = LIQUID color = "#FFFFFF" metabolization_rate = 0.25 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "dull toxin" pH = 10 @@ -920,7 +920,7 @@ reagent_state = LIQUID color = "#000000" metabolization_rate = 0.25 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 35 pH = 12 value = REAGENT_VALUE_UNCOMMON @@ -951,7 +951,7 @@ reagent_state = LIQUID color = "#D2FFFA" metabolization_rate = 0.25 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 30 pH = 10.2 @@ -987,7 +987,7 @@ reagent_state = LIQUID color = "#A0E85E" metabolization_rate = 0.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "magnets" pH = 0 value = REAGENT_VALUE_RARE @@ -1053,7 +1053,7 @@ description = "Efficiently restores brain damage." color = "#DCDCFF" pH = 10.4 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS /datum/reagent/medicine/mannitol/on_mob_life(mob/living/carbon/C) C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2*REM) @@ -1065,7 +1065,7 @@ name = "Neurine" description = "Reacts with neural tissue, helping reform damaged connections. Can cure minor traumas." color = "#EEFF8F" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS /datum/reagent/medicine/neurine/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(!(method == INJECT)) @@ -1095,7 +1095,7 @@ color = "#5096C8" taste_description = "acid" pH = 2 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS /datum/reagent/medicine/mutadone/on_mob_life(mob/living/carbon/M) M.jitteriness = 0 @@ -1131,7 +1131,7 @@ metabolization_rate = 0.5 * REAGENTS_METABOLISM overdose_threshold = 60 pH = 8.7 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS value = REAGENT_VALUE_RARE /datum/reagent/medicine/stimulants/on_mob_metabolize(mob/living/L) @@ -1170,7 +1170,7 @@ reagent_state = LIQUID color = "#FFFFF0" metabolization_rate = 0.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS pH = 6.7 /datum/reagent/medicine/insulin/on_mob_life(mob/living/carbon/M) @@ -1203,7 +1203,7 @@ description = "Restores oxygen loss. Overdose causes it instead." reagent_state = LIQUID color = "#13d2f0" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 30 pH = 9.7 @@ -1267,7 +1267,7 @@ reagent_state = LIQUID pH = 8.5 color = "#5dc1f0" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS /datum/reagent/medicine/inaprovaline/on_mob_life(mob/living/carbon/M) if(M.losebreath >= 5) @@ -1321,7 +1321,7 @@ reagent_state = SOLID color = "#555555" pH = 11 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS value = REAGENT_VALUE_EXCEPTIONAL /datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/carbon/M) @@ -1343,7 +1343,7 @@ reagent_state = SOLID color = "#555555" pH = 11 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS value = REAGENT_VALUE_VERY_RARE /datum/reagent/medicine/lesser_syndicate_nanites/on_mob_life(mob/living/carbon/M) @@ -1478,7 +1478,7 @@ color = "#C1151D" overdose_threshold = 30 value = REAGENT_VALUE_VERY_RARE - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS /datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/metabolizer, delta_time, times_fired) ..() @@ -1512,7 +1512,7 @@ description = "Drastically increases movement speed." color = "#AE151D" metabolization_rate = 2.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS /datum/reagent/medicine/changelinghaste/on_mob_metabolize(mob/living/L) ..() @@ -1528,7 +1528,7 @@ name = "Corazone" description = "A medication used to treat pain, fever, and inflammation, along with heart attacks." color = "#F5F5F5" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS self_consuming = TRUE pH = 12.5 @@ -1628,7 +1628,7 @@ reagent_state = LIQUID color = "#07E79E" metabolization_rate = 0.25 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 30 pH = 9.12 value = REAGENT_VALUE_COMMON @@ -1664,7 +1664,7 @@ reagent_state = SOLID color = "#FFFFD0" metabolization_rate = 1.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS value = REAGENT_VALUE_UNCOMMON /datum/reagent/medicine/silibinin/on_mob_life(mob/living/carbon/M) @@ -1678,7 +1678,7 @@ reagent_state = SOLID color = "#9423FF" metabolization_rate = 0.25 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 50 taste_description = "numbing bitterness" value = REAGENT_VALUE_RARE @@ -1708,7 +1708,7 @@ taste_mult = 4 can_synth = FALSE overdose_threshold = 30 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS value = REAGENT_VALUE_UNCOMMON // while it's 'rare', it can be milked from the wisdom cow /datum/reagent/medicine/liquid_wisdom/on_mob_life(mob/living/carbon/C) //slightly stronger mannitol, from the wisdom cow @@ -1726,7 +1726,7 @@ reagent_state = LIQUID color = "#bb2424" metabolization_rate = 0.25 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 20 /// How much base clotting we do per bleeding wound, multiplied by the below number for each bleeding wound var/clot_rate = 0.25 @@ -1781,7 +1781,7 @@ reagent_state = LIQUID color = "#D7C9C6" metabolization_rate = 0.2 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 30 /datum/reagent/medicine/system_cleaner/on_mob_life(mob/living/carbon/M) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c50449850f..5e7a2ccdf9 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1,7 +1,7 @@ /datum/reagent/blood data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_HUMAN, "blood_type"= null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null,"quirks"=null) name = "Blood" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS value = REAGENT_VALUE_UNCOMMON // $$$ blood ""donations"" $$$ color = BLOOD_COLOR_HUMAN // rgb: 200, 0, 0 description = "Blood from some creature." @@ -224,7 +224,7 @@ /datum/reagent/vaccine //data must contain virus type name = "Vaccine" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS color = "#C81040" // rgb: 200, 16, 64 taste_description = "slime" @@ -245,7 +245,7 @@ description = "An ubiquitous chemical substance that is composed of hydrogen and oxygen." color = "#AAAAAA77" // rgb: 170, 170, 170, 77 (alpha) taste_description = "water" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 150 //Imagine drinking a gallon of water var/cooling_temperature = 2 glass_icon_state = "glass_clear" @@ -342,7 +342,7 @@ name = "Holy Water" description = "Water blessed by some deity." color = "#E0E8EF" // rgb: 224, 232, 239 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS glass_icon_state = "glass_clear" glass_name = "glass of holy water" glass_desc = "A glass of holy water." @@ -478,7 +478,7 @@ name = "Hell Water" description = "YOUR FLESH! IT BURNS!" taste_description = "burning" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS value = REAGENT_VALUE_VERY_RARE /datum/reagent/hellwater/on_mob_life(mob/living/carbon/M) @@ -538,7 +538,7 @@ /datum/reagent/lube name = "Space Lube" description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS color = "#009CA8" // rgb: 0, 156, 168 taste_description = "cherry" // by popular demand var/lube_kind = TURF_WET_LUBE ///What kind of slipperiness gets added to turfs. @@ -650,7 +650,7 @@ description = "A humanizing toxin." color = "#5EFF3B" //RGB: 94, 255, 59 metabolization_rate = INFINITY //So it instantly removes all of itself - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "slime" value = REAGENT_VALUE_RARE var/datum/species/race = /datum/species/human @@ -815,7 +815,7 @@ /datum/reagent/slime_toxin name = "Slime Mutation Toxin" description = "A toxin that turns organic material into slime." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS color = "#5EFF3B" //RGB: 94, 255, 59 taste_description = "slime" metabolization_rate = 0.2 @@ -855,7 +855,7 @@ description = "This toxin will rapidly change the DNA of human beings. Commonly used by Syndicate spies and assassins in need of an emergency ID change." color = "#5EFF3B" //RGB: 94, 255, 59 metabolization_rate = INFINITY - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "slime" value = REAGENT_VALUE_RARE @@ -882,7 +882,7 @@ name = "Gluttony's Blessing" description = "An advanced corruptive toxin produced by something terrible." color = "#5EFF3B" //RGB: 94, 255, 59 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS can_synth = FALSE taste_description = "decay" value = REAGENT_VALUE_GLORIOUS @@ -1096,7 +1096,7 @@ /datum/reagent/radium name = "Radium" description = "Radium is an alkaline earth metal. It is extremely radioactive." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS reagent_state = SOLID color = "#C7C7C7" // rgb: 199,199,199 taste_description = "the colour blue and regret" @@ -1123,7 +1123,7 @@ /datum/reagent/space_cleaner/sterilizine name = "Sterilizine" description = "Sterilizes wounds in preparation for surgery." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS color = "#e6f1f5" // rgb: 200, 165, 220 taste_description = "bitterness" pH = 10.5 @@ -1150,7 +1150,7 @@ reagent_state = SOLID taste_description = "iron" pH = 6 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS overdose_threshold = 30 color = "#c2391d" material = /datum/material/iron @@ -1203,7 +1203,7 @@ /datum/reagent/uranium name ="Uranium" description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS reagent_state = SOLID color = "#B8B8C0" // rgb: 184, 184, 192 taste_description = "the inside of a reactor" @@ -1233,7 +1233,7 @@ /datum/reagent/bluespace name = "Bluespace Dust" description = "A dust composed of microscopic bluespace crystals, with minor space-warping properties." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS reagent_state = SOLID color = "#0000CC" taste_description = "fizzling blue" @@ -1260,7 +1260,7 @@ /datum/reagent/telecrystal name = "Telecrystal Dust" description = "A blood-red dust comprised of something that was much more useful when it was intact." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS //Sure? + chemical_flags = REAGENT_ALL_PROCESS //Sure? reagent_state = SOLID color = "#660000" // rgb: 102, 0, 0. taste_description = "contraband" @@ -1285,7 +1285,7 @@ name = "Welding fuel" description = "Required for welders. Flamable." color = "#660000" // rgb: 102, 0, 0 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "gross metal" glass_icon_state = "dr_gibb_glass" glass_name = "glass of welder fuel" @@ -1374,7 +1374,7 @@ name = "EZ Clean" description = "A powerful, acidic cleaner sold by Waffle Co. Affects organic matter while leaving other objects unaffected." metabolization_rate = 1.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "acid" pH = 2 value = REAGENT_VALUE_RARE @@ -1577,7 +1577,7 @@ description = "An unstable experimental gas that greatly increases the energy of those that inhale it" reagent_state = GAS metabolization_rate = 1.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS color = "E1A116" taste_description = "sourness" value = REAGENT_VALUE_EXCEPTIONAL @@ -1846,7 +1846,7 @@ /datum/reagent/colorful_reagent name = "Colorful Reagent" description = "Thoroughly sample the rainbow." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS reagent_state = LIQUID color = "#FFFF00" var/list/random_color_list = list("#00aedb","#a200ff","#f47835","#d41243","#d11141","#00b159","#00aedb","#f37735","#ffc425","#008744","#0057e7","#d62d20","#ffa700") @@ -2137,7 +2137,7 @@ color = "#123524" // RGB (18, 53, 36) metabolization_rate = INFINITY can_synth = FALSE - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "brains" pH = 0.5 value = REAGENT_VALUE_GLORIOUS @@ -2153,7 +2153,7 @@ name = "Magillitis" description = "An experimental serum which causes rapid muscular growth in Hominidae. Side-affects may include hypertrichosis, violent outbursts, and an unending affinity for bananas." reagent_state = LIQUID - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS color = "#00f041" value = REAGENT_VALUE_EXCEPTIONAL @@ -2167,7 +2167,7 @@ description = "A commercial chemical designed to help older men in the bedroom."//not really it just makes you a giant color = "#ff0000"//strong red. rgb 255, 0, 0 var/current_size = RESIZE_DEFAULT_SIZE - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS value = REAGENT_VALUE_COMMON taste_description = "bitterness" // apparently what viagra tastes like @@ -2256,7 +2256,7 @@ color = "#FAFF00" taste_description = "acrid cinnamon" metabolization_rate = 0.2 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS //Sorry robot lings, but you still get this. + chemical_flags = REAGENT_ALL_PROCESS //Sorry robot lings, but you still get this. value = REAGENT_VALUE_UNCOMMON /datum/reagent/bz_metabolites/on_mob_metabolize(mob/living/L) @@ -2344,7 +2344,7 @@ can_synth = FALSE var/datum/dna/original_dna var/reagent_ticks = 0 - chemical_flags = REAGENT_INVISIBLE | REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_INVISIBLE | REAGENT_ALL_PROCESS value = REAGENT_VALUE_GLORIOUS /datum/reagent/changeling_string/on_mob_metabolize(mob/living/carbon/C) @@ -2401,7 +2401,7 @@ description = "A powerful preservation agent, utilizing the preservative effects of formaldehyde with significantly less of the histamine." reagent_state = LIQUID color = "#f7685e" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS metabolization_rate = REAGENTS_METABOLISM * 0.25 @@ -2453,7 +2453,7 @@ color = "#050096" // rgb: 5, 0, 150 taste_mult = 0 // oderless and tasteless metabolization_rate = 0.1 * REAGENTS_METABOLISM //20 times as long, so it's actually viable to use - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS var/time_multiplier = 1 MINUTES //1 minute per unit of gravitum on objects. Seems overpowered, but the whole thing is very niche /datum/reagent/gravitum/reaction_obj(obj/O, volume) @@ -2533,7 +2533,7 @@ reagent_state = LIQUID color = "#D2FFFA" metabolization_rate = 0.75 * REAGENTS_METABOLISM // 5u (WOUND_DETERMINATION_CRITICAL) will last for ~17 ticks - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS /// Whether we've had at least WOUND_DETERMINATION_SEVERE (2.5u) of determination at any given time. No damage slowdown immunity or indication we're having a second wind if it's just a single moderate wound var/significant = FALSE self_consuming = TRUE @@ -2567,7 +2567,7 @@ name = "Eldritch Essence" description = "Strange liquid that defies the laws of physics" taste_description = "Ag'hsj'saje'sh" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS color = "#1f8016" /datum/reagent/eldritch/on_mob_life(mob/living/carbon/M) @@ -2652,7 +2652,7 @@ description = "A unknown red liquid, linked to healing of most moral wounds." color = "#c10000" metabolization_rate = REAGENTS_METABOLISM * 2.5 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS /datum/reagent/red_ichor/on_mob_life(mob/living/carbon/M) M.adjustBruteLoss(-50) @@ -2670,7 +2670,7 @@ description = "A unknown green liquid, linked to healing of most internal wounds." color = "#158c00" metabolization_rate = REAGENTS_METABOLISM * 2.5 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS /datum/reagent/green_ichor/on_mob_life(mob/living/carbon/M) M.adjustOrganLoss(ORGAN_SLOT_LUNGS, -100) @@ -2688,7 +2688,7 @@ description = "A unknown blue liquid, linked to healing the mind." color = "#0914e0" metabolization_rate = REAGENTS_METABOLISM * 2.5 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS /datum/reagent/blue_ichor/on_mob_life(mob/living/carbon/M) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -100) diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 9d44b7ccb2..94b83bdeca 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -2,7 +2,7 @@ /datum/reagent/thermite name = "Thermite" description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS reagent_state = SOLID color = "#550000" taste_description = "sweet tasting metal" @@ -45,7 +45,7 @@ reagent_state = LIQUID color = "#FFC8C8" metabolization_rate = 4 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "burning" value = REAGENT_VALUE_COMMON @@ -148,7 +148,7 @@ /datum/reagent/phlogiston name = "Phlogiston" description = "Catches you on fire and makes you ignite." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS reagent_state = LIQUID color = "#FA00AF" taste_description = "burning" @@ -171,7 +171,7 @@ /datum/reagent/napalm name = "Napalm" description = "Very flammable." - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS reagent_state = LIQUID color = "#FA00AF" taste_description = "burning" @@ -201,7 +201,7 @@ color = "#0000DC" metabolization_rate = 0.5 * REAGENTS_METABOLISM taste_description = "bitterness" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS value = REAGENT_VALUE_COMMON /datum/reagent/cryostylane/on_mob_life(mob/living/carbon/M) //TODO: code freezing into an ice cube @@ -220,7 +220,7 @@ description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, Pyrosium slowly heats all other reagents in the container." color = "#64FAC8" metabolization_rate = 0.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "bitterness" value = REAGENT_VALUE_COMMON @@ -236,7 +236,7 @@ reagent_state = LIQUID color = "#20324D" //RGB: 32, 50, 77 metabolization_rate = 0.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS taste_description = "charged metal" var/shock_timer = 0 value = REAGENT_VALUE_VERY_RARE diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 2809c31a05..c0199ea47d 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -35,7 +35,7 @@ name = "Unstable mutagen" description = "Might cause unpredictable mutations. Keep away from children." color = "#00FF00" - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS toxpwr = 0 taste_description = "slime" taste_mult = 0.9 @@ -449,7 +449,7 @@ reagent_state = LIQUID color = "#787878" metabolization_rate = 0.125 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS toxpwr = 0 value = REAGENT_VALUE_VERY_RARE @@ -497,7 +497,7 @@ reagent_state = LIQUID color = "#B4004B" metabolization_rate = 0.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_ALL_PROCESS toxpwr = 1 /datum/reagent/toxin/formaldehyde/on_mob_life(mob/living/carbon/M) @@ -872,7 +872,7 @@ description = "A strong mineral acid with the molecular formula H2SO4." color = "#00FF32" toxpwr = 1 - chemical_flags = REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS //Ever injected acid into a robot? + chemical_flags = REAGENT_ALL_PROCESS //Ever injected acid into a robot? var/acidpwr = 10 //the amount of protection removed from the armour taste_description = "acid" self_consuming = TRUE diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm index 42baffda25..2a6e5ed05f 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm @@ -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 | REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS //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 diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm index 9ac52e4a8f..d15d3b360a 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm @@ -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 | REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + 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. diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm index dff09b1840..42591a24bf 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -9,7 +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_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS //Lets just default to robots being able to process these funky chems. + 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. @@ -37,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 | REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_DONOTSPLIT | REAGENT_ALL_PROCESS pH = 4 can_synth = TRUE @@ -85,7 +85,7 @@ metabolization_rate = 0.5 * REAGENTS_METABOLISM inverse_chem_val = 0 var/obj/item/organ/tongue/nT - chemical_flags = REAGENT_DONOTSPLIT | REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_DONOTSPLIT | REAGENT_ALL_PROCESS pH = 5 var/obj/item/organ/tongue/T can_synth = TRUE @@ -241,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 | REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + 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) @@ -304,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 | REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_FORCEONNEW | REAGENT_ALL_PROCESS can_synth = FALSE /datum/reagent/fermi/fermiTest/on_new(datum/reagents/holder) @@ -339,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 | REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_FORCEONNEW | REAGENT_ALL_PROCESS can_synth = TRUE var/strength = 1.5 @@ -377,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 | REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS + chemical_flags = REAGENT_FORCEONNEW | REAGENT_ALL_PROCESS can_synth = TRUE var/strength = 1.5 From f2ea0fac7cbe7d7bcc435d7c17109c584aa47d15 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Sat, 13 Nov 2021 03:25:13 +0100 Subject: [PATCH 8/9] unsafe --- code/__DEFINES/reagents.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index b5f4906162..f6e2002e65 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -75,7 +75,7 @@ #define REAGENT_ORGANIC_PROCESS (1<<8) //Can be processed by organic carbons - will otherwise slowly dissipate #define REAGENT_ROBOTIC_PROCESS (1<<9) //Can be processed by robotic carbons - will otherwise slowly dissipate -#define REAGENT_ALL_PROCESS REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS //expand this if you for some reason add more process flags +#define REAGENT_ALL_PROCESS (REAGENT_ORGANIC_PROCESS | REAGENT_ROBOTIC_PROCESS) //expand this if you for some reason add more process flags #define INVALID_REAGENT_DISSIPATION 1 //How much of a reagent is removed per reagent tick if invalid processing-flag wise From cf767252f68f17a2b4f6174c7dff933031167f91 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Tue, 16 Nov 2021 02:57:00 +0100 Subject: [PATCH 9/9] effect multipler --- .../reagents/chemistry/reagents/medicine_reagents.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index e79cfcf23d..35eeae2231 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1787,15 +1787,15 @@ /datum/reagent/medicine/system_cleaner/on_mob_life(mob/living/carbon/M) . = ..() if(HAS_TRAIT(M, TRAIT_ROBOTIC_ORGANISM)) - M.adjustToxLoss(-0.4, toxins_type = TOX_SYSCORRUPT) + M.adjustToxLoss(-0.4*REAGENTS_EFFECT_MULTIPLIER, toxins_type = TOX_SYSCORRUPT) else - M.adjustToxLoss(0.5) + M.adjustToxLoss(0.5*REAGENTS_EFFECT_MULTIPLIER) . = 1 /datum/reagent/medicine/system_cleaner/overdose_process(mob/living/carbon/M) . = ..() if(HAS_TRAIT(M, TRAIT_ROBOTIC_ORGANISM)) - M.adjustToxLoss(0.8, toxins_type = TOX_SYSCORRUPT) //inverts its positive effect on overdose, for organics it's just more toxic + M.adjustToxLoss(0.8*REAGENTS_EFFECT_MULTIPLIER, toxins_type = TOX_SYSCORRUPT) //inverts its positive effect on overdose, for organics it's just more toxic else - M.adjustToxLoss(0.5) + M.adjustToxLoss(0.5*REAGENTS_EFFECT_MULTIPLIER) . = 1