diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 823e2978952..ac1ea2f9714 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -497,11 +497,15 @@ emp_act return FALSE //item force is zero var/armor = run_armor_check(affecting, MELEE, "Your armour has protected your [hit_area].", "Your armour has softened hit to your [hit_area].", armour_penetration_flat = I.armour_penetration_flat, armour_penetration_percentage = I.armour_penetration_percentage) - var/weapon_sharp = is_sharp(I) - if(weapon_sharp && prob(getarmor(user.zone_selected, MELEE))) - weapon_sharp = 0 if(armor == INFINITY) - return 0 + return FALSE + + var/weapon_sharp = I.sharp + // do not roll for random blunt if the target mob is dead for the ease of decaps + if(stat != DEAD) + if(weapon_sharp && prob(getarmor(user.zone_selected, MELEE))) + weapon_sharp = FALSE + var/bonus_damage = 0 if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -509,11 +513,11 @@ emp_act apply_damage(I.force + bonus_damage , I.damtype, affecting, armor, sharp = weapon_sharp, used_weapon = I) - var/bloody = 0 + var/bloody = FALSE if(I.damtype == BRUTE && I.force && prob(25 + I.force * 2)) I.add_mob_blood(src) //Make the weapon bloody, not the person. if(prob(I.force * 2)) //blood spatter! - bloody = 1 + bloody = TRUE var/turf/location = loc if(issimulatedturf(location)) add_splatter_floor(location, emittor_intertia = inertia_next_move > world.time ? last_movement_dir : null)