mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-21 23:52:12 +00:00
Chemical Improvements & Tweaks: Side-effects, overdoses, and more. (#9708)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
. = ..()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
)
|
||||
@@ -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
|
||||
|
||||
@@ -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, \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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].
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
|
||||
|
||||
/datum/reagent/fuel
|
||||
name = "Welding fuel"
|
||||
name = "Welding Fuel"
|
||||
description = "Required for welders. Flammable."
|
||||
reagent_state = LIQUID
|
||||
color = "#660000"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
61
html/changelogs/chemistry-changes.yml
Normal file
61
html/changelogs/chemistry-changes.yml
Normal 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."
|
||||
Reference in New Issue
Block a user