Adds code to make species level metabolism changes possible.

This commit is contained in:
Anewbe
2016-09-28 16:16:31 -05:00
parent 19d0fc3338
commit 9b57ecbe82
8 changed files with 28 additions and 0 deletions
@@ -19,6 +19,7 @@
var/list/data = null
var/volume = 0
var/metabolism = REM // This would be 0.2 normally
var/mrate_static = FALSE //If the reagent should always process at the same speed, regardless of species, make this TRUE
var/ingest_met = 0
var/touch_met = 0
var/dose = 0
@@ -60,6 +61,8 @@
if(overdose && (volume > overdose) && (location != CHEM_TOUCH))
overdose(M, alien)
var/removed = metabolism
if(!mrate_static == TRUE)
removed *= M.species.metabolic_rate
if(ingest_met && (location == CHEM_INGEST))
removed = ingest_met
if(touch_met && (location == CHEM_TOUCH))
@@ -4,6 +4,7 @@
id = "blood"
reagent_state = LIQUID
metabolism = REM * 5
mrate_static = TRUE
color = "#C80000"
glass_name = "tomato juice"
@@ -75,6 +76,7 @@
id = "antibodies"
reagent_state = LIQUID
color = "#0050F0"
mrate_static = TRUE
/datum/reagent/antibodies/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(src.data)
@@ -89,6 +91,7 @@
reagent_state = LIQUID
color = "#0064C877"
metabolism = REM * 10
mrate_static = TRUE
glass_name = "water"
glass_desc = "The father of all refreshments."
@@ -12,6 +12,7 @@
reagent_state = SOLID
color = "#1C1300"
ingest_met = REM * 5
mrate_static = TRUE
/datum/reagent/carbon/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
@@ -66,6 +67,8 @@
var/targ_temp = 310
var/halluci = 0
mrate_static = TRUE
glass_name = "ethanol"
glass_desc = "A well-known alcohol with a variety of applications."
@@ -6,6 +6,7 @@
description = "All the vitamins, minerals, and carbohydrates the body needs in pure form."
reagent_state = SOLID
metabolism = REM * 4
mrate_static = TRUE
var/nutriment_factor = 30 // Per unit
var/injectable = 0
color = "#664330"
@@ -8,6 +8,7 @@
color = "#00BFFF"
overdose = REAGENTS_OVERDOSE * 2
metabolism = REM * 0.5
mrate_static = TRUE
scannable = 1
/datum/reagent/inaprovaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
@@ -91,6 +92,7 @@
description = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective."
reagent_state = LIQUID
color = "#0040FF"
mrate_static = TRUE //Until it's not crazy strong, at least
overdose = REAGENTS_OVERDOSE * 0.5
scannable = 1
@@ -123,6 +125,7 @@
reagent_state = LIQUID
color = "#8080FF"
metabolism = REM * 0.5
mrate_static = TRUE
scannable = 1
/datum/reagent/cryoxadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
@@ -139,6 +142,7 @@
reagent_state = LIQUID
color = "#80BFFF"
metabolism = REM * 0.5
mrate_static = TRUE
scannable = 1
/datum/reagent/clonexadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
@@ -159,6 +163,7 @@
overdose = 60
scannable = 1
metabolism = 0.02
mrate_static = TRUE
/datum/reagent/paracetamol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.add_chemical_effect(CE_PAINKILLER, 50)
@@ -176,6 +181,7 @@
overdose = 30
scannable = 1
metabolism = 0.02
mrate_static = TRUE
/datum/reagent/tramadol/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.add_chemical_effect(CE_PAINKILLER, 80)
@@ -192,6 +198,7 @@
color = "#800080"
overdose = 20
metabolism = 0.02
mrate_static = TRUE
/datum/reagent/oxycodone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.add_chemical_effect(CE_PAINKILLER, 200)
@@ -311,6 +318,7 @@
reagent_state = LIQUID
color = "#FF3300"
metabolism = REM * 0.3
mrate_static = TRUE
overdose = REAGENTS_OVERDOSE * 0.5
/datum/reagent/hyperzine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
@@ -376,6 +384,7 @@
reagent_state = LIQUID
color = "#C1C1C1"
metabolism = REM * 0.05
mrate_static = TRUE
overdose = REAGENTS_OVERDOSE
scannable = 1
@@ -430,6 +439,7 @@
reagent_state = LIQUID
color = "#BF80BF"
metabolism = 0.01
mrate_static = TRUE
data = 0
/datum/reagent/methylphenidate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
@@ -450,6 +460,7 @@
reagent_state = LIQUID
color = "#FF80FF"
metabolism = 0.01
mrate_static = TRUE
data = 0
/datum/reagent/citalopram/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
@@ -470,6 +481,7 @@
reagent_state = LIQUID
color = "#FF80BF"
metabolism = 0.01
mrate_static = TRUE
data = 0
/datum/reagent/paroxetine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
@@ -111,6 +111,7 @@
reagent_state = LIQUID
color = "#C8A5DC"
affects_dead = 1 //This can even heal dead people.
mrate_static = TRUE //Just in case
glass_name = "liquid gold"
glass_desc = "It's magic. We don't have to explain it."
@@ -182,6 +183,7 @@
description = "Adrenaline is a hormone used as a drug to treat cardiac arrest and other cardiac dysrhythmias resulting in diminished or absent cardiac output."
reagent_state = LIQUID
color = "#C8A5DC"
mrate_static = TRUE
/datum/reagent/adrenaline/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
@@ -195,6 +197,7 @@
id = "holywater"
description = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality."
color = "#E0E8EF"
mrate_static = TRUE
glass_name = "holy water"
glass_desc = "An ashen-obsidian-water mix, this solution will alter certain sections of the brain's rationality."
@@ -7,6 +7,7 @@
reagent_state = LIQUID
color = "#CF3600"
metabolism = REM * 0.25 // 0.05 by default. Hopefully enough to get some help, or die horribly, whatever floats your boat
mrate_static = TRUE
var/strength = 4 // How much damage it deals per unit
/datum/reagent/toxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)