More fixes to make it work
This commit is contained in:
@@ -89,6 +89,7 @@
|
|||||||
owner.current.adjustStaminaLoss(-1.5 + (actual_regen * -7) * mult, 0) // Humans lose stamina damage really quickly. Vamps should heal more.
|
owner.current.adjustStaminaLoss(-1.5 + (actual_regen * -7) * mult, 0) // Humans lose stamina damage really quickly. Vamps should heal more.
|
||||||
owner.current.adjustCloneLoss(-0.1 * (actual_regen * 2) * mult, 0)
|
owner.current.adjustCloneLoss(-0.1 * (actual_regen * 2) * mult, 0)
|
||||||
owner.current.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1 * (actual_regen * 4) * mult)
|
owner.current.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1 * (actual_regen * 4) * mult)
|
||||||
|
owner.current.integrating_blood = 0
|
||||||
// No Bleeding
|
// No Bleeding
|
||||||
/*if(ishuman(owner.current)) //NOTE Current bleeding is horrible, not to count the amount of blood ballistics delete.
|
/*if(ishuman(owner.current)) //NOTE Current bleeding is horrible, not to count the amount of blood ballistics delete.
|
||||||
var/mob/living/carbon/human/H = owner.current
|
var/mob/living/carbon/human/H = owner.current
|
||||||
|
|||||||
@@ -39,12 +39,13 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
if(bodytemperature >= TCRYO && !(HAS_TRAIT(src, TRAIT_HUSK))) //cryosleep or husked people do not pump the blood.
|
if(bodytemperature >= TCRYO && !(HAS_TRAIT(src, TRAIT_HUSK))) //cryosleep or husked people do not pump the blood.
|
||||||
|
integrating_blood --
|
||||||
//Blood regeneration if there is some space
|
//Blood regeneration if there is some space
|
||||||
if(blood_volume < BLOOD_VOLUME_NORMAL)
|
if(blood_volume < BLOOD_VOLUME_NORMAL)
|
||||||
var/nutrition_ratio = 0
|
var/nutrition_ratio = 0
|
||||||
if(integrating_blood) //Do we have blood to normalize in our system?
|
if(integrating_blood) //Do we have blood to normalize in our system?
|
||||||
integrating_blood --
|
|
||||||
blood_volume ++
|
blood_volume ++
|
||||||
|
//vomit(blood = TRUE) //Too much, just too much
|
||||||
if(!HAS_TRAIT(src, TRAIT_NOHUNGER))
|
if(!HAS_TRAIT(src, TRAIT_NOHUNGER))
|
||||||
switch(nutrition)
|
switch(nutrition)
|
||||||
if(0 to NUTRITION_LEVEL_STARVING)
|
if(0 to NUTRITION_LEVEL_STARVING)
|
||||||
@@ -64,9 +65,14 @@
|
|||||||
else
|
else
|
||||||
if(integrating_blood)
|
if(integrating_blood)
|
||||||
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
|
//Effects of bloodloss
|
||||||
var/word = pick("dizzy","woozy","faint")
|
var/word = pick("dizzy","woozy","faint")
|
||||||
switch(blood_volume)
|
var/blood_effect_volume = blood_volume + integrating_blood
|
||||||
|
switch(blood_effect_volume)
|
||||||
if(BLOOD_VOLUME_MAXIMUM to BLOOD_VOLUME_EXCESS)
|
if(BLOOD_VOLUME_MAXIMUM to BLOOD_VOLUME_EXCESS)
|
||||||
if(prob(10))
|
if(prob(10))
|
||||||
to_chat(src, "<span class='warning'>You feel terribly bloated.</span>")
|
to_chat(src, "<span class='warning'>You feel terribly bloated.</span>")
|
||||||
|
|||||||
@@ -1365,7 +1365,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
|||||||
|
|
||||||
/datum/species/proc/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)
|
/datum/species/proc/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)
|
||||||
if(chem.type == exotic_blood && !istype(exotic_blood, /datum/reagent/blood))
|
if(chem.type == exotic_blood && !istype(exotic_blood, /datum/reagent/blood))
|
||||||
H.integrating_blood += round(chem.volume, 0.1))
|
H.integrating_blood += round(chem.volume, 0.1)
|
||||||
H.reagents.del_reagent(chem.type)
|
H.reagents.del_reagent(chem.type)
|
||||||
return TRUE
|
return TRUE
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|||||||
@@ -405,13 +405,10 @@
|
|||||||
if((HAS_TRAIT(M, TRAIT_NOMARROW)))
|
if((HAS_TRAIT(M, TRAIT_NOMARROW)))
|
||||||
return
|
return
|
||||||
if(last_added)
|
if(last_added)
|
||||||
M.blood_volume -= last_added
|
M.integrating_blood -= min(M.integrating_blood, last_added)
|
||||||
last_added = 0
|
last_added = 0
|
||||||
if(M.blood_volume < maximum_reachable) //Can only up to double your effective blood level.
|
if(M.blood_volume < maximum_reachable) //Can only up to double your effective blood level.
|
||||||
var/amount_to_add = min(M.blood_volume, volume*5)
|
last_added = volume * 5
|
||||||
var/new_blood_level = min(M.blood_volume + amount_to_add, maximum_reachable)
|
|
||||||
last_added = new_blood_level - M.blood_volume
|
|
||||||
M.integrating_blood += extra_regen
|
|
||||||
if(prob(33))
|
if(prob(33))
|
||||||
M.adjustBruteLoss(-0.5*REM, 0)
|
M.adjustBruteLoss(-0.5*REM, 0)
|
||||||
M.adjustFireLoss(-0.5*REM, 0)
|
M.adjustFireLoss(-0.5*REM, 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user