From aaf1b2bbd2cf338060cb01166a3a89408e45f503 Mon Sep 17 00:00:00 2001 From: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Date: Sat, 15 Feb 2025 20:43:39 +1100 Subject: [PATCH] Fixes pellet clouds only ever doing blunt wounds even if the projectile is sharp (#89464) ## About The Pull Request What is says on the tin ## Why It's Good For The Game I thought it was weird that shotguns were only ever breaking limbs but never causing bleeders. Now I know why. ## Changelog :cl: fix: Pellet clouds now can cause bleeds and punctures if the projectile is sharp. /:cl: --- code/datums/components/pellet_cloud.dm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/code/datums/components/pellet_cloud.dm b/code/datums/components/pellet_cloud.dm index 534a6ed8f6f..811563f57da 100644 --- a/code/datums/components/pellet_cloud.dm +++ b/code/datums/components/pellet_cloud.dm @@ -314,6 +314,14 @@ var/w_bonus = wound_info_by_part[hit_part][CLOUD_POSITION_W_BONUS] var/bw_bonus = wound_info_by_part[hit_part][CLOUD_POSITION_BW_BONUS] var/wounding_type = (initial(proj_type.damage_type) == BRUTE) ? WOUND_BLUNT : WOUND_BURN // sharpness is handled in the wound rolling + var/sharpness = initial(proj_type.sharpness) + + if(wounding_type == WOUND_BLUNT && sharpness) + if(sharpness & SHARP_EDGED) + wounding_type = WOUND_SLASH + else if (sharpness & SHARP_POINTY) + wounding_type = WOUND_PIERCE + wound_info_by_part -= hit_part // technically this only checks armor worn the moment that all the pellets resolve rather than as each one hits you, @@ -326,7 +334,7 @@ armor_factor *= ARMOR_WEAKENED_MULTIPLIER damage_dealt *= max(0, 1 - armor_factor*0.01) - hit_part.painless_wound_roll(wounding_type, damage_dealt, w_bonus, bw_bonus, initial(proj_type.sharpness)) + hit_part.painless_wound_roll(wounding_type, damage_dealt, w_bonus, bw_bonus, sharpness) var/limb_hit_text = "" if(hit_part)