Chemical Improvements & Tweaks: Side-effects, overdoses, and more. (#9708)

This commit is contained in:
sadkermit
2020-09-01 13:29:40 +01:00
committed by GitHub
parent 47fbd436df
commit 36dc8a5220
30 changed files with 727 additions and 254 deletions

View File

@@ -18,8 +18,7 @@
#define REAGENTS_PER_SHEET 20
#define MAX_PILL_SPRITE 20 //max icon state of the pill sprites
#define REAGENTS_OVERDOSE 30
#define REAGENTS_OVERDOSE 20
#define REAGENTS_BURNING_TEMP_HIGH T0C + 65 //Temperature at which high temperature burns occur
#define REAGENTS_BURNING_TEMP_HIGH_DAMAGE 0.0001 //Damage per celcius per unit above the REAGENTS_BURNING_TEMP_HIGH define per unit.
#define REAGENTS_BURNING_TEMP_HIGH_DAMAGE_CAP 20 //Maximum amount of burn damage to deal due to high temperature reagents.
@@ -48,6 +47,8 @@
// Apply status effects
#define CE_ALCOHOL "alcohol" // Liver filtering
#define CE_ANTIEMETIC "antiemetic" // suppresses vomiting
#define CE_ITCH "itch" // causes itching
#define CE_NOITCH "noitch" // suppresses itching
#define CE_BERSERK "berserk"
#define CE_CLUMSY "clumsy" // Peridaxon side effects, etc
#define CE_DROPITEM "dropitem" // keloderm side effect

View File

@@ -10,17 +10,17 @@
path = /obj/item/storage/box/sinpockets
/datum/uplink_item/item/medical/combathypo
name = "Combat hypospray"
name = "Combat Hypospray"
item_cost = 5
path = /obj/item/reagent_containers/hypospray/combat
/datum/uplink_item/item/medical/surgery
name = "Surgery kit"
name = "Surgery Kit"
item_cost = 8
path = /obj/item/storage/firstaid/surgery
/datum/uplink_item/item/medical/combat
name = "Combat medical kit"
name = "Combat Medical Kit"
item_cost = 6
path = /obj/item/storage/firstaid/combat
@@ -29,6 +29,11 @@
item_cost = 4
path = /obj/item/storage/box/syndie_kit/stimulants
/datum/uplink_item/item/medical/sideeffectbegone
name = "Box of Sideeffect-Be-Gone Injectors"
item_cost = 3
path = /obj/item/storage/box/syndie_kit/sideeffectbegone
/datum/uplink_item/item/medical/firstaid
name = "Standard First-Aid Kit"
item_cost = 2

View File

@@ -255,6 +255,7 @@
C.lying = FALSE
C.reagents.add_reagent(/datum/reagent/hyperzine, 0.10) //Certainly this can't be abused. - Geeves
C.reagents.add_reagent(/datum/reagent/oxycomorphine, 0.10)
C.reagents.add_reagent(/datum/reagent/synaptizine, 0.5) //To counter oxycomorphine's side-effects.
C.update_canmove()
src.verbs -= /mob/proc/changeling_unstun

View File

@@ -11,6 +11,11 @@
desc = "Highly illegal drug. Trade brain for speed."
starts_with = list(/obj/item/reagent_containers/pill/zoom = 7)
/obj/item/storage/pill_bottle/tranquility
name = "bottle of Tranquility pills"
desc = "Highly illegal drug. Bang - and your stress is gone."
starts_with = list(/obj/item/reagent_containers/pill/tranquility = 7)
/obj/item/reagent_containers/glass/beaker/vial/random
flags = 0
var/list/random_reagent_list = list(list(/datum/reagent/water = 15) = 1, list(/datum/reagent/spacecleaner = 15) = 1)
@@ -18,9 +23,12 @@
/obj/item/reagent_containers/glass/beaker/vial/random/toxin
random_reagent_list = list(
list(/datum/reagent/mindbreaker = 10, /datum/reagent/space_drugs = 20) = 3,
list(/datum/reagent/mercury = 15) = 3,
list(/datum/reagent/toxin/carpotoxin = 15) = 2,
list(/datum/reagent/impedrezene = 15) = 2,
list(/datum/reagent/toxin/dextrotoxin = 10) = 1)
list(/datum/reagent/toxin/dextrotoxin = 10) = 1,
list(/datum/reagent/mental/neurapan = 15) = 2,
list(/datum/reagent/toxin/spectrocybin = 15) = 1)
/obj/item/reagent_containers/glass/beaker/vial/random/Initialize()
. = ..()

View File

