diff --git a/code/datums/components/pellet_cloud.dm b/code/datums/components/pellet_cloud.dm index 30e880a693f..326a6a6baff 100644 --- a/code/datums/components/pellet_cloud.dm +++ b/code/datums/components/pellet_cloud.dm @@ -260,13 +260,14 @@ var/obj/item/bodypart/hit_part if(isbodypart(target)) hit_part = target - target = hit_part.owner - var/damage_dealt = wound_info_by_part[hit_part][CLOUD_POSITION_DAMAGE] - 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/wound_type = (initial(P.damage_type) == BRUTE) ? WOUND_BLUNT : WOUND_BURN // sharpness is handled in the wound rolling - wound_info_by_part[hit_part] = null - hit_part.painless_wound_roll(wound_type, damage_dealt, w_bonus, bw_bonus, initial(P.sharpness)) + if(wound_info_by_part[hit_part]) + target = hit_part.owner + var/damage_dealt = wound_info_by_part[hit_part][CLOUD_POSITION_DAMAGE] + 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/wound_type = (initial(P.damage_type) == BRUTE) ? WOUND_BLUNT : WOUND_BURN // sharpness is handled in the wound rolling + wound_info_by_part[hit_part] = null + hit_part.painless_wound_roll(wound_type, damage_dealt, w_bonus, bw_bonus, initial(P.sharpness)) if(num_hits > 1) target.visible_message("[target] is hit by [num_hits] [proj_name]s[hit_part ? " in the [hit_part.name]" : ""]!", null, null, COMBAT_MESSAGE_RANGE, target)