Diona Overhaul - SEP2016 (#442)

This commit is contained in:
NanakoAC
2016-09-09 21:55:48 +01:00
committed by skull132
parent a65c4290d6
commit 804851f6f6
83 changed files with 2597 additions and 442 deletions

View File

@@ -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()

View File

@@ -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)

View File

@@ -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"

View File

@@ -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)

View File

@@ -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))