@@ -95,12 +95,12 @@
icon_state = "bezerk"
item_state = "bezerk"
starts_with = list(
/obj/item/storage/pill_bottle/bicaridine = 1,
/obj/item/storage/pill_bottle/butazoline = 1,
/obj/item/storage/pill_bottle/dermaline = 1,
/obj/item/storage/pill_bottle/dexalin_plus = 1,
/obj/item/storage/pill_bottle/dylovene = 1,
/obj/item/storage/pill_bottle/mortaphenyl = 1,
/obj/item/reagent_containers/inhaler/hyperzine = 1,
/obj/item/reagent_containers/hypospray/autoinjector/sideeffectbgone = 1,
/obj/item/stack/medical/splint = 1
)
@@ -135,8 +135,10 @@
icon_state = "brute"
item_state = "brute"
starts_with = list(
/obj/item/stack/medical/bruise_pack = 4,
/obj/item/stack/medical/advanced/bruise_pack = 2
/obj/item/stack/medical/bruise_pack = 2,
/obj/item/stack/medical/advanced/bruise_pack = 2,
/obj/item/reagent_containers/pill/bicaridine = 2,
/obj/item/device/healthanalyzer = 1
)
/*
@@ -183,61 +185,66 @@
/obj/item/storage/pill_bottle/antitox
name = "bottle of Dylovene pills"
desc = "Contains pills used to counter toxins."
name = "bottle of 10u Dylovene pills"
desc = "Contains pills used to remove toxic substances from the blood."
starts_with = list(/obj/item/reagent_containers/pill/antitox = 7)
/obj/item/storage/pill_bottle/bicaridine
name = "bottle of Bicaridine pills"
desc = "Contains pills used to stabilize the severely injured."
name = "bottle of 10u Bicaridine pills"
desc = "Contains pills used to treat minor injuries and bleeding."
starts_with = list(/obj/item/reagent_containers/pill/bicaridine = 7)
/obj/item/storage/pill_bottle/dexalin_plus
name = "bottle of Dexalin Plus pills"
name = "bottle of 15u Dexalin Plus pills"
desc = "Contains pills used to treat extreme cases of oxygen deprivation."
starts_with = list(/obj/item/reagent_containers/pill/dexalin_plus = 7)
/obj/item/storage/pill_bottle/dermaline
name = "bottle of Dermaline pills"
desc = "Contains pills used to treat burn wounds."
name = "bottle of 10u Dermaline pills"
desc = "Contains pills used to treat severe burn wounds."
starts_with = list(/obj/item/reagent_containers/pill/dermaline = 7)
/obj/item/storage/pill_bottle/dylovene
name = "bottle of Dylovene pills"
desc = "Contains pills used to treat toxic substances in the blood."
name = "bottle of 15u Dylovene pills"
desc = "Contains pills used to remove toxic substances from the blood."
starts_with = list(/obj/item/reagent_containers/pill/dylovene = 7)
/obj/item/storage/pill_bottle/inaprovaline
name = "bottle of Inaprovaline pills"
desc = "Contains pills used to stabilize patients."
name = "bottle of 10u Inaprovaline pills"
desc = "Contains pills used to stabilize a patient's heart activity."
starts_with = list(/obj/item/reagent_containers/pill/inaprovaline = 7)
/obj/item/storage/pill_bottle/kelotane
name = "bottle of Kelotane pills"
desc = "Contains pills used to treat burns."
name = "bottle of 10u Kelotane pills"
desc = "Contains pills used to treat minor burns."
starts_with = list(/obj/item/reagent_containers/pill/kelotane = 7)
obj/item/storage/pill_bottle/butazoline
name = "bottle of 10u Butazoline pills"
desc = "Contains pills used to severe injuries and bleeding."
starts_with = list(/obj/item/reagent_containers/pill/butazoline = 7)
/obj/item/storage/pill_bottle/cetahydramine
name = "bottle of Cetahydramine pills"
desc = "Often compared to ancient brands, Cetahydramine is a modern chem used to reduce symptoms of allergies. Helps with sneezing."
name = "bottle of 5u Cetahydramine pills"
desc = "Contains pills used to treat coughing, sneezing and itching."
starts_with = list(/obj/item/reagent_containers/pill/cetahydramine = 7)
/obj/item/storage/pill_bottle/mortaphenyl
name = "bottle of Mortaphenyl pills"
desc = "Contains pills used to relieve pain."
name = "bottle of 10u Mortaphenyl pills"
desc = "Contains pills used to relieve severe pain in a trauma setting."
starts_with = list(/obj/item/reagent_containers/pill/mortaphenyl = 7)
/obj/item/storage/pill_bottle/perconol
name = "bottle of Perconol pills"
desc = "Contains pills used to relieve pain and reduce fevers."
name = "bottle of 10u Perconol pills"
desc = "Contains pills used to relieve minor-moderate pain and reduce fevers."
starts_with = list(/obj/item/reagent_containers/pill/perconol = 7)
/obj/item/storage/pill_bottle/minaphobin
name = "bottle of Minaphobin pills"
desc = "Contains pills used to stabilize a patient's mood."
name = "bottle of 5u Minaphobin pills"
desc = "Contains pills used to treat anxiety disorders and depression."
starts_with = list(/obj/item/reagent_containers/pill/minaphobin = 7)
/obj/item/storage/pill_bottle/rmt
name = "bottle of RMT pills"
name = "bottle of 15u RMT pills"
desc = "Contains pills used to remedy the effects of prolonged zero-gravity adaptations."
starts_with = list(/obj/item/reagent_containers/pill/rmt = 7)

View File

@@ -242,3 +242,10 @@
/obj/item/storage/box/syndie_kit/random_weapon/Initialize()
.=..()
desc = "A sleek, sturdy box"
/obj/item/storage/box/syndie_kit/sideeffectbegone
name = "box of sideeffect-be-gone injectors"
desc = "Comes with 2x autoinjectors filled with drugs to counter chemical side-effects. Each injector has 2 uses."
starts_with = list(
/obj/item/reagent_containers/hypospray/autoinjector/sideeffectbgone = 2
)

View File

@@ -151,6 +151,7 @@
/obj/item/bodybag = 2,
/obj/item/bodybag/cryobag = 1,
/obj/item/storage/pill_bottle/kelotane = 2,
/obj/item/storage/pill_bottle/bicaridine = 2,
/obj/item/storage/pill_bottle/antitox = 2,
/obj/item/storage/pill_bottle/mortaphenyl = 2,
/obj/item/reagent_containers/syringe/dylovene = 2,
@@ -167,8 +168,9 @@
/obj/item/storage/firstaid/regular = 3,
/obj/item/storage/firstaid/toxin = 2,
/obj/item/storage/firstaid/o2 = 2,
/obj/item/storage/firstaid/adv = 1,
/obj/item/storage/firstaid/fire = 2
/obj/item/storage/firstaid/fire = 2,
/obj/item/storage/firstaid/brute = 1,
/obj/item/storage/firstaid/adv = 1
)
/obj/random/contraband

View File

@@ -321,6 +321,7 @@ STOCK_ITEM_COMMON(glasses, 1.2)
STOCK_ITEM_COMMON(pills, 1.2)
var/list/options = pick( \
/obj/item/storage/pill_bottle/bicaridine, \
/obj/item/storage/pill_bottle/butazoline, \
/obj/item/storage/pill_bottle/dexalin_plus, \
/obj/item/storage/pill_bottle/dermaline, \
/obj/item/storage/pill_bottle/dylovene, \

View File

@@ -178,6 +178,7 @@
list("nutrients", "glucose", /datum/reagent/nutriment/glucose, 80),
list("saline", "saline", /datum/reagent/saline, 80),
list("hyronalin", "hyronalin", /datum/reagent/hyronalin, 80),
list("synaptizine", "synaptizine", /datum/reagent/synaptizine, 80),
list("radium", "radium", /datum/reagent/radium, 80)
)
@@ -198,6 +199,7 @@
list("nutrients", "glucose", /datum/reagent/nutriment/glucose, 80),
list("saline", "saline", /datum/reagent/saline, 80),
list("hyronalin", "hyronalin", /datum/reagent/hyronalin, 20),
list("synaptizine", "synaptizine", /datum/reagent/synaptizine, 20),
list("radium", "radium", /datum/reagent/radium, 20)
)
@@ -250,7 +252,7 @@
if(!charge)
return FALSE
var/chems_to_use = 10
var/chems_to_use = 5
if(charge.charges <= 0)
to_chat(user, SPAN_WARNING("Insufficient chems!"))
return FALSE

View File

@@ -386,6 +386,7 @@
/datum/reagent/alkysine,
/datum/reagent/aslimetoxin,
/datum/reagent/bicaridine,
/datum/reagent/butazoline,
/datum/reagent/blood,
/datum/reagent/cryoxadone,
/datum/reagent/cryptobiolin,

View File

@@ -18,7 +18,7 @@
//Healing vars
var/obj/item/reagent_containers/glass/reagent_glass = null //Can be set to draw from this for reagents.
var/currently_healing = 0
var/injection_amount = 15 //How much reagent do we inject at a time?
var/injection_amount = 10 //How much reagent do we inject at a time?
var/heal_threshold = 10 //Start healing when they have this much damage in a category
var/use_beaker = 0 //Use reagents in beaker instead of default treatment agents.
var/treatment_brute = /datum/reagent/tricordrazine

View File

@@ -610,6 +610,17 @@
if(prob(nausea))
delayed_vomit()
if(CE_ITCH in chem_effects)
var/itching = chem_effects[CE_ITCH]
if(CE_NOITCH in chem_effects)
itching -= chem_effects[CE_NOITCH]
if(itching < 5)
if(prob(5))
to_chat(src, SPAN_WARNING(pick("You have an annoying itch.", "You have a slight itch.")))
if(itching >= 5)
if(prob(2))
to_chat(src, SPAN_WARNING(pick("The itch is becoming progressively worse.", "You need to scratch that itch!", "The itch isn't going!")))
if(CE_FEVER in chem_effects)
var/normal_temp = species?.body_temperature || (T0C+37)
var/fever = chem_effects[CE_FEVER]

View File

@@ -205,7 +205,7 @@
to_chat(src, SPAN_WARNING("You don't have enough chemicals!"))
return
var/list/choices = list("Inaprovaline" = /datum/reagent/inaprovaline, "Bicaridine" = /datum/reagent/bicaridine, "Kelotane" = /datum/reagent/kelotane, "Dylovene" = /datum/reagent/dylovene, "Hyperzine" = /datum/reagent/hyperzine, "Peridaxon" = /datum/reagent/peridaxon, "Mortaphenyl" = /datum/reagent/mortaphenyl, "Neurostabin" = /datum/reagent/mental/neurostabin)
var/list/choices = list("Inaprovaline" = /datum/reagent/inaprovaline, "Bicaridine" = /datum/reagent/bicaridine, "Kelotane" = /datum/reagent/kelotane, "Dylovene" = /datum/reagent/dylovene, "Hyperzine" = /datum/reagent/hyperzine, "Peridaxon" = /datum/reagent/peridaxon, "Mortaphenyl" = /datum/reagent/mortaphenyl, "Neurapan" = /datum/reagent/mental/neurapan)
var/chem = input("Select a chemical to secrete.", "Chemicals") as null|anything in choices
if(!chem || chemicals < 20 || !host || controlling || !src || stat) //Sanity check.

View File

@@ -120,10 +120,13 @@
var/can_heal = damage && damage < max_damage && (damage % damage_threshold_value || owner.chem_effects[CE_BRAIN_REGEN] || (!past_damage_threshold(3) && owner.chem_effects[CE_STABLE]))
var/damprob
var/brain_regen_amount = owner.chem_effects[CE_BRAIN_REGEN] / 10
//Effects of bloodloss
switch(blood_volume)
if(BLOOD_VOLUME_SAFE to INFINITY)
if(can_heal)
if(can_heal && owner.chem_effects[CE_BRAIN_REGEN])
damage = max(damage - brain_regen_amount, 0)
else if(can_heal)
damage = max(damage-1, 0)
if(BLOOD_VOLUME_OKAY to BLOOD_VOLUME_SAFE)
if(prob(1))

View File

@@ -177,7 +177,11 @@ About Reagents:
Maximum amount of reagent that has ever been in a mob. Exists so dose won't grow infinitely when small amounts of reagent are added over time.
overdose
If [dose] is bigger than [overdose], overdose() proc is called every tick.
od_minimum_dose
If [volume] is bigger than [overdose]
AND
If [dose] is bigger than [od_minimum_dose]
THEN the overdose() proc is called every tick.
scannable
If set to 1, will show up on health analyzers by name.
@@ -239,7 +243,7 @@ About Reagents:
Ditto, breathing. Defaults to affect_blood with 75% dose.
overdose(var/mob/living/carbon/M, var/alien)
Called when dose is above overdose. Defaults to M.adjustToxLoss(REM).
Called when volume is above overdose and dose is greater than a minimum dose. Defaults to M.adjustToxLoss(REM).
initialize_data(var/newdata)
Called when reagent is created. Defaults to setting [data] to [newdata].

View File

@@ -16,7 +16,8 @@
var/breathe_mul = 0.75
var/dose = 0
var/max_dose = 0
var/overdose = 0
var/overdose = 0 // Volume of a chemical required in the blood to meet overdose criteria.
var/od_minimum_dose = 5 // Metabolised dose of a chemical required to meet overdose criteria.
var/scannable = 0 // Shows up on health analyzers.
var/affects_dead = 0
var/glass_icon_state = null
@@ -82,8 +83,8 @@
removed = M.get_metabolism(removed)
max_dose = max(volume, max_dose)
if(overdose && (dose > overdose) && (location != CHEM_TOUCH))
overdose(M, alien, removed, dose/overdose)
if(overdose && (volume > overdose) && (dose > od_minimum_dose) && (location != CHEM_TOUCH)) //OD based on volume in blood, but waits for a small amount of the drug to metabolise before kicking in.
overdose(M, alien, removed, dose/overdose) //Actual overdose threshold now = overdose + od_minimum_dose. ie. Synaptizine; 5u OD threshold + 1 unit min. metab'd dose = 6u actual OD threshold.
if(dose == 0)
initial_effect(M,alien)

View File

@@ -155,7 +155,7 @@
/datum/reagent/fuel
name = "Welding fuel"
name = "Welding Fuel"
description = "Required for welders. Flammable."
reagent_state = LIQUID
color = "#660000"

View File

@@ -63,6 +63,7 @@
taste_description = "sour chalk"
taste_mult = 1.5
fallback_specific_heat = 0.018
scannable = TRUE
/datum/reagent/carbon/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
var/datum/reagents/ingested = M.get_ingested_reagents()
@@ -88,10 +89,11 @@
color = "#6E3B08"
taste_description = "copper"
fallback_specific_heat = 1.148
scannable = TRUE
/datum/reagent/copper/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
if (alien & IS_SKRELL)
M.add_chemical_effect(CE_BLOODRESTORE, 8 * removed)
M.add_chemical_effect(CE_BLOODRESTORE, 4 * removed)
/datum/reagent/alcohol //Parent class for all alcoholic reagents, though this one shouldn't be used anywhere.
name = null // This null name should prevent alcohol from being added to global lists.
@@ -285,12 +287,13 @@
reagent_state = SOLID
color = "#353535"
taste_description = "metal"
scannable = TRUE
fallback_specific_heat = 1.181
/datum/reagent/iron/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
if (!(alien & (IS_SKRELL | IS_VAURCA)))
M.add_chemical_effect(CE_BLOODRESTORE, 8 * removed)
M.add_chemical_effect(CE_BLOODRESTORE, 4 * removed)
/datum/reagent/lithium
name = "Lithium"
@@ -309,21 +312,36 @@
/datum/reagent/mercury
name = "Mercury"
description = "A chemical element."
description = "A poisonous chemical element, one of two that is a liquid at human room temperature and pressure."
reagent_state = LIQUID
color = "#484848"
ingest_met = REM*0.2
ingest_met = REM*0.1
breathe_met = REM*0.4
breathe_mul = 2 //mercury vapours and skin absorption more dangerous than eating mercury.
touch_met = REM*0.1
touch_mul = 1.25
taste_mult = 0 //mercury apparently is tasteless
scannable = TRUE
fallback_specific_heat = 0.631
/datum/reagent/mercury/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(M.canmove && !M.restrained() && !(istype(M.loc, /turf/space)))
step(M, pick(cardinal))
if(prob(5))
M.emote(pick("twitch", "drool", "moan"))
M.adjustBrainLoss(removed)
M.add_chemical_effect(CE_NEUROTOXIC, 2*removed)
if(dose > 1)
if(prob(dose/2))
to_chat(M, SPAN_WARNING(pick("You feel a tingly sensation in your body.", "You can smell something unusual.", "You can taste something unusual.", "You hear a faint white-noise that's gradually getting louder.")))
M.confused = max(M.confused, 10)
if(dose > 4)
M.add_chemical_effect(CE_CLUMSY, 1)
if(prob(dose/4))
M.emote(pick("twitch", "shiver", "drool"))
if(prob(dose/4))
M.visible_message("<b>[M]</b> chuckles spontaneously.", "You chuckle spontaneously.")
if(dose > 8)
if(prob(2))
to_chat(M, SPAN_WARNING("You can't feel any sensation in your extremities."))
M.add_chemical_effect(CE_UNDEXTROUS, 1) //A budget dextrotoxin that's a tad more dangerous and slower to take effect.
M.Weaken(10)
/datum/reagent/phosphorus
name = "Phosphorus"
@@ -372,7 +390,7 @@
return
/datum/reagent/acid
name = "Sulphuric acid"
name = "Sulphuric Acid"
description = "A very corrosive mineral acid with the molecular formula H2SO4."
reagent_state = LIQUID
color = "#DB5008"
@@ -473,7 +491,7 @@
fallback_specific_heat = 1.710
/datum/reagent/acid/polyacid //Not in dispensers, but it should be here
name = "Polytrinic acid"
name = "Polytrinic Acid"
description = "Polytrinic acid is a an extremely corrosive chemical substance."
reagent_state = LIQUID
color = "#8E18A9"
@@ -482,7 +500,7 @@
taste_description = "acid"
/datum/reagent/acid/stomach
name = "stomach acid"
name = "Stomach Acid"
taste_description = "coppery foulness"
power = 2
color = "#d8ff00"
@@ -529,12 +547,13 @@
reagent_state = SOLID
color = "#BF8C00"
taste_description = "rotten eggs"
scannable = TRUE
fallback_specific_heat = 0.503
/datum/reagent/sulfur/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
if (alien & IS_VAURCA)
M.add_chemical_effect(CE_BLOODRESTORE, 8 * removed)
M.add_chemical_effect(CE_BLOODRESTORE, 4 * removed)
/datum/reagent/tungsten
name = "Tungsten"

View File

@@ -1,5 +1,5 @@
/datum/reagent/space_drugs
name = "Space drugs"
name = "Space Drugs"
description = "Mercury Monolithium Sucrose, or space drugs, is a potent relaxant commonly found in Ambrosia plants. Lasts twice as long when inhaled."
reagent_state = LIQUID
color = "#60A584"
@@ -88,6 +88,7 @@
/datum/reagent/impedrezene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.jitteriness = max(M.jitteriness - 5, 0)
M.confused = max(M.confused, 10)
if(prob(80))
M.add_chemical_effect(CE_NEUROTOXIC, 3*removed)
if(prob(50))
@@ -107,10 +108,12 @@
/datum/reagent/mindbreaker/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.hallucination = max(M.hallucination, 100)
M.add_chemical_effect(CE_HALLUCINATE, 2)
if(prob(10))
M.add_chemical_effect(CE_NEUROTOXIC, 5*removed)
/datum/reagent/psilocybin
name = "psilocybin"
description = "A strong psycotropic derived from certain species of mushroom."
name = "Psilocybin"
description = "A strong psychotropic derived from certain species of mushroom."
color = "#E700E7"
overdose = REAGENTS_OVERDOSE
metabolism = REM * 0.5

View File

@@ -183,7 +183,7 @@
/datum/reagent/nutriment/coating/batter
name = "batter mix"
name = "Batter Mix"
cooked_name = "batter"
color = "#f5f4e9"
reagent_state = LIQUID
@@ -193,7 +193,7 @@
taste_description = "batter"
/datum/reagent/nutriment/coating/beerbatter
name = "beer batter mix"
name = "Beer Batter Mix"
cooked_name = "beer batter"
color = "#f5f4e9"
reagent_state = LIQUID
@@ -208,7 +208,7 @@
//==============================
/datum/reagent/nutriment/protein // Bad for Skrell!
name = "animal protein"
name = "Animal Protein"
color = "#440000"
blood_factor = 3
taste_description = "meat"
@@ -220,17 +220,17 @@
..()
/datum/reagent/nutriment/protein/tofu //Good for Skrell!
name = "tofu protein"
name = "Tofu Protein"
color = "#fdffa8"
taste_description = "tofu"
/datum/reagent/nutriment/protein/seafood // Good for Skrell!
name = "seafood protein"
name = "Seafood Protein"
color = "#f5f4e9"
taste_description = "fish"
/datum/reagent/nutriment/protein/egg // Also bad for skrell.
name = "egg yolk"
name = "Egg Yolk"
color = "#FFFFAA"
taste_description = "egg"
@@ -241,14 +241,14 @@
..()
/datum/reagent/nutriment/protein/cheese // Also bad for skrell.
name = "cheese"
name = "Cheese"
color = "#EDB91F"
taste_description = "cheese"
//Fats
//=========================
/datum/reagent/nutriment/triglyceride
name = "triglyceride"
name = "Triglyceride"
description = "More commonly known as fat, the third macronutrient, with over double the energy content of carbs and protein"
reagent_state = SOLID
@@ -365,7 +365,7 @@
germ_adjust = 5
/datum/reagent/nutriment/flour
name = "flour"
name = "Flour"
description = "This is what you rub all over yourself to pretend to be a ghost."
reagent_state = SOLID
nutriment_factor = 1
@@ -393,7 +393,7 @@
taste_mult = 1.3
/datum/reagent/nutriment/soysauce
name = "Soysauce"
name = "Soy Sauce"
description = "A salty sauce made from the soy plant."
reagent_state = LIQUID
nutriment_factor = 2
@@ -478,6 +478,12 @@
M.adjustNutritionLoss(10*removed)
M.overeatduration = 0
/datum/reagent/lipozine/overdose(var/mob/living/carbon/M, var/alien, var/removed)
M.adjustNutritionLoss(10*removed)
if(prob(2))
to_chat(M, SPAN_DANGER("You feel yourself wasting away."))
M.adjustHalLoss(10)
/datum/reagent/nutriment/barbecue
name = "Barbecue Sauce"
description = "Barbecue sauce for barbecues and long shifts."
@@ -832,7 +838,7 @@
glass_desc = "A glass of sweet-sour lime juice"
/datum/reagent/drink/orangejuice
name = "Orange juice"
name = "Orange Juice"
description = "Both delicious AND rich in Vitamin C, what more do you need?"
color = "#E78108"
taste_description = "oranges"
@@ -1461,7 +1467,7 @@
glass_center_of_mass = list("x"=15, "y"=9)
/datum/reagent/drink/coffee/freddo_espresso
name = "Freddo espresso"
name = "Freddo Espresso"
description = "Espresso with ice cubes poured over ice."
color = "#664300" // rgb: 102, 67, 0
taste_description = "cold and bitter coffee"
@@ -2006,7 +2012,7 @@
glass_center_of_mass = list("x"=7, "y"=8)
/datum/reagent/drink/toothpaste/kois_odyne
name = "Kois Odyne"
name = "K'ois Odyne"
description = "A favourite among the younger vaurca, born from an accident involving nanopaste and the repair of internal augments."
strength = 60
taste_description = "chalk"

View File

@@ -1,7 +1,7 @@
/* Paint and crayons */
/datum/reagent/crayon_dust
name = "Crayon dust"
name = "Crayon Dust"
description = "Intensely coloured powder obtained by grinding crayons."
reagent_state = LIQUID
color = "#888888"
@@ -10,42 +10,42 @@
fallback_specific_heat = 0.4
/datum/reagent/crayon_dust/red
name = "Red crayon dust"
name = "Red Crayon Dust"
color = "#FE191A"
taste_description = "chalky strawberry wax"
/datum/reagent/crayon_dust/orange
name = "Orange crayon dust"
name = "Orange Crayon Dust"
color = "#FFBE4F"
taste_description = "chalky orange peels"
/datum/reagent/crayon_dust/yellow
name = "Yellow crayon dust"
name = "Yellow Crayon Dust"
color = "#FDFE7D"
taste_description = "chalky lemon rinds"
/datum/reagent/crayon_dust/green
name = "Green crayon dust"
name = "Green Crayon Dust"
color = "#18A31A"
taste_description = "chalky lime rinds"
/datum/reagent/crayon_dust/blue
name = "Blue crayon dust"
name = "Blue Crayon Dust"
color = "#247CFF"
taste_description = "chalky blueberry skins"
/datum/reagent/crayon_dust/purple
name = "Purple crayon dust"
name = "Purple Crayon Dust"
color = "#CC0099"
taste_description = "chalky grape skins"
/datum/reagent/crayon_dust/grey //Mime
name = "Grey crayon dust"
name = "Grey Crayon Dust"
color = "#808080"
taste_description = "chalky crushed dreams"
/datum/reagent/crayon_dust/brown //Rainbow
name = "Brown crayon dust"
name = "Brown Crayon Dust"
color = "#846F35"
taste_description = "raw, powerful creativity"
@@ -255,7 +255,7 @@
taste_description = "metal"
/datum/reagent/foaming_agent // Metal foaming agent. This is lithium hydride. Add other recipes (e.g. LiH + H2O -> LiOH + H2) eventually.
name = "Foaming agent"
name = "Foaming Agent"
description = "A agent that yields metallic foam when mixed with light metal and a strong acid."
reagent_state = SOLID
color = "#664B63"
@@ -287,7 +287,7 @@
M.adjustFireLoss(3 * removed)
/datum/reagent/spacecleaner
name = "Space cleaner"
name = "Space Cleaner"
description = "A compound used to clean things. Now with 50% more sodium hypochlorite!"
reagent_state = LIQUID
color = "#A5F0EE"
@@ -609,7 +609,7 @@
description = "This impossible substance slowly converts from a liquid into actual light."
reagent_state = LIQUID
color = "#ffff40"
scannable = 1
scannable = TRUE
metabolism = REM * 0.25
taste_description = "bottled fire"
var/datum/modifier/modifier
@@ -690,7 +690,7 @@
/datum/reagent/bluespace_dust/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(prob(25))
M.make_jittery(5)
to_chat(M, "<span class='warning'>You feel unstable...</span>")
to_chat(M, SPAN_WARNING("You feel unstable..."))
if(prob(10))
do_teleport(M, get_turf(M), 5, asoundin = 'sound/effects/phasein.ogg')
@@ -720,7 +720,7 @@
I.canremove = 0
I.desc += " It appears to glisten with some gluey substance."
remove_self(10*I.w_class)
I.visible_message("<span class='notice'>[I] begins to glisten with some gluey substance.</span>")
I.visible_message(SPAN_NOTICE("[I] begins to glisten with some gluey substance."))
/datum/reagent/usolve
name = "Universal Solvent"
@@ -735,7 +735,7 @@
var/obj/item/I = O
I.canremove = initial(I.canremove)
I.desc = initial(I.desc)
I.visible_message("<span class='notice'>A thin shell of glue cracks off of [I].</span>")
I.visible_message(SPAN_NOTICE("A thin shell of glue cracks off of [I]."))
remove_self(10*I.w_class)
/datum/reagent/shapesand
@@ -756,7 +756,7 @@
mimic.item_state = O.item_state
mimic.overlays = O.overlays
remove_self(10*O.w_class)
mimic.visible_message("<span class='notice'>The sand forms into an exact duplicate of [O].</span>")
mimic.visible_message(SPAN_NOTICE("The sand forms into an exact duplicate of [O]."))
/obj/item/shapesand
name = "shapesand"
@@ -769,7 +769,7 @@
return 1
/obj/item/shapesand/afterattack(atom/A, mob/living/user)
to_chat(user, "<span class='warning'>As you attempt to use the [src], it crumbles into inert sand!</span>")
to_chat(user, SPAN_WARNING("As you attempt to use the [src], it crumbles into inert sand!"))
new /obj/item/ore/glass(get_turf(src))
qdel(src)
return

