mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-09 17:02:00 +00:00
Diona Overhaul - SEP2016 (#442)
This commit is contained in:
@@ -4,18 +4,20 @@
|
||||
|
||||
/datum/reagents/metabolism/New(var/max = 100, mob/living/carbon/parent_mob, var/met_class)
|
||||
..(max, parent_mob)
|
||||
|
||||
|
||||
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
|
||||
|
||||
else if (istype(parent, /mob/living/carbon/alien/diona))
|
||||
metabolism_type = IS_DIONA
|
||||
|
||||
for(var/datum/reagent/current in reagent_list)
|
||||
current.on_mob_life(parent, metabolism_type, metabolism_class)
|
||||
update_total()
|
||||
@@ -49,7 +49,8 @@
|
||||
removed = min(removed, volume)
|
||||
max_dose = max(volume, max_dose)
|
||||
dose = min(dose + removed, max_dose)
|
||||
if(removed >= (metabolism * 0.1) || removed >= 0.1) // If there's too little chemical, don't affect the mob, just remove it
|
||||
//Relaxed this small amount restriction a bit. it gets in the way of gradually digesting creatures
|
||||
if(removed >= (metabolism * 0.01) || removed >= 0.01) // If there's too little chemical, don't affect the mob, just remove it
|
||||
switch(location)
|
||||
if(CHEM_BLOOD)
|
||||
affect_blood(M, alien, removed)
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
M.nutrition += nutriment_factor * removed // For hunger and fatness
|
||||
M.add_chemical_effect(CE_BLOODRESTORE, blood_factor * removed)
|
||||
|
||||
|
||||
/datum/reagent/nutriment/protein // Bad for Skrell!
|
||||
name = "animal protein"
|
||||
id = "protein"
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
scannable = 1
|
||||
|
||||
/datum/reagent/cryoxadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(M.bodytemperature < 170)
|
||||
if(M.bodytemperature < 170 && alien != IS_DIONA)
|
||||
M.adjustCloneLoss(-10 * removed)
|
||||
M.adjustOxyLoss(-10 * removed)
|
||||
M.heal_organ_damage(10 * removed, 10 * removed)
|
||||
@@ -142,7 +142,7 @@
|
||||
scannable = 1
|
||||
|
||||
/datum/reagent/clonexadone/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
if(M.bodytemperature < 170)
|
||||
if(M.bodytemperature < 170 && alien != IS_DIONA)
|
||||
M.adjustCloneLoss(-30 * removed)
|
||||
M.adjustOxyLoss(-30 * removed)
|
||||
M.heal_organ_damage(30 * removed, 30 * removed)
|
||||
|
||||
@@ -167,6 +167,7 @@
|
||||
reagent_state = LIQUID
|
||||
color = "#49002E"
|
||||
strength = 4
|
||||
metabolism = REM * 0.35
|
||||
|
||||
/datum/reagent/toxin/plantbgone/touch_turf(var/turf/T)
|
||||
if(istype(T, /turf/simulated/wall))
|
||||
|
||||
Reference in New Issue
Block a user