Files
CHOMPStation2/code/modules/reagents/Chemistry-Metabolism.dm
Cadyn b90f7ec922 The 515 MegaPR early downport (#7783)
Co-authored-by: Selis <selis@xynolabs.com>
Co-authored-by: Selis <sirlionfur@hotmail.de>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: SatinIsle <thesatinisle@gmail.com>
Co-authored-by: Heroman <alesha3000@list.ru>
Co-authored-by: Casey <a.roaming.shadow@gmail.com>
Co-authored-by: Raeschen <rycoop29@gmail.com>
2024-02-27 20:17:32 +01:00

35 lines
987 B
Plaintext

/datum/reagents/metabolism
var/metabolism_class //CHEM_TOUCH, CHEM_INGEST, or CHEM_BLOOD
var/metabolism_speed = 1 // Multiplicative, 1 is full speed, 0.5 is half, etc.
var/mob/living/carbon/parent
/datum/reagents/metabolism/New(var/max = 100, mob/living/carbon/parent_mob, var/met_class = null)
..(max, parent_mob)
if(met_class)
metabolism_class = met_class
if(istype(parent_mob))
parent = parent_mob
/datum/reagents/metabolism/proc/metabolize()
var/metabolism_type = 0 //non-human mobs
if(ishuman(parent))
var/mob/living/carbon/human/H = parent
metabolism_type = H.species.reagent_tag
for(var/datum/reagent/current in reagent_list)
current.on_mob_life(parent, metabolism_type, src)
update_total()
// "Specialized" metabolism datums
/datum/reagents/metabolism/bloodstream
metabolism_class = CHEM_BLOOD
/datum/reagents/metabolism/ingested
metabolism_class = CHEM_INGEST
metabolism_speed = 0.5
/datum/reagents/metabolism/touch
metabolism_class = CHEM_TOUCH