View File

@@ -149,6 +149,7 @@
name = "Cardox"
description = "Cardox is a mildly toxic, expensive, NanoTrasen designed cleaner intended to eliminate liquid phoron stains from suits."
reagent_state = LIQUID
scannable = TRUE
color = "#EEEEEE"
metabolism = 0.3 // 100 seconds for 30 units to metabolise.
taste_description = "cherry"
@@ -212,7 +213,8 @@
reagent_state = SOLID
color = "#FFFFFF"
strength = 0
overdose = REAGENTS_OVERDOSE
overdose = 5
od_minimum_dose = 20
taste_description = "salt"
/datum/reagent/toxin/potassium_chloride/overdose(var/mob/living/carbon/M, var/alien)
@@ -233,7 +235,8 @@
reagent_state = SOLID
color = "#FFFFFF"
strength = 10
overdose = 20
overdose = 5
od_minimum_dose = 20
taste_description = "salt"
/datum/reagent/toxin/potassium_chlorophoride/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
@@ -362,7 +365,7 @@
if(locate(/obj/effect/overlay/wallrot) in W)
for(var/obj/effect/overlay/wallrot/E in W)
qdel(E)
W.visible_message("<span class='notice'>The fungi are completely dissolved by the solution!</span>")
W.visible_message(SPAN_NOTICE("The fungi are completely dissolved by the solution!"))
/datum/reagent/toxin/plantbgone/touch_obj(var/obj/O, var/volume)
if(istype(O, /obj/structure/alien/weeds))
@@ -399,7 +402,7 @@
M.losebreath++
/datum/reagent/mutagen
name = "Unstable mutagen"
name = "Unstable Mutagen"
description = "Might cause unpredictable mutations. Keep away from children."
reagent_state = LIQUID
color = "#13BC5E"
@@ -443,7 +446,7 @@
if(istype(H) && (H.species.flags & NO_BLOOD))
return
if(prob(10))
to_chat(M, "<span class='danger'>Your insides are burning!</span>")
to_chat(M, SPAN_DANGER("Your insides are burning!"))
M.add_chemical_effect(CE_TOXIN, rand(100, 300) * removed)
else if(prob(40))
M.heal_organ_damage(25 * removed, 0)
@@ -452,6 +455,7 @@
name = "Soporific"
description = "Soporific is highly diluted polysomnine which results in slower and more gradual sedation. This makes the drug ideal at treating insomnia and anxiety disorders, however is generally not reliable for sedation in preparation for surgery except in high doses."
reagent_state = LIQUID
scannable = TRUE
color = "#009CA8"
metabolism = REM * 0.5
overdose = REAGENTS_OVERDOSE
@@ -481,9 +485,10 @@
name = "Polysomnine"
description = "Polysomnine is a complex drug which rapidly induces sedation in preparation for surgery. Polysomnine's sedative effect is fast acting, and sedated individuals wake up with zero amnesia regarding the events leading up to their sedation, however the only downside is how hard the drug is on the liver."
reagent_state = SOLID
scannable = TRUE
color = "#000067"
metabolism = REM * 0.5
overdose = REAGENTS_OVERDOSE * 0.5
overdose = 15
taste_description = "bitterness"
breathe_met = REM * 0.5 * 0.5
@@ -530,7 +535,7 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.species.name != SPECIES_SLIMEPERSON)
to_chat(M, "<span class='danger'>Your flesh rapidly mutates!</span>")
to_chat(M, SPAN_DANGER("Your flesh rapidly mutates!"))
H.set_species(SPECIES_SLIMEPERSON)
/datum/reagent/aslimetoxin
@@ -543,7 +548,7 @@
/datum/reagent/aslimetoxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) // TODO: check if there's similar code anywhere else
if(M.transforming)
return
to_chat(M, "<span class='danger'>Your flesh rapidly mutates!</span>")
to_chat(M, SPAN_DANGER("Your flesh rapidly mutates!"))
M.transforming = 1
M.canmove = 0
M.icon = null
@@ -633,7 +638,7 @@
M.add_chemical_effect(CE_BERSERK, 1)
if(M.a_intent != I_HURT)
M.a_intent_change(I_HURT)
if(prob(20))
if(prob(10))
M.add_chemical_effect(CE_NEUROTOXIC, 5*removed)
/datum/reagent/toxin/berserk/Destroy()
@@ -646,15 +651,45 @@
reagent_state = LIQUID
color = "#800080"
strength = 5
overdose = 5 //5 units per ghostmushroom.
od_minimum_dose = 1
taste_description = "acid"
metabolism = REM
metabolism = REM * 0.5
unaffected_species = IS_DIONA | IS_MACHINE
var/datum/modifier/modifier
/datum/reagent/toxin/spectrocybin/affect_blood(var/mob/living/carbon/M, var/removed)
..()
M.hallucination = max(M.hallucination, 50)
if(prob(10))
M.see_invisible = SEE_INVISIBLE_CULT
if(!(volume > 5))
M.hallucination = max(M.hallucination, 20)
if(prob(20))
M.see_invisible = SEE_INVISIBLE_CULT
if(dose < 5)
if(prob(10))
M.emote("shiver")
to_chat(M, SPAN_GOOD(pick("You hear the clinking of dinner plates and laughter.", "You hear a distant voice of someone you know talking to you.", "Fond memories of a departed loved one flocks to your mind.", "You feel the reassuring presence of a departed loved one.", "You feel a hand squeezing yours.")))
/datum/reagent/toxin/spectrocybin/overdose(var/mob/living/carbon/M)
M.see_invisible = SEE_INVISIBLE_CULT
M.make_jittery(5)
if(dose < 5)
if(prob(5))
M.visible_message("<b>[M]</b> trembles uncontrollably.", "<span class='warning'>You tremble uncontrollably.</span>")
to_chat(M, SPAN_CULT(pick("You feel fingers tracing up your back.", "You hear the distant wailing and sobbing of a departed loved one.", "You feel like you are being closely watched.", "You hear the hysterical laughter of a departed loved one.", "You no longer feel the reassuring presence of a departed loved one.", "You feel a hand taking hold of yours, digging its nails into you as it clings on.")))
else
if(!modifier)
modifier = M.add_modifier(/datum/modifier/berserk, MODIFIER_REAGENT, src, _strength = 1, override = MODIFIER_OVERRIDE_STRENGTHEN)
M.hallucination = 0 //Brings down hallucination quickly to prevent message spam from being switched between harm and help by hallucinoatory pacification and berserk.
M.add_chemical_effect(CE_BERSERK, 1)
if(M.a_intent != I_HURT)
M.a_intent_change(I_HURT)
if(prob(10))
M.emote(pick("shiver", "twitch"))
to_chat(M, SPAN_CULT(pick("You feel a cold and threatening air wrapping around you.", "Whispering shadows, ceaseless in their demands, twist your thoughts...", "The whispering, anything to make them stop!", "Your head spins amid the cacophony of screaming, wailing and maniacal laughter of distant loved ones.", "You feel vestiges of decaying souls cling to you, trying to re-enter the world of the living.")))
/datum/reagent/toxin/spectrocybin/Destroy()
QDEL_NULL(modifier)
return ..()
/datum/reagent/toxin/trioxin
name = "Trioxin"

