diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index bebd5680ef8..e14cd9c5345 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -58,7 +58,6 @@ dizziness = 0 jitteriness = 0 - hud_updateflag |= 1 << HEALTH_HUD hud_updateflag |= 1 << STATUS_HUD @@ -117,8 +116,6 @@ ticker.mode.check_win() //Calls the rounds wincheck, mainly for wizard, malf, and changeling now return ..(gibbed) - - /mob/living/carbon/human/proc/makeSkeleton() if(SKELETON in src.mutations) return diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index b885d7610e0..713de4aef4a 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -32,6 +32,7 @@ var/damage_msg = "\red You feel an intense pain" var/broken_description + var/vital //Lose a vital limb, die immediately. var/status = 0 var/open = 0 var/stage = 0 @@ -355,7 +356,7 @@ INFECTION_LEVEL_THREE above this germ level the player will take additional toxi Note that amputating the affected organ does in fact remove the infection from the player's body. */ /datum/organ/external/proc/update_germs() - + if(status & (ORGAN_ROBOT|ORGAN_DESTROYED) || (owner.species && owner.species.flags & IS_PLANT)) //Robotic limbs shouldn't be infected, nor should nonexistant limbs. germ_level = 0 return @@ -363,7 +364,7 @@ Note that amputating the affected organ does in fact remove the infection from t if(owner.bodytemperature >= 170) //cryo stops germs from moving and doing their bad stuffs //** Syncing germ levels with external wounds handle_germ_sync() - + //** Handle antibiotics and curing infections handle_antibiotics() @@ -386,10 +387,10 @@ Note that amputating the affected organ does in fact remove the infection from t /datum/organ/external/proc/handle_germ_effects() var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") - + if (germ_level > 0 && germ_level < INFECTION_LEVEL_ONE && prob(60)) //this could be an else clause, but it looks cleaner this way germ_level-- //since germ_level increases at a rate of 1 per second with dirty wounds, prob(60) should give us about 5 minutes before level one. - + if(germ_level >= INFECTION_LEVEL_ONE) //having an infection raises your body temperature var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_THREE, 1) + owner.species.body_temperature @@ -400,7 +401,7 @@ Note that amputating the affected organ does in fact remove the infection from t if(prob(round(germ_level/10))) if (antibiotics < 5) germ_level++ - + if (prob(5)) //adjust this to tweak how fast people take toxin damage from infections owner.adjustToxLoss(1) @@ -411,7 +412,7 @@ Note that amputating the affected organ does in fact remove the infection from t if (I.germ_level > 0 && I.germ_level < min(germ_level, INFECTION_LEVEL_TWO)) //once the organ reaches whatever we can give it, or level two, switch to a different one if (!target_organ || I.germ_level > target_organ.germ_level) //choose the organ with the highest germ_level target_organ = I - + if (!target_organ) //figure out which organs we can spread germs to and pick one at random var/list/candidate_organs = list() @@ -420,7 +421,7 @@ Note that amputating the affected organ does in fact remove the infection from t candidate_organs += I if (candidate_organs.len) target_organ = pick(candidate_organs) - + if (target_organ) target_organ.germ_level++ @@ -666,6 +667,9 @@ Note that amputating the affected organ does in fact remove the infection from t // OK so maybe your limb just flew off, but if it was attached to a pair of cuffs then hooray! Freedom! release_restraints() + if(vital) + owner.death() + /**************************************************** HELPERS ****************************************************/ @@ -829,7 +833,7 @@ Note that amputating the affected organ does in fact remove the infection from t max_damage = 75 min_broken_damage = 40 body_part = UPPER_TORSO - + vital = 1 /datum/organ/external/groin name = "groin" @@ -838,6 +842,7 @@ Note that amputating the affected organ does in fact remove the infection from t max_damage = 50 min_broken_damage = 30 body_part = LOWER_TORSO + vital = 1 /datum/organ/external/l_arm name = "l_arm" @@ -931,6 +936,7 @@ Note that amputating the affected organ does in fact remove the infection from t min_broken_damage = 40 body_part = HEAD var/disfigured = 0 + vital = 1 /datum/organ/external/head/get_icon() if (!owner)