Adds Omnizine, Atropine, Epinephrine, Mannitol. (#5414)

Adds 4 new reagents. Adds Omnizine, Atropine, Epinephrine, Mannitol.
This commit is contained in:
BurgerLUA
2018-11-15 11:10:26 -08:00
committed by Werner
parent 5b18e803c5
commit 4efee9c608
3 changed files with 176 additions and 4 deletions
@@ -24,6 +24,47 @@
QDEL_NULL(modifier)
return ..()
/datum/reagent/epinephrine
name = "Epinephrine"
id = "epinephrine"
description = "Epinephrine, also known as adrenaline, is a super strength stimulant and painkiller intended to keep a patient alive while in critical condition."
reagent_state = LIQUID
color = "#FFFFFF"
overdose = REAGENTS_OVERDOSE
metabolism = REM * 2
metabolism_min = REM * 0.25
breathe_mul = 0.25
ingest_mul = 0.25
scannable = 1
taste_description = "salty sugar"
var/datum/modifier/modifier
/datum/reagent/epinephrine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(M.health <= config.health_threshold_crit)
var/damage_stats = list(BRUTE = M.getBruteLoss(), BURN = M.getFireLoss(), TOX = M.getToxLoss(), OXY = M.getOxyLoss())
damage_stats = sortByKey(damage_stats)
var/best_stat = get_key_by_index(damage_stats,1)
switch(best_stat)
if(BRUTE)
M.adjustBruteLoss(removed*5)
if(BURN)
M.adjustFireLoss(removed*5)
if(TOX)
M.adjustToxLoss(removed*5)
if(OXY)
M.adjustOxyLoss(removed*5)
M.make_jittery(removed)
M.add_chemical_effect(CE_STABLE)
M.add_chemical_effect(CE_PAINKILLER, 25)
if (!modifier)
modifier = M.add_modifier(/datum/modifier/adrenaline, MODIFIER_REAGENT, src, _strength = 1, override = MODIFIER_OVERRIDE_STRENGTHEN)
/datum/reagent/epinephrine/Destroy()
QDEL_NULL(modifier)
return ..()
/datum/reagent/bicaridine
name = "Bicaridine"
id = "bicaridine"
@@ -157,6 +198,46 @@
M.heal_organ_damage(3 * removed * power,3 * removed * power)
M.adjustToxLoss(-3 * removed)
/datum/reagent/omnizine
name = "Omnizine"
id = "omnizine"
description = "Omnizine is a low strength over-the-counter stimulant designed and marketed as a 'treat all' pill. Ingesting or inhaling the substance has the same strength as directly injecting it."
reagent_state = SOLID
color = "#8080AA"
metabolism = REM
ingest_mul = 1
breathe_mul = 1
scannable = 1
taste_description = "bittersweet chalk"
/datum/reagent/omnizine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.adjustOxyLoss(-1 * removed)
M.adjustBruteLoss(-1 * removed)
M.adjustFireLoss(-1 * removed)
M.adjustToxLoss(-1 * removed)
/datum/reagent/atropine
name = "Atropine"
id = "atropine"
description = "Atropine is an emergency stabilizing reagent designed to heal suffocation, blunt trauma, and burns in critical condition. Side effects include toxin increase."
reagent_state = LIQUID
metabolism = REM * 4
color = "#8040FF"
scannable = 1
taste_description = "bitterness"
breathe_mul = 0
/datum/reagent/atropine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
var/reagent_strength = 0.25
if(M.health <= config.health_threshold_crit)
reagent_strength = 1
M.adjustOxyLoss(-10 * removed * reagent_strength)
M.adjustBruteLoss(-4 * removed * reagent_strength)
M.adjustFireLoss(-4 * removed * reagent_strength)
M.adjustToxLoss(1 * removed)
/datum/reagent/cryoxadone
name = "Cryoxadone"
id = "cryoxadone"
@@ -1010,17 +1091,43 @@
if (prob(dose))
M.vomit()
/datum/reagent/mannitol
name = "Mannitol"
id = "mannitol"
description = "Mannitol is a super strength chemical that heals brain tissue damage and cures dumbness, cerebral blindness, cerebral paralysis, colorblindness, and aphasia. More effective when the patient's body temperature is less than 170K."
reagent_state = LIQUID
color = "#FFFF00"
metabolism = REM * 2 //0.4
overdose = REAGENTS_OVERDOSE
scannable = 1
taste_description = "bitterness"
metabolism_min = REM * 0.25
var/list/curable_traumas = list(
/datum/brain_trauma/mild/dumbness/,
/datum/brain_trauma/severe/blindness/,
/datum/brain_trauma/severe/paralysis/,
/datum/brain_trauma/severe/total_colorblind/,
/datum/brain_trauma/severe/aphasia/
)
//Things that are not cured by medication:
//Dumbness
/datum/reagent/mannitol/affect_blood(var/mob/living/carbon/human/M, var/alien, var/removed)
M.add_chemical_effect(CE_PAINKILLER, 10)
var/chance = dose*removed
if(M.bodytemperature < 170)
chance = (chance*4) + 5
if(prob(chance))
M.cure_trauma_type(pick(curable_traumas))
M.adjustBrainLoss(10*removed)
//Things that are not cured/treated by medication:
//Gerstmann Syndrome
//Cerebral Near-Blindness
//Mutism
//Cerebral Blindness
//Paralysis
//Narcolepsy
//Discoordination
//Aphasia
/datum/reagent/calomel
name = "Calomel"
@@ -577,6 +577,34 @@
required_reagents = list("phoron" = 0.1, "water" = 1, "potassium_chloride" = 0.2)
result_amount = 1
/datum/chemical_reaction/mannitol
name = "Mannitol"
id = "mannitol"
result = "mannitol"
required_reagents = list("phoron" = 0.1, "alkysine" = 1, "cryoxadone" = 0.1)
result_amount = 1
/datum/chemical_reaction/omnizine
name = "Omnizine"
id = "omnizine"
result = "omnizine"
required_reagents = list("tricordrazine" = 1, "sugar" = 1, "carbon" = 1 )
result_amount = 3
/datum/chemical_reaction/atropine
name = "Atropine"
id = "atropine"
result = "atropine"
required_reagents = list("tricordrazine" = 1, "phoron" = 0.1, "hydrazine" = 1 )
result_amount = 2
/datum/chemical_reaction/epinephrine
name = "Epinephrine"
id = "epinephrine"
result = "epinephrine"
required_reagents = list("atropine" = 1, "phoron" = 0.1, "inaprovaline" = 1 )
result_amount = 2
//Mental Medication
/datum/chemical_reaction/methylphenidate