Chemical splash fixes, distillery fix, and syringe gun fix. (#19219)

* Fixes distillery always using atmos air

Distillery did not have a return_air() proc, so it would default to the atmos air even when piped. This fixes that.

* Fixes syringe guns allowing loading of multiple syringes

* Affect_touch changes

* Some more changes

* Reworks cyanide
This commit is contained in:
Cameron Lennox
2026-02-25 00:03:23 +01:00
committed by GitHub
parent e6f907132f
commit 6107f69299
15 changed files with 120 additions and 18 deletions
@@ -19,6 +19,9 @@
/obj/item/syringe_cartridge/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/reagent_containers/syringe))
if(syringe)
to_chat(user, span_warning("[src] already has a syringe loaded!"))
return
syringe = I
to_chat(user, span_notice("You carefully insert [syringe] into [src]."))
user.remove_from_mob(syringe)
+11 -3
View File
@@ -5,7 +5,7 @@
/obj/machinery/portable_atmospherics/powered/reagent_distillery
name = "chemical distillery"
desc = "A complex machine utilizing state-of-the-art components to mix chemicals at different temperatures."
desc = "A complex machine utilizing state-of-the-art components to mix chemicals at different temperatures. Can be attached to a connector port to utilize gasses."
use_power = USE_POWER_IDLE
icon = 'icons/obj/machines/reagent.dmi'
@@ -24,7 +24,7 @@
var/current_temp = T20C
var/use_atmos = FALSE // If true, this machine will be connectable to ports, and use gas mixtures as the source of heat, rather than its internal controls.
var/use_atmos = FALSE // If true, this machine will use the temperature of the connected gas mixtures as the source of heat, rather than its internal controls.
var/static/radial_examine = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_examine")
var/static/radial_use = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_use")
@@ -366,6 +366,14 @@
/obj/machinery/portable_atmospherics/powered/reagent_distillery/industrial
name = "industrial chemical distillery"
desc = "A gas-operated variant of a chemical distillery. Able to reach much higher, and lower, temperatures through the use of treated gas."
desc = "A gas-operated variant of a chemical distillery. Able to reach much higher, and lower, temperatures through the use of treated gas at the cost of not having an internal heater/cooler."
use_atmos = TRUE
/obj/machinery/portable_atmospherics/powered/reagent_distillery/return_air()
if(connected_port)
var/obj/machinery/atmospherics/portables_connector/our_port = connected_port
if(our_port.network)
return our_port.network.gases[1]
. = ..()
+5 -1
View File
@@ -54,6 +54,10 @@
var/glass_center_of_mass_x = 0
var/glass_center_of_mass_y = 0
///How much (if any) of this reagent penetrates through skin and into the bloodstream. Ranges from 0 (none at all) to 1 (100% transfer from skin to blood).
///This is for chemicals that don't have any special touch effects.
var/dermal_absorption = 0
/datum/reagent/proc/remove_self(var/amount) // Shortcut
if(holder)
holder.remove_reagent(id, amount)
@@ -200,7 +204,7 @@
return
/datum/reagent/proc/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
M.bloodstr.add_reagent(id, removed * 0.25) //Medications that are dermal compatible use affect_touch. Those that aren't apply the reagent to the bloodstream at 25% efficiency.
M.bloodstr.add_reagent(id, removed * dermal_absorption)
return
/datum/reagent/proc/overdose(var/mob/living/carbon/M, var/alien, var/removed) // Overdose effect.
@@ -483,6 +483,7 @@
scannable = SCANNABLE_ADVANCED
color = "#DB5008"
metabolism = REM * 2
dermal_absorption = 0
touch_met = 50 // It's acid!
var/power = 5
var/meltdose = 10 // How much is needed to melt
+2
View File
@@ -21,6 +21,7 @@
reagent_state = LIQUID
metabolism = REM * 0.5
ingest_met = REM * 1.5 /// Be very careful with this, ingestion is weird and will spam high/sober messages horribly!
dermal_absorption = 0
mrate_static = TRUE
overdose = REAGENTS_OVERDOSE
@@ -218,6 +219,7 @@
/datum/reagent/drugs/nicotine
name = REAGENT_NICOTINE
id = REAGENT_ID_NICOTINE
dermal_absorption = 0.5 //Nicotine patches are REAL
description = "A highly addictive stimulant extracted from the tobacco plant."
taste_description = "sour staleness"
color = "#181818"
@@ -871,6 +871,7 @@
scannable = SCANNABLE_ADVANCED
description = "A chemical agent used for self-defense and in police work."
taste_description = "fire"
dermal_absorption = 0
taste_mult = 10
reagent_state = LIQUID
touch_met = 50 // Get rid of it quickly
@@ -1025,6 +1026,7 @@
var/adj_sleepy = 0
var/adj_temp = 0
var/water_based = TRUE
dermal_absorption = 0
wiki_flag = WIKI_DRINK
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
industrial_use = REFINERYEXPORT_REASON_FOOD
@@ -729,6 +729,7 @@
adj_dizzy = 0
adj_drowsy = -5
adj_sleepy = -10
dermal_absorption = 0.15 //Nukies are build different.
glass_name = REAGENT_ID_NUKIE
glass_desc = "A drink to perk you up and refresh you!"
@@ -9,6 +9,7 @@
color = "#00BFFF"
overdose = REAGENTS_OVERDOSE * 2
metabolism = REM * 0.2
dermal_absorption = 0.2
scannable = SCANNABLE_BENEFICIAL
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
industrial_use = REFINERYEXPORT_REASON_DRUG
@@ -54,6 +55,7 @@
color = "#BF0000"
overdose = REAGENTS_OVERDOSE
overdose_mod = 0.25
dermal_absorption = 0.2
scannable = SCANNABLE_BENEFICIAL
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
industrial_use = REFINERYEXPORT_REASON_DRUG
@@ -118,6 +120,7 @@
description = "Calcium carbonate is a calcium salt commonly used as an antacid."
taste_description = "chalk"
reagent_state = SOLID
dermal_absorption = 0 //Solids don't penetrate.
color = "#eae6e3"
overdose = REAGENTS_OVERDOSE * 0.8
metabolism = REM * 0.4
@@ -139,6 +142,7 @@
description = REAGENT_KELOTANE + " is a drug used to treat burns."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#FFA800"
overdose = REAGENTS_OVERDOSE
scannable = SCANNABLE_BENEFICIAL
@@ -161,6 +165,7 @@
taste_description = "bitterness"
taste_mult = 1.5
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#FF8000"
overdose = REAGENTS_OVERDOSE * 0.5
scannable = SCANNABLE_BENEFICIAL
@@ -210,6 +215,7 @@
description = REAGENT_ANTITOXIN + " is a broad-spectrum antitoxin."
taste_description = "a roll of gauze"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#00A000"
scannable = SCANNABLE_BENEFICIAL
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
@@ -233,6 +239,7 @@
id = REAGENT_ID_CARTHATOLINE
description = REAGENT_CARTHATOLINE + " is strong evacuant used to treat severe poisoning."
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#225722"
scannable = SCANNABLE_BENEFICIAL
overdose = REAGENTS_OVERDOSE * 0.5
@@ -271,6 +278,7 @@
description = REAGENT_DEXALIN + " is used in the treatment of oxygen deprivation."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#0080FF"
overdose = REAGENTS_OVERDOSE
scannable = SCANNABLE_BENEFICIAL
@@ -298,6 +306,7 @@
description = REAGENT_DEXALINP + " is used in the treatment of oxygen deprivation. It is highly effective."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#0040FF"
overdose = REAGENTS_OVERDOSE * 0.5
overdose_mod = 1.25
@@ -325,6 +334,7 @@
description = REAGENT_TRICORDRAZINE + " is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#8040FF"
scannable = SCANNABLE_BENEFICIAL
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
@@ -387,6 +397,7 @@
description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly."
taste_description = "overripe bananas"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#8080FF"
metabolism = REM * 0.5
mrate_static = TRUE
@@ -414,6 +425,7 @@
description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' the cloning process when used in conjunction with a cryo tube."
taste_description = "rotten bananas"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#80BFFF"
metabolism = REM * 0.5
mrate_static = TRUE
@@ -442,6 +454,7 @@
description = "A liquid compound based upon those used in cloning. Utilized in cases of toxic shock. May cause liver damage."
taste_description = "meat"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#6b4de3"
metabolism = REM * 0.5
mrate_static = TRUE
@@ -483,6 +496,7 @@
description = "A liquid compound based upon that which is used in the cloning process. Utilized primarily in severe cases of toxic shock."
taste_description = "meat"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#94B21C"
metabolism = REM * 0.5
mrate_static = TRUE
@@ -520,6 +534,7 @@
description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#C8A5DC"
overdose = REAGENTS_OVERDOSE * 2
overdose_mod = 0.75
@@ -547,6 +562,7 @@
description = "A simple, yet effective painkiller."
taste_description = "sourness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#CB68FC"
overdose = REAGENTS_OVERDOSE
overdose_mod = 0.75
@@ -573,6 +589,7 @@
description = "An effective and very addictive painkiller."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#800080"
overdose = 20
overdose_mod = 0.75
@@ -605,6 +622,7 @@
description = REAGENT_SYNAPTIZINE + " is used to treat various diseases."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#99CCFF"
metabolism = REM * 0.05
mrate_static = TRUE
@@ -638,6 +656,7 @@
description = REAGENT_HYPERZINE + " is a highly effective, long lasting, muscle stimulant."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#FF3300"
overdose = REAGENTS_OVERDOSE * 0.5
scannable = SCANNABLE_ADVANCED
@@ -671,6 +690,7 @@
description = REAGENT_ALKYSINE + " is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#FFFF66"
metabolism = REM * 0.25
overdose = REAGENTS_OVERDOSE
@@ -697,6 +717,7 @@
description = "Heals eye damage"
taste_description = "dull toxin"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#C8A5DC"
overdose = REAGENTS_OVERDOSE
scannable = SCANNABLE_BENEFICIAL
@@ -723,6 +744,7 @@
description = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#561EC3"
overdose = 10
overdose_mod = 1.5
@@ -757,6 +779,7 @@
id = REAGENT_ID_OSTEODAXON
description = "An experimental drug used to heal bone fractures."
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#C9BCE3"
metabolism = REM * 0.5
overdose = REAGENTS_OVERDOSE * 0.5
@@ -791,6 +814,7 @@
id = REAGENT_ID_MYELAMINE
description = "Used to rapidly clot hemorrhages by increasing the effectiveness of platelets. An ideal dosage of 10 units will fully heal any internal hemorrhages."
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#4246C7"
metabolism = REM * 0.75
overdose = REAGENTS_OVERDOSE * 0.5
@@ -841,6 +865,7 @@
description = "Used to repair the tissue of the lungs and similar organs."
taste_description = "metallic"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#4444FF"
metabolism = REM * 1.5
overdose = 10
@@ -875,6 +900,7 @@
description = "Used to repair the tissues of the digestive system."
taste_description = "chalk"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#8B4513"
metabolism = REM * 1.5
overdose = 10
@@ -909,6 +935,7 @@
description = "Used to repair the common tissues involved in filtration."
taste_description = "glue"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#D2691E"
metabolism = REM * 1.5
overdose = 10
@@ -945,6 +972,7 @@
description = "Used to repair the specialized tissues involved in the circulatory system."
taste_description = "rust"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#FF4444"
metabolism = REM * 1.5
overdose = 10
@@ -976,6 +1004,7 @@
description = "An experimental powder believed to have the ability to prevent any organ rejection."
taste_description = "flesh"
reagent_state = SOLID
dermal_absorption = 0
color = "#7B4D4F"
overdose = 20
overdose_mod = 1.5
@@ -1033,6 +1062,7 @@
description = "A strange, oily powder used by Malish-Katish to prevent organ rejection."
taste_description = "mordant"
reagent_state = SOLID
dermal_absorption = 0
color = "#84B2B0"
metabolism = REM * 0.06
overdose = 20
@@ -1078,6 +1108,7 @@
description = REAGENT_RYETALYN + " can cure DNA, Cloning, and genetic damage via a catalytic process."
taste_description = "acid"
reagent_state = SOLID
dermal_absorption = 0
scannable = SCANNABLE_BENEFICIAL
color = "#004000"
overdose = REAGENTS_OVERDOSE
@@ -1097,6 +1128,7 @@
description = "A powerful oxidizer that reacts with ethanol."
taste_description = "bitterness"
reagent_state = SOLID
dermal_absorption = 0
scannable = SCANNABLE_BENEFICIAL
color = "#605048"
overdose = REAGENTS_OVERDOSE
@@ -1133,6 +1165,7 @@
description = REAGENT_HYRONALIN + " is a medicinal drug used to counter the effect of radiation poisoning."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#408000"
metabolism = REM * 0.25
overdose = REAGENTS_OVERDOSE
@@ -1152,6 +1185,7 @@
description = REAGENT_ARITHRAZINE + " is an unstable medication used for the most extreme cases of radiation poisoning."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#008000"
metabolism = REM * 0.25
overdose = REAGENTS_OVERDOSE
@@ -1175,6 +1209,7 @@
description = "An all-purpose antiviral agent."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#C1C1C1"
metabolism = REM * 0.25
mrate_static = TRUE
@@ -1206,6 +1241,7 @@
description = "A wide-spectrum antibiotic drug. Powerful and uncomfortable in equal doses."
taste_description = "burnt toast"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#FFB0B0"
mrate_static = TRUE
overdose = 10
@@ -1276,6 +1312,7 @@
description = "An all-purpose painkilling antibiotic gel."
taste_description = "oil"
reagent_state = SOLID
dermal_absorption = 0
color = "#C1C1C8"
metabolism = REM * 0.4
mrate_static = TRUE
@@ -1326,6 +1363,7 @@
description = "Sterilizes wounds in preparation for surgery and thoroughly removes blood. Can additionally be used to prepare a surface for surgery to lower risk of infection."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0 //Custom touch handling.
color = "#C8A5DC"
scannable = SCANNABLE_BENEFICIAL
touch_met = 5
@@ -1379,6 +1417,7 @@
description = "Leporazine can be use to stabilize an individuals body temperature."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#C8A5DC"
overdose = REAGENTS_OVERDOSE
scannable = SCANNABLE_BENEFICIAL
@@ -1404,6 +1443,7 @@
description = "A powder with almost magical properties, this substance can effectively treat genetic damage in humanoids, though excessive consumption has side effects."
taste_description = "bitterness"
reagent_state = SOLID
dermal_absorption = 0 //solid powder
color = "#669900"
overdose = REAGENTS_OVERDOSE
overdose_mod = 2
@@ -1488,6 +1528,7 @@
description = "A rare plant extract with immense, almost magical healing capabilities. Induces a potent psychoactive state, damaging neurons with prolonged use."
taste_description = "honey and sunlight"
reagent_state = LIQUID
dermal_absorption = 0.25
color = "#ffb500"
overdose = REAGENTS_OVERDOSE * 0.50
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
@@ -1511,6 +1552,7 @@
description = "A drug used to stablize vat grown bodies. Often used to control the lifespan of biological experiments." // Who else remembers Cybersix?
taste_description = "burning metal"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#31d422"
overdose = 15
overdose_mod = 1.2
@@ -1572,6 +1614,7 @@
color = "#afeb17"
metabolism = 0.05
scannable = SCANNABLE_BENEFICIAL
dermal_absorption = 0.2
description = "A well respected drug used for treatment of schizophrenia in specific."
overdose = REAGENTS_OVERDOSE * 2
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
@@ -4,6 +4,7 @@
description = "A mild sedative that calms the nerves and relaxes the patient."
taste_description = "milk"
reagent_state = LIQUID
dermal_absorption = 0.2 //Most medication has a much weaker effect as a patch.
color = "#d5e2e5"
scannable = SCANNABLE_BENEFICIAL
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
@@ -71,6 +72,7 @@
taste_description = "sparkles"
taste_mult = 3
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#750404"
overdose = REAGENTS_OVERDOSE * 0.5
scannable = SCANNABLE_BENEFICIAL
@@ -103,13 +105,13 @@
M.remove_a_modifier_of_type(/datum/modifier/faux_resleeving_sickness)
/datum/reagent/prussian_blue //We don't have iodine, so prussian blue we go.
name = REAGENT_PRUSSIANBLUE
id = REAGENT_ID_PRUSSIANBLUE
description = "Prussian Blue is a medication used to temporarily pause the effects of radiation poisoning to allow for treatment. Does not treat radiation sickness on its own."
taste_description = "salt"
reagent_state = SOLID
dermal_absorption = 0.2 //While it /is/ a solid, it's a beneficial medical reagent that should have some use if put into a patch.
color = "#003153" //Blue!
metabolism = REM * 0.25//20 ticks to do things per unit injected. This means injecting 30u will give you 10 minutes to do what you need.
overdose = REAGENTS_OVERDOSE
@@ -129,6 +131,7 @@
description = "A chemical compound that causes a dangerously powerful fat-burning reaction."
taste_description = "blandness"
reagent_state = LIQUID
dermal_absorption = 0.2
scannable = SCANNABLE_BENEFICIAL
color = "#47AD6D"
overdose = REAGENTS_OVERDOSE
@@ -146,6 +149,7 @@
description = "A chemical compound that causes a dangerously powerful fat-adding reaction."
taste_description = "blubber"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#61731C"
scannable = SCANNABLE_BENEFICIAL
overdose = REAGENTS_OVERDOSE
@@ -251,6 +255,7 @@
id = REAGENT_ID_GLAMOUR
description = "This material is from somewhere else, just being near produces changes."
taste_description = "change"
dermal_absorption = 1 //Magic liquid stuff. It immediately clears itself in your system the moment it touches you, so whatever.
reagent_state = LIQUID
color = "#ffffff"
scannable = SCANNABLE_SECRETIVE
@@ -8,6 +8,7 @@
description = "A liquid that is capable of causing a prolonged state of heightened aggression and durability."
taste_description = "metal"
reagent_state = LIQUID
dermal_absorption = 0.2
color = "#ff5555"
metabolism = REM
scannable = SCANNABLE_SECRETIVE
+10 -2
View File
@@ -5,7 +5,8 @@
id = REAGENT_ID_CRAYONDUST
description = "Intensely coloured powder obtained by grinding crayons."
taste_description = "powdered wax"
reagent_state = LIQUID
reagent_state = SOLID
dermal_absorption = 0 //no
color = "#888888"
overdose = 10
scannable = SCANNABLE_ADVANCED
@@ -58,6 +59,7 @@
description = "Intensely coloured ink used in markers."
taste_description = "extremely bitter"
reagent_state = LIQUID
dermal_absorption = 0 //NO
color = "#888888"
overdose = 10
scannable = SCANNABLE_ADVANCED
@@ -115,6 +117,7 @@
description = "This paint will stick to almost any object."
taste_description = "chalk"
reagent_state = LIQUID
dermal_absorption = 0 //NOOOOOOOOOOO
color = "#808080"
overdose = REAGENTS_OVERDOSE * 0.5
color_weight = 20
@@ -377,6 +380,7 @@
description = "Adrenaline is a hormone used as a drug to treat cardiac arrest and other cardiac dysrhythmias resulting in diminished or absent cardiac output."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0.2
scannable = SCANNABLE_BENEFICIAL
color = "#C8A5DC"
mrate_static = TRUE
@@ -397,6 +401,7 @@
taste_description = "water"
color = "#E0E8EF"
mrate_static = TRUE
dermal_absorption = 0.5 //It's so holy it penetrates into your blood.
scannable = SCANNABLE_BENEFICIAL
glass_name = "holy water"
@@ -518,6 +523,7 @@
description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls."
taste_description = "sweet tasting metal"
reagent_state = SOLID
dermal_absorption = 0
scannable = SCANNABLE_ADVANCED
color = "#673910"
touch_met = 50
@@ -548,6 +554,7 @@
description = "A compound used to clean things. Now with 50% more sodium hypochlorite!"
taste_description = "sourness"
reagent_state = LIQUID
dermal_absorption = 0
scannable = SCANNABLE_ADVANCED
color = "#A5F0EE"
touch_met = 50
@@ -682,7 +689,7 @@
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
coolant_modifier = 0.95
/datum/reagent/nitroglycerin
/datum/reagent/nitroglycerin //This immediately explode as soon as it reacts, so you can't actually obtain this.
name = REAGENT_NITROGLYCERIN
id = REAGENT_ID_NITROGLYCERIN
description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol."
@@ -795,6 +802,7 @@
description = "Miniature medical robots that are malfunctioning and cause bodily harm. Fortunately, they cannot self-replicate."
taste_description = "metal"
reagent_state = SOLID
dermal_absorption = 0.1 //Burrow into the skin and get into your bloodstream. This means 60u splashed on someone (with no losses, given splash is lossy) will give them 6u of nanites.
color = "#333333"
metabolism = REM * 3 // Broken nanomachines go a bit slower.
scannable = 1
@@ -3,6 +3,7 @@
id = REAGENT_ID_ADVMUTATIONTOXIN
description = "A corruptive toxin produced by slimes. Turns the subject of the chemical into a Promethean."
reagent_state = LIQUID
dermal_absorption = 0 //Injection only.
color = "#13BC5E"
scannable = SCANNABLE_ADVANCED
supply_conversion_value = REFINERYEXPORT_VALUE_MASSINDUSTRY
@@ -61,6 +62,7 @@
id = REAGENT_ID_FIREFOAM
description = "A historical fire suppressant. Originally believed to simply displace oxygen to starve fires, it actually interferes with the combustion reaction itself. Vastly superior to the cheap water-based extinguishers found on most NT vessels."
reagent_state = LIQUID
dermal_absorption = 0 //Custom touch handling. As funny as PFAS poisoning is.
color = "#A6FAFF"
scannable = SCANNABLE_ADVANCED
taste_description = "the inside of a fire extinguisher"
+26 -9
View File
@@ -12,7 +12,7 @@
filtered_organs = list(O_LIVER, O_KIDNEYS)
scannable = SCANNABLE_DIFFICULT
var/strength = 4 // How much damage it deals per unit
var/skin_danger = 0.2 // The multiplier for how effective the toxin is when making skin contact.
dermal_absorption = 0
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
@@ -28,13 +28,11 @@
M.heal_organ_damage((10/poison_strength) * removed, (10/poison_strength) * removed) //Doses of toxins below 10 units, and 10 strength, are capable of providing useful compounds for repair.
M.adjustToxLoss(poison_strength * removed)
/datum/reagent/toxin/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
affect_blood(M, alien, removed * 0.2)
/datum/reagent/toxin/plasticide
name = REAGENT_PLASTICIDE
id = REAGENT_ID_PLASTICIDE
description = "Liquid plastic, do not eat."
dermal_absorption = 0
taste_description = "plastic"
reagent_state = LIQUID
color = "#CF3600"
@@ -65,6 +63,7 @@
description = "A deadly neurotoxin produced by the dreaded space carp."
taste_description = "fish"
reagent_state = LIQUID
dermal_absorption = 0.4
color = "#003333"
strength = 10
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
@@ -82,7 +81,7 @@
reagent_state = LIQUID
color = "#005555"
strength = 8
skin_danger = 0.4
dermal_absorption = 0.4
wiki_flag = WIKI_SPOILER
supply_conversion_value = REFINERYEXPORT_VALUE_NO
industrial_use = REFINERYEXPORT_REASON_BIOHAZARD
@@ -105,6 +104,7 @@
name = REAGENT_HYDROPHORON
id = REAGENT_ID_HYDROPHORON
description = "An exceptionally flammable molecule formed from deuterium synthesis."
dermal_absorption = 1 //same as phoron
strength = 80
var/fire_mult = 30
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
@@ -119,6 +119,7 @@
M.take_organ_damage(0, removed * 0.1) //being splashed directly with hydrophoron causes minor chemical burns
if(prob(10 * fire_mult))
M.pl_effects()
..()
/datum/reagent/toxin/hydrophoron/touch_turf(var/turf/simulated/T)
if(!istype(T))
@@ -144,6 +145,7 @@
id = REAGENT_ID_LEAD
description = "Elemental Lead."
color = "#273956"
dermal_absorption = 0 //It's lead.
strength = 4
supply_conversion_value = 0.5 SHEET_TO_REAGENT_EQUIVILENT // has sheet value
industrial_use = REFINERYEXPORT_REASON_PRECURSOR
@@ -181,7 +183,7 @@
color = "#9D14DB"
strength = 30
touch_met = 5
skin_danger = 1
dermal_absorption = 1
supply_conversion_value = 5 SHEET_TO_REAGENT_EQUIVILENT // has sheet value
industrial_use = REFINERYEXPORT_REASON_PHORON
coolant_modifier = 0.85
@@ -215,11 +217,12 @@
T.assume_gas(GAS_VOLATILE_FUEL, amount, T20C)
remove_self(amount)
/datum/reagent/toxin/cyanide //Fast and Lethal
/datum/reagent/toxin/cyanide //Fast and Lethal //Fast and lethal my ASS. This shit takes 20 seconds to deal 15 toxins. Eating crayons kills you faster.
name = REAGENT_CYANIDE
id = REAGENT_ID_CYANIDE
description = "A highly toxic chemical."
description = "A highly toxic chemical. Prevents cellular respiration, causing moderate amounts of toxins from cell death, the inability to breathe, and eventual loss of consciousness."
taste_description = "almond"
dermal_absorption = 0 //Splash someone and insta-KO them? No. Make zombie/lich powder for that.
taste_mult = 0.6
reagent_state = LIQUID
color = "#CF3600"
@@ -231,13 +234,16 @@
/datum/reagent/toxin/cyanide/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
..()
M.adjustOxyLoss(10 * removed)
M.Sleeping(1)
M.AdjustLosebreath(5) //Adjusting oxyloss with no losebreath adjustment is useless.
if(dose > 5) //Puts you to sleep if its in your system for too long. This is equivalent to 100 seconds (50 ticks). By this point, you have 75 toxins, ~100 oxyloss, and are good as dead w/o treatment.
M.Sleeping(1)
/datum/reagent/toxin/mold
name = REAGENT_MOLD
id = REAGENT_ID_MOLD
description = "A mold is a fungus that causes biodegradation of natural materials. This variant contains mycotoxins, and is dangerous to humans."
taste_description = "mold"
dermal_absorption = 0
reagent_state = SOLID
strength = 5
wiki_flag = WIKI_SPOILER
@@ -254,6 +260,7 @@
id = REAGENT_ID_EXPIREDMEDICINE
description = "Some form of liquid medicine that is well beyond its shelf date. Administering it now would cause illness."
taste_description = "bitterness"
dermal_absorption = 0
reagent_state = LIQUID
strength = 5
filtered_organs = list(O_SPLEEN)
@@ -276,6 +283,7 @@
description = "A homemade stimulant with some serious side-effects."
taste_description = "sweetness"
taste_mult = 1.8
dermal_absorption = 0.2 //Made with fertilizer, so some penetration ala organophosphate.
color = "#d0583a"
metabolism = REM * 3
overdose = 10
@@ -308,6 +316,7 @@
id = REAGENT_ID_POTASSIUMCHLORIDE
description = "A delicious salt that stops the heart when injected into cardiac muscle."
taste_description = "salt"
dermal_absorption = 0 //it's salt.
reagent_state = SOLID
color = "#FFFFFF"
strength = 0
@@ -336,6 +345,7 @@
id = REAGENT_ID_POTASSIUMCHLOROPHORIDE
description = "A specific chemical based on Potassium Chloride to stop the heart for surgery. Not safe to eat!"
taste_description = "salt"
dermal_absorption = 0 //again, it's salt.
reagent_state = SOLID
color = "#FFFFFF"
strength = 10
@@ -362,6 +372,7 @@
description = "A strong neurotoxin that puts the subject into a death-like state."
taste_description = "numbness"
reagent_state = SOLID
dermal_absorption = 0 //No splashing someone to isnta KO them.
color = "#669900"
metabolism = REM
strength = 3
@@ -395,6 +406,7 @@
description = "A stablized nerve agent that puts the subject into a strange state of un-death."
reagent_state = SOLID
color = "#666666"
dermal_absorption = 0 //Has its own custom affect_touch effect. The parent has this set to 0, but this is just here for the comment.
metabolism = REM * 0.75
mrate_static = TRUE
scannable = SCANNABLE_SECRETIVE
@@ -428,6 +440,7 @@
description = "A chemical mix good for growing plants with."
taste_description = "plant food"
taste_mult = 0.5
dermal_absorption = 0.4 //Organo-phosphate poison... Give them a unique effect someday?
reagent_state = LIQUID
strength = 0.5 // It's not THAT poisonous.
color = "#664330"
@@ -467,6 +480,7 @@
name = REAGENT_PLANTBGONE
id = REAGENT_ID_PLANTBGONE
description = "A harmful toxic mixture to kill plantlife. Do not ingest!"
dermal_absorption = 0.1 //Very weak.
taste_mult = 1
reagent_state = LIQUID
color = "#49002E"
@@ -505,6 +519,7 @@
id = REAGENT_ID_SIFSAP
description = "A natural slurry comprised of fluorescent bacteria native to Sif, in the Vir system."
taste_description = "sour"
dermal_absorption = 0 //Bacteria.
reagent_state = LIQUID
color = "#C6E2FF"
strength = 2
@@ -577,6 +592,7 @@
id = REAGENT_ID_THERMITEV
description = "A biologically produced compound capable of melting steel or other metals, similarly to thermite."
taste_description = "sweet chalk"
dermal_absorption = 0 //It's a powder/solid.
reagent_state = SOLID
color = "#673910"
touch_met = 50
@@ -629,6 +645,7 @@
description = "Lexorin temporarily stops respiration. Causes tissue damage."
taste_description = "acid"
reagent_state = LIQUID
dermal_absorption = 0.2 //Causes tissue damage, so can be presumed to penetrate through the skin somewhat.
color = "#C8A5DC"
overdose = REAGENTS_OVERDOSE
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
@@ -4,6 +4,7 @@
description = "Liquid vaccine against some type of virus."
color = "#C81040"
scannable = SCANNABLE_BENEFICIAL
dermal_absorption = 0.25 //Give virology the ability to make vaccine patches.
taste_description = "antibodies"
supply_conversion_value = REFINERYEXPORT_VALUE_COMMON
industrial_use = REFINERYEXPORT_REASON_MEDSCI
+6 -2
View File
@@ -10,6 +10,7 @@
reagent_state = LIQUID
color = "#FFFF00" // rgb: 255, 255, 0
metabolism = 0.01
dermal_absorption = 1 //Grow patches.
scannable = SCANNABLE_BENEFICIAL
mrate_static = TRUE
supply_conversion_value = REFINERYEXPORT_VALUE_GODTIER
@@ -28,6 +29,7 @@
reagent_state = LIQUID
color = "#800080"
metabolism = 0.01
dermal_absorption = 1 //Shrink patches
mrate_static = TRUE
supply_conversion_value = REFINERYEXPORT_VALUE_GODTIER
industrial_use = REFINERYEXPORT_REASON_MEDSCI
@@ -46,6 +48,7 @@
reagent_state = LIQUID
color = "#00FFFF"
metabolism = 0.01 //One unit will be just enough to bring someone from 200% to 100%
dermal_absorption = 1
mrate_static = TRUE
supply_conversion_value = REFINERYEXPORT_VALUE_GODTIER
industrial_use = REFINERYEXPORT_REASON_MEDSCI
@@ -253,10 +256,11 @@
description = "A potent toxin commonly found in a plethora of species. When exposed to the toxin, causes extreme, paralysis for a prolonged period, with only essential functions of the body being unhindered. Commonly used by covert operatives and used as a crowd control tool."
taste_description = "bitterness"
reagent_state = LIQUID
dermal_absorption = 0 //Too strong.
color = "#37007f"
metabolism = REM * 0.25
overdose = REAGENTS_OVERDOSE
scannable = 0 //YOU ARE NOT SCANNING THE FUNNY PARALYSIS TOXIN. NO. BAD. STAY AWAY.
scannable = 1 //As I found out, this only means if you can detect it or not. Sad.
supply_conversion_value = REFINERYEXPORT_VALUE_HIGHREFINED
industrial_use = REFINERYEXPORT_REASON_WEAPONS
@@ -275,7 +279,7 @@
metabolism = 0.1 //Lasts up to 50 seconds if you give 5 units.
mrate_static = TRUE
overdose = 100 //There is no OD. You already are taking the worst of it.
scannable = 0 //Let's not have medical mechs able to make an extremely strong 'I hit you you fall down in agony' chem.
scannable = 1
supply_conversion_value = REFINERYEXPORT_VALUE_PROCESSED
industrial_use = REFINERYEXPORT_REASON_WEAPONS