Redoes the variable changes into procs
This commit is contained in:
@@ -39,13 +39,13 @@
|
||||
return
|
||||
|
||||
if(bodytemperature >= TCRYO && !(HAS_TRAIT(src, TRAIT_HUSK))) //cryosleep or husked people do not pump the blood.
|
||||
integrating_blood --
|
||||
if(integrating_blood)
|
||||
integrating_blood --
|
||||
//Blood regeneration if there is some space
|
||||
if(blood_volume < BLOOD_VOLUME_NORMAL)
|
||||
var/nutrition_ratio = 0
|
||||
if(integrating_blood) //Do we have blood to normalize in our system?
|
||||
blood_volume ++
|
||||
//vomit(blood = TRUE) //Too much, just too much
|
||||
if(!HAS_TRAIT(src, TRAIT_NOHUNGER))
|
||||
switch(nutrition)
|
||||
if(0 to NUTRITION_LEVEL_STARVING)
|
||||
@@ -62,13 +62,7 @@
|
||||
nutrition_ratio *= 1.25
|
||||
adjust_nutrition(-nutrition_ratio * HUNGER_FACTOR)
|
||||
blood_volume = min(BLOOD_VOLUME_NORMAL, blood_volume + 0.5 * nutrition_ratio)
|
||||
else
|
||||
if(integrating_blood)
|
||||
integrating_blood --
|
||||
if(integrating_blood > BLOOD_VOLUME_NORMAL) //Let's not allow too much
|
||||
integrating_blood = BLOOD_VOLUME_NORMAL
|
||||
if(integrating_blood > blood_volume)
|
||||
integrating_blood = BLOOD_VOLUME_NORMAL -
|
||||
|
||||
//Effects of bloodloss
|
||||
var/word = pick("dizzy","woozy","faint")
|
||||
var/blood_effect_volume = blood_volume + integrating_blood
|
||||
@@ -386,3 +380,7 @@
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
H.handle_blood()
|
||||
|
||||
/mob/living/proc/AddIntegrationBlood(value)
|
||||
if(blood_volume + integrating_blood < BLOOD_VOLUME_NORMAL)
|
||||
integrating_blood += value
|
||||
|
||||
@@ -1365,7 +1365,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
|
||||
/datum/species/proc/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)
|
||||
if(chem.type == exotic_blood && !istype(exotic_blood, /datum/reagent/blood))
|
||||
H.integrating_blood += round(chem.volume, 0.1)
|
||||
H.AddIntegrationBlood(round(chem.volume, 0.1))
|
||||
H.reagents.del_reagent(chem.type)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -59,13 +59,13 @@
|
||||
if(H.stat == DEAD || HAS_TRAIT(H, TRAIT_NOMARROW)) //can't farm slime jelly from a dead slime/jelly person indefinitely, and no regeneration for bloodsuckers
|
||||
return
|
||||
if(!H.blood_volume)
|
||||
H.integrating_blood += 5
|
||||
H.AddIntegrationBlood(5)
|
||||
H.adjustBruteLoss(5)
|
||||
to_chat(H, "<span class='danger'>You feel empty!</span>")
|
||||
|
||||
if(H.blood_volume < (BLOOD_VOLUME_NORMAL * H.blood_ratio))
|
||||
if(H.nutrition >= NUTRITION_LEVEL_STARVING)
|
||||
H.integrating_blood += 3
|
||||
H.AddIntegrationBlood(3)
|
||||
H.nutrition -= 2.5
|
||||
if(H.blood_volume < (BLOOD_VOLUME_OKAY*H.blood_ratio))
|
||||
if(prob(5))
|
||||
@@ -85,7 +85,7 @@
|
||||
consumed_limb.drop_limb()
|
||||
to_chat(H, "<span class='userdanger'>Your [consumed_limb] is drawn back into your body, unable to maintain its shape!</span>")
|
||||
qdel(consumed_limb)
|
||||
H.integrating_blood += 20
|
||||
H.AddIntegrationBlood(20)
|
||||
|
||||
////////////////////////////////////////////////////////SLIMEPEOPLE///////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
if(prob(5))
|
||||
to_chat(H, "<span class='notice'>You feel very bloated!</span>")
|
||||
else if(H.nutrition >= NUTRITION_LEVEL_WELL_FED)
|
||||
H.integrating_blood += 3
|
||||
H.AddIntegrationBlood(3)
|
||||
H.nutrition -= 2.5
|
||||
|
||||
..()
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
var/stun_absorption = null //converted to a list of stun absorption sources this mob has when one is added
|
||||
|
||||
var/blood_volume = 0 //how much blood the mob has
|
||||
var/integrating_blood = 0 //this is the variable you want to affect if you want to give the mob blood, this will slowly turn into normal blood, preventing some cheesyness
|
||||
var/integrating_blood = 0 //this is the variable you want to affect if you want to give the mob blood, this will slowly turn into normal blood, preventing some cheesyness, use AddIntegrationBlood() instead of modifying directly
|
||||
var/blood_ratio = 1 //How much blood the mob needs, in terms of ratio (i.e 1.2 will require BLOOD_VOLUME_NORMAL of 672) DO NOT GO ABOVE 3.55 Well, actually you can but, then they can't get enough blood.
|
||||
var/obj/effect/proc_holder/ranged_ability //Any ranged ability the mob has, as a click override
|
||||
|
||||
|
||||
Reference in New Issue
Block a user