View File

@@ -327,12 +327,19 @@
required_reagents = list(/datum/reagent/dexalin = 1, /datum/reagent/carbon = 1, /datum/reagent/iron = 1)
result_amount = 3
/datum/chemical_reaction/butazoline
name = "Butazoline"
id = "butazoline"
result = /datum/reagent/butazoline
required_reagents = list(/datum/reagent/bicaridine = 1, /datum/reagent/aluminum = 1, /datum/reagent/acid/hydrochloric = 1)
result_amount = 3
/datum/chemical_reaction/bicaridine
name = "Bicaridine"
id = "bicaridine"
result = /datum/reagent/bicaridine
required_reagents = list(/datum/reagent/inaprovaline = 1, /datum/reagent/carbon = 1)
inhibitors = list(/datum/reagent/sugar = 1) // Messes with inaprovaline
inhibitors = list(/datum/reagent/sugar = 1) //Messes with inaprovaline
result_amount = 2
/datum/chemical_reaction/hyperzine
@@ -619,10 +626,11 @@
result_amount = 2
/datum/chemical_reaction/saline
name = "Saline"
name = "Saline Plus"
id = "saline"
result = /datum/reagent/saline
required_reagents = list(/datum/reagent/sugar = 0.4, /datum/reagent/water = 1, /datum/reagent/sodiumchloride = 0.9)
catalysts = list(/datum/reagent/toxin/phoron = 5)
result_amount = 1
/datum/chemical_reaction/cataleptinol
@@ -1660,6 +1668,7 @@
result = null
required_reagents = list(/datum/reagent/drink/milk/soymilk = 10)
catalysts = list(/datum/reagent/enzyme = 5)
inhibitors = list(/datum/reagent/sodiumchloride = 1) // To prevent conflict with Soy Sauce recipe.
result_amount = 1
/datum/chemical_reaction/tofu/on_reaction(var/datum/reagents/holder, var/created_volume)
@@ -1705,7 +1714,8 @@
name = "Soy Sauce"
id = "soysauce"
result = /datum/reagent/nutriment/soysauce
required_reagents = list(/datum/reagent/drink/milk/soymilk = 4, /datum/reagent/acid = 1)
required_reagents = list(/datum/reagent/drink/milk/soymilk = 4, /datum/reagent/sodiumchloride = 1)
catalysts = list(/datum/reagent/enzyme = 5)
result_amount = 5
/datum/chemical_reaction/ketchup

