Merge pull request #15335 from DeltaFire15/synth-chem-time
Synth / IPC kinda-buffs - Chemwarfare Edition
This commit is contained in:
@@ -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 && !is_reagent_processing_invalid(R, src))
|
||||
R.on_mob_dead(src)
|
||||
|
||||
///////////////
|
||||
|
||||
@@ -345,6 +345,8 @@
|
||||
if(owner && reagent)
|
||||
if(!owner.reagent_check(reagent, delta_time, times_fired) != TRUE)
|
||||
return
|
||||
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
|
||||
if(!reagent.metabolizing)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -50,7 +50,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?
|
||||
|
||||
@@ -87,6 +87,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
|
||||
|
||||
@@ -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)*REAGENTS_EFFECT_MULTIPLIER,forced = TRUE)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_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
|
||||
@@ -527,6 +538,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#000000"
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
chemical_flags = REAGENT_ALL_PROCESS
|
||||
taste_description = "ash"
|
||||
pH = 5
|
||||
|
||||
@@ -578,6 +590,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#19C832"
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
chemical_flags = REAGENT_ALL_PROCESS
|
||||
taste_description = "acid"
|
||||
pH = 1.5
|
||||
|
||||
@@ -597,6 +610,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#14FF3C"
|
||||
metabolization_rate = 2 * REAGENTS_METABOLISM
|
||||
chemical_flags = REAGENT_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_PROCESS
|
||||
|
||||
/datum/reagent/medicine/mannitol/on_mob_life(mob/living/carbon/C)
|
||||
C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2*REAGENTS_EFFECT_MULTIPLIER)
|
||||
@@ -1042,6 +1065,7 @@
|
||||
name = "Neurine"
|
||||
description = "Reacts with neural tissue, helping reform damaged connections. Can cure minor traumas."
|
||||
color = "#EEFF8F"
|
||||
chemical_flags = REAGENT_ALL_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_ALL_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_ALL_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_ALL_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_ALL_PROCESS
|
||||
overdose_threshold = 30
|
||||
pH = 9.7
|
||||
|
||||
@@ -1239,6 +1267,7 @@
|
||||
reagent_state = LIQUID
|
||||
pH = 8.5
|
||||
color = "#5dc1f0"
|
||||
chemical_flags = REAGENT_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_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
|
||||
@@ -1688,6 +1726,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#bb2424"
|
||||
metabolization_rate = 0.25 * REAGENTS_METABOLISM
|
||||
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
|
||||
@@ -1742,18 +1781,21 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#D7C9C6"
|
||||
metabolization_rate = 0.2 * REAGENTS_METABOLISM
|
||||
chemical_flags = REAGENT_ALL_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*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.4, 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
|
||||
|
||||
@@ -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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_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.
|
||||
@@ -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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_ALL_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_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")
|
||||
@@ -2117,6 +2137,7 @@
|
||||
color = "#123524" // RGB (18, 53, 36)
|
||||
metabolization_rate = INFINITY
|
||||
can_synth = FALSE
|
||||
chemical_flags = REAGENT_ALL_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_ALL_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_ALL_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_ALL_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_ALL_PROCESS
|
||||
value = REAGENT_VALUE_GLORIOUS
|
||||
|
||||
/datum/reagent/changeling_string/on_mob_metabolize(mob/living/carbon/C)
|
||||
@@ -2377,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"
|
||||
chemical_flags = REAGENT_ALL_PROCESS
|
||||
metabolization_rate = REAGENTS_METABOLISM * 0.25
|
||||
|
||||
|
||||
@@ -2428,6 +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_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)
|
||||
@@ -2507,6 +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_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
|
||||
@@ -2540,6 +2567,7 @@
|
||||
name = "Eldritch Essence"
|
||||
description = "Strange liquid that defies the laws of physics"
|
||||
taste_description = "Ag'hsj'saje'sh"
|
||||
chemical_flags = REAGENT_ALL_PROCESS
|
||||
color = "#1f8016"
|
||||
|
||||
/datum/reagent/eldritch/on_mob_life(mob/living/carbon/M)
|
||||
@@ -2624,6 +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_ALL_PROCESS
|
||||
|
||||
/datum/reagent/red_ichor/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBruteLoss(-50)
|
||||
@@ -2641,6 +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_ALL_PROCESS
|
||||
|
||||
/datum/reagent/green_ichor/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_LUNGS, -100)
|
||||
@@ -2658,6 +2688,7 @@
|
||||
description = "A unknown blue liquid, linked to healing the mind."
|
||||
color = "#0914e0"
|
||||
metabolization_rate = REAGENTS_METABOLISM * 2.5
|
||||
chemical_flags = REAGENT_ALL_PROCESS
|
||||
|
||||
/datum/reagent/blue_ichor/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -100)
|
||||
|
||||
@@ -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_ALL_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_ALL_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_ALL_PROCESS
|
||||
reagent_state = LIQUID
|
||||
color = "#FA00AF"
|
||||
taste_description = "burning"
|
||||
@@ -168,6 +171,7 @@
|
||||
/datum/reagent/napalm
|
||||
name = "Napalm"
|
||||
description = "Very flammable."
|
||||
chemical_flags = REAGENT_ALL_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_ALL_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_ALL_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_ALL_PROCESS
|
||||
taste_description = "charged metal"
|
||||
var/shock_timer = 0
|
||||
value = REAGENT_VALUE_VERY_RARE
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
name = "Unstable mutagen"
|
||||
description = "Might cause unpredictable mutations. Keep away from children."
|
||||
color = "#00FF00"
|
||||
chemical_flags = REAGENT_ALL_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_ALL_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_ALL_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_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
|
||||
|
||||
Reference in New Issue
Block a user