diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index adf1d6ebb07..68c1f4240a9 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -243,17 +243,6 @@ else if(!client && brain_op_stage != 4 && stat != DEAD) msg += "[t_He] [t_has] a vacant, braindead stare...\n" - msg += "" - - if(nutrition < 100) - msg += "[t_He] [t_is] severely malnourished.\n" - else if(nutrition >= 500) - if(usr.nutrition < 100) - msg += "[t_He] [t_is] plump and delicious looking - Like a fat little piggy. A tasty piggy.\n" - else - msg += "[t_He] [t_is] quite chubby.\n" - msg += "" - var/list/wound_flavor_text = list() var/list/is_destroyed = list() var/list/is_bleeding = list() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 341fd73fa28..f9d09b0b0e7 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -401,6 +401,26 @@ var/turf/location = M.loc if (istype(location, /turf/simulated)) location.add_blood(M) + if(ishuman(M)) + var/mob/living/carbon/H = M + var/blood_volume = round(H:vessel.get_reagent_amount("blood")) + if(blood_volume > 0) + H:vessel.remove_reagent("blood",1) + if(prob(5)) + M.adjustBruteLoss(1) + visible_message("\red \The [M]'s wounds open more from being dragged!") + if(M.pull_damage()) + if(prob(25)) + M.adjustBruteLoss(2) + visible_message("\red \The [M]'s wounds worsen terribly from being dragged!") + var/turf/location = M.loc + if (istype(location, /turf/simulated)) + location.add_blood(M) + if(ishuman(M)) + var/mob/living/carbon/H = M + var/blood_volume = round(H:vessel.get_reagent_amount("blood")) + if(blood_volume > 0) + H:vessel.remove_reagent("blood",1) step(pulling, get_dir(pulling.loc, T)) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 0be75596a90..73dac35e1a6 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -570,6 +570,17 @@ var/list/slot_equipment_priority = list( \ return +/mob/proc/pull_damage() + if(ishuman(src)) + var/mob/living/carbon/human/H = src + if(H.health - H.halloss <= config.health_threshold_crit) + for(var/name in H.organs_by_name) + var/datum/organ/external/e = H.organs_by_name[name] + if((H.lying) && ((e.status & ORGAN_BROKEN && !(e.status & ORGAN_SPLINTED)) || e.status & ORGAN_BLEEDING) && (H.getBruteLoss() + H.getFireLoss() >= 100)) + return 1 + break + return 0 + /mob/MouseDrop(mob/M as mob) ..() if(M != usr) return