View File

@@ -97,6 +97,8 @@
hyronalin spawn_reagent = /datum/reagent/hyronalin
oculine spawn_reagent = /datum/reagent/oculine
kelotane spawn_reagent = /datum/reagent/kelotane
butazoline spawn_reagent = /datum/reagent/butazoline
saline spawn_reagent = /datum/reagent/saline
leporazine spawn_reagent = /datum/reagent/leporazine
inaprov spawn_reagent = /datum/reagent/inaprovaline
oxycomorphine spawn_reagent = /datum/reagent/oxycomorphine

View File

@@ -34,6 +34,8 @@
/obj/item/reagent_containers/chem_disp_cartridge/sterilizine,
/obj/item/reagent_containers/chem_disp_cartridge/leporazine,
/obj/item/reagent_containers/chem_disp_cartridge/kelotane,
/obj/item/reagent_containers/chem_disp_cartridge/butazoline,
/obj/item/reagent_containers/chem_disp_cartridge/saline,
/obj/item/reagent_containers/chem_disp_cartridge/dermaline,
/obj/item/reagent_containers/chem_disp_cartridge/dexalin,
/obj/item/reagent_containers/chem_disp_cartridge/dexalin_p,

View File

@@ -11,7 +11,7 @@
)
icon_state = null
item_state = "bottle"
amount_per_transfer_from_this = 10
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(5,10,15,25,30,60)
flags = 0
volume = 60
@@ -97,6 +97,12 @@
icon_state = "bottle-4"
reagents_to_add = list(/datum/reagent/dylovene = 60)
/obj/item/reagent_containers/glass/bottle/saline
name = "saline bottle"
desc = "A small bottle of saline for attaching to drips. Re-hydrates a patient and helps with increasing blood volume."
icon_state = "bottle-3"
reagents_to_add = list(/datum/reagent/saline = 60)
/obj/item/reagent_containers/glass/bottle/mutagen
name = "unstable mutagen bottle"
desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact."

