diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 119ee1f1cf9..c67476f52c5 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1198,6 +1198,8 @@ mob/living/carbon/human/yank_out_object() /mob/living/carbon/human/proc/handle_embedded_objects() for(var/datum/organ/external/organ in src.organs) + if(organ.status & ORGAN_SPLINTED) //Splints prevent movement. + continue for(var/obj/item/weapon/O in organ.implants) if(!istype(O,/obj/item/weapon/implant) && prob(5)) //Moving with things stuck in you could be bad. // All kinds of embedded objects cause bleeding. @@ -1211,9 +1213,10 @@ mob/living/carbon/human/yank_out_object() msg ="[O] in your [organ.display_name] twists painfully as you move." src << msg - organ.status |= ORGAN_BLEEDING organ.take_damage(rand(1,3), 0, 0) - src.adjustToxLoss(rand(1,3)) + if(!(organ.status & ORGAN_ROBOT)) //There is no blood in protheses. + organ.status |= ORGAN_BLEEDING + src.adjustToxLoss(rand(1,3)) /mob/living/carbon/human/verb/check_pulse() set category = "Object" diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 22ea3b94002..3424bdb562d 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -1,14 +1,14 @@ /mob/living/carbon/human/movement_delay() var/tally = 0 - if(reagents.has_reagent("hyperzine")) return -1 - - if(reagents.has_reagent("nuka_cola")) return -1 - if (istype(loc, /turf/space)) return -1 // It's hard to be slowed down in space by... anything handle_embedded_objects() //Moving with objects stuck in you can cause bad times. + if(reagents.has_reagent("hyperzine")) return -1 + + if(reagents.has_reagent("nuka_cola")) return -1 + var/health_deficiency = (100 - health - halloss) if(health_deficiency >= 40) tally += (health_deficiency / 25)