View File

@@ -168,13 +168,21 @@
update_icon()
return
/obj/item/reagent_containers/hypospray/autoinjector/sideeffectbgone
name = "sideeffects-be-gone! autoinjector"
desc = "A special cocktail designed to counter the side-effects of various drugs. Has 2 uses."
volume = 30
amount_per_transfer_from_this = 15
reagents_to_add = list(/datum/reagent/synaptizine = 5, /datum/reagent/cetahydramine = 10, /datum/reagent/oculine = 5, /datum/reagent/ethylredoxrazine = 10)
/obj/item/reagent_containers/hypospray/autoinjector/stimpack
name = "stimpack"
desc = "A simple chemical cocktail of hyperzine and mortaphenyl designed to boost efficiency by 6,000% (estimated). Hoo-rah!"
volume = 20
amount_per_transfer_from_this = 20
reagents_to_add = list(/datum/reagent/hyperzine = 12, /datum/reagent/mortaphenyl = 8)
reagents_to_add = list(/datum/reagent/hyperzine = 12, /datum/reagent/mortaphenyl = 6, /datum/reagent/synaptizine = 2)
/obj/item/reagent_containers/hypospray/autoinjector/survival
name = "survival autoinjector"
@@ -182,7 +190,7 @@
volume = 35
amount_per_transfer_from_this = 35
reagents_to_add = list(/datum/reagent/tricordrazine = 15, /datum/reagent/inaprovaline = 5, /datum/reagent/dexalin/plus = 5, /datum/reagent/oxycomorphine = 5, /datum/reagent/mental/corophenidate = 5)
reagents_to_add = list(/datum/reagent/tricordrazine = 15, /datum/reagent/inaprovaline = 5, /datum/reagent/dexalin/plus = 5, /datum/reagent/oxycomorphine = 3, /datum/reagent/synaptizine = 2, /datum/reagent/mental/corophenidate = 5)
/obj/item/reagent_containers/hypospray/combat
name = "combat hypospray"

View File

@@ -87,122 +87,133 @@
//Pills
/obj/item/reagent_containers/pill/antitox
name = "anti-toxins pill"
name = "Anti-toxins Pill"
desc = "Neutralizes many common toxins."
icon_state = "pill17"
reagents_to_add = list(/datum/reagent/dylovene = 25)
reagents_to_add = list(/datum/reagent/dylovene = 10)
/obj/item/reagent_containers/pill/tox
name = "toxins pill"
name = "Toxins Pill"
desc = "Highly toxic."
icon_state = "pill5"
reagents_to_add = list(/datum/reagent/toxin = 50)
/obj/item/reagent_containers/pill/cyanide
name = "cyanide pill"
name = "Cyanide Pill"
desc = "Don't swallow this."
icon_state = "pill5"
reagents_to_add = list(/datum/reagent/toxin/cyanide = 50)
/obj/item/reagent_containers/pill/adminordrazine
name = "adminordrazine pill"
name = "Adminordrazine Pill"
desc = "It's magic. We don't have to explain it."
icon_state = "pill16"
reagents_to_add = list(/datum/reagent/adminordrazine = 50)
/obj/item/reagent_containers/pill/stox
name = "sleeping pill"
name = "Sleeping Pill"
desc = "Commonly used to treat insomnia."
icon_state = "pill8"
reagents_to_add = list(/datum/reagent/soporific = 15)
/obj/item/reagent_containers/pill/kelotane
name = "kelotane pill"
desc = "Used to treat burns."
name = "Kelotane Pill"
desc = "Used to treat minor burns."
icon_state = "pill11"
reagents_to_add = list(/datum/reagent/kelotane = 15)
reagents_to_add = list(/datum/reagent/kelotane = 10)
/obj/item/reagent_containers/pill/perconol
name = "perconol pill"
desc = "A painkiller for the ages. Chewables!"
name = "Perconol Pill"
desc = "A light painkiller available over-the-counter."
icon_state = "pill8"
reagents_to_add = list(/datum/reagent/perconol = 15)
reagents_to_add = list(/datum/reagent/perconol = 10)
/obj/item/reagent_containers/pill/mortaphenyl
name = "mortaphenyl pill"
name = "Mortaphenyl Pill"
desc = "A mortaphenyl pill, it's a potent painkiller."
icon_state = "pill8"
reagents_to_add = list(/datum/reagent/mortaphenyl = 15)
reagents_to_add = list(/datum/reagent/mortaphenyl = 10)
/obj/item/reagent_containers/pill/corophenidate
name = "corophenidate pill"
name = "Corophenidate Pill"
desc = "Improves the ability to concentrate."
icon_state = "pill8"
reagents_to_add = list(/datum/reagent/mental/corophenidate = 15)
reagents_to_add = list(/datum/reagent/mental/corophenidate = 5)
/obj/item/reagent_containers/pill/minaphobin
name = "minaphobin pill"
desc = "Mild anti-depressant."
name = "Minaphobin Pill"
desc = "Used to treat anxiety disorders and depression."
icon_state = "pill8"
reagents_to_add = list(/datum/reagent/mental/minaphobin = 15)
reagents_to_add = list(/datum/reagent/mental/minaphobin = 5)
/obj/item/reagent_containers/pill/inaprovaline
name = "inaprovaline pill"
desc = "Used to stabilize patients."
name = "Inaprovaline Pill"
desc = "Used to stabilize heart activity."
icon_state = "pill20"
reagents_to_add = list(/datum/reagent/inaprovaline = 30)
reagents_to_add = list(/datum/reagent/inaprovaline = 10)
/obj/item/reagent_containers/pill/dexalin
name = "dexalin pill"
name = "Dexalin Pill"
desc = "Used to treat oxygen deprivation."
icon_state = "pill16"
reagents_to_add = list(/datum/reagent/dexalin = 15)
/obj/item/reagent_containers/pill/dexalin_plus
name = "dexalin Plus pill"
name = "Dexalin Plus Pill"
desc = "Used to treat extreme oxygen deprivation."
icon_state = "pill8"
reagents_to_add = list(/datum/reagent/dexalin/plus = 15)
/obj/item/reagent_containers/pill/dermaline
name = "dermaline pill"
desc = "Used to treat burn wounds."
name = "Dermaline Pill"
desc = "Used to treat severe burn wounds."
icon_state = "pill12"
reagents_to_add = list(/datum/reagent/dermaline = 15)
reagents_to_add = list(/datum/reagent/dermaline = 10)
/obj/item/reagent_containers/pill/dylovene
name = "dylovene pill"
name = "Dylovene Pill"
desc = "A broad-spectrum anti-toxin."
icon_state = "pill13"
reagents_to_add = list(/datum/reagent/dylovene = 15)
/obj/item/reagent_containers/pill/bicaridine
name = "bicaridine pill"
desc = "Used to treat physical injuries."
/obj/item/reagent_containers/pill/butazoline
name = "Butazoline Pill"
desc = "Used to treat major injuries and bleeding."
icon_state = "pill18"
reagents_to_add = list(/datum/reagent/bicaridine = 20)
reagents_to_add = list(/datum/reagent/butazoline = 10)
/obj/item/reagent_containers/pill/bicaridine
name = "Bicaridine Pill"
desc = "Used to treat minor injuries and bleeding."
icon_state = "pill18"
reagents_to_add = list(/datum/reagent/bicaridine = 10)
/obj/item/reagent_containers/pill/happy
name = "happy pill"
name = "Happy Pill"
desc = "Happy happy joy joy!"
icon_state = "pill18"
reagents_to_add = list(/datum/reagent/space_drugs = 15, /datum/reagent/sugar = 15)
/obj/item/reagent_containers/pill/zoom
name = "zoom pill"
name = "Zoom Pill"
desc = "Zoooom!"
icon_state = "pill18"
reagents_to_add = list(/datum/reagent/impedrezene = 10, /datum/reagent/synaptizine = 5, /datum/reagent/hyperzine = 5)
obj/item/reagent_containers/pill/tranquility
name = "Tranquility Pill"
desc = "Peace, at last."
icon_state = "pill8"
reagents_to_add = list(/datum/reagent/mental/neurapan = 15, /datum/reagent/impedrezene = 10)
/obj/item/reagent_containers/pill/thetamycin
name = "thetamycin pill"
desc = "Contains theta-lactam antibiotics."
name = "Thetamycin Pill"
desc = "Used to treat infections and septicaemia."
icon_state = "pill19"
reagents_to_add = list(/datum/reagent/thetamycin = 15)
/obj/item/reagent_containers/pill/bio_vitamin
name = "vitamin pill"
name = "Vitamin Pill"
desc = "Contains a meal's worth of nutrients."
icon_state = "pill11"
reagents_to_add = list(/datum/reagent/nutriment = 20)
@@ -212,13 +223,13 @@
. = ..()
/obj/item/reagent_containers/pill/rmt
name = "regenerative-muscular tissue supplement pill"
name = "Regenerative-Muscular Tissue Supplement Pill"
desc = "Commonly abbreviated to RMT, it contains chemicals rampantly used by those seeking to remedy the effects of prolonged zero-gravity adaptations."
icon_state = "pill19"
reagents_to_add = list(/datum/reagent/rmt = 15)
/obj/item/reagent_containers/pill/cetahydramine
name = "cetahydramine pill"
desc = "Contains modern Cetahydramine, often compared to ancient Benadryl. Helps with sneezing, can cause drowsiness."
name = "Cetahydramine Pill"
desc = "Used to treat coughing, sneezing and itching."
icon_state = "pill19"
reagents_to_add = list(/datum/reagent/cetahydramine = 5)

View File

@@ -0,0 +1,61 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
# balance
# admin
# backend
# security
# refactor
#################################
# Your name.
author: kermit
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "The majority of medicinal chemicals have added side-effects - nothing too disruptive."
- rscadd: "Added a variety of overdoses to chemicals that were lacking overdoses."
- rscadd: "Some medications now contraindicate one another and should not be taken together."
- rscadd: "Certain chemicals have been totally overhauled to make them more unique or enjoyable to use."
- tweak: "Overdoses are now triggered by volume in the blood and by a small metabolised dose of the drug (defaulting to 5 units)."
- tweak: "The default OD threshold is now 20u. Poor communication between doctors is now more likely to result in ODs."
- tweak: "Alkysine and Cataleptinol will now actually heal the brain at varying rates, as opposed to both treating the same amount of low damage."
- tweak: "The default chemical transfer rates of RIG injectors, Medibots and bottles have been reduced to allow more precise dose measurements."
- tweak: "More medical chemicals will appear on medical scans as opposed to being registered as unknown substances."
- rscadd: "Introducing Butazoline, the dermaline equivalent for treating brute injuries. It cannot treat arterial bleeding like Bicaridine, however."
- tweak: "Saline is now the chief blood restorative medication and only works intravenously at a medium transfer rate."
- tweak: "Iron/Copper/Sulphur pills now restore blood at half their previous rate."
- tweak: "Any combination of mortaphenyl, oxycormorphine and alcholic beverages will be dangerous. Don't mix them."
- tweak: "Dexalin Plus overdoses are now extra toxic to vaurcae - too much oxygen for their gas exchange system to handle at a time."
- tweak: "Soy Sauce is now made with salt instead of sulphuric acid."
- tweak: "Brute First-Aid Kits have had their contents shuffled about to include a health analyser and 2 bicaridine pills."
- rscadd: "Added Mercury, Neurapan and Spectrocybin to the random toxins list which can spawn in maintenance or a traitor toxin kit."
- rscadd: "You can now purchase Sideeffect-Be-Gone autoinjectors from the Traitor Uplink. Combat Medical Kits also contain 1 of these autoinjectors."
- tweak: "Pill bottles which spawn at round-start and in kits now have the dosage of the pills on the label to prevent accidental overdoses."
- spellcheck: "Some chemical typos have been fixed. Uncapitalised chemicals have been capitalised."
- tweak: "You can find all of the chemical changes on the feedback thread (https://forums.aurorastation.org/topic/14761-full-chem-rework-feedback-thread/) while the chemistry wiki page is out of date."