From 3de68526d41a3d5e8e465ce1d901abb70027ee70 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sat, 29 Nov 2014 23:10:00 +0100 Subject: [PATCH] Add autopsy data for stunning and bullets --- .../modules/mob/living/carbon/human/human_defense.dm | 12 ++++++++++-- code/modules/mob/living/living_defense.dm | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index e9ee98099fb..44c8ba1c0fd 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -46,10 +46,14 @@ emp_act (SP.desc) = "[SP.desc] It looks like it was fired from [P.shot_from]." (SP.loc) = organ organ.embed(SP) + + var/mob/living/carbon/human/M = src + var/datum/organ/external/affected = M.get_organ(def_zone) + affected.add_autopsy_data(P.name, P.damage) // Add the bullet's name to the autopsy data return (..(P , def_zone)) -/mob/living/carbon/human/stun_effect_act(var/stun_amount, var/agony_amount, var/def_zone) +/mob/living/carbon/human/stun_effect_act(var/stun_amount, var/agony_amount, var/def_zone, var/used_weapon = null) var/datum/organ/external/affected = get_organ(check_zone(def_zone)) var/siemens_coeff = get_siemens_coefficient_organ(affected) stun_amount *= siemens_coeff @@ -75,7 +79,11 @@ emp_act var/emote_scream = pick("screams in pain and", "lets out a sharp cry and", "cries out and") emote("me", 1, "[(species && species.flags & NO_PAIN) ? "" : emote_scream ] drops what they were holding in their [affected.display_name]!") - ..(stun_amount, agony_amount, def_zone) + if(used_weapon) + var/obj/item/W = used_weapon + affected.add_autopsy_data(W.name, agony_amount) // Add the weapon's name to the autopsy data + + ..(stun_amount, agony_amount, def_zone, used_weapon) /mob/living/carbon/human/getarmor(var/def_zone, var/type) var/armorval = 0 diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 612e5f29e41..113f00e1fb9 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -81,6 +81,7 @@ if(!P.nodamage) apply_damage(P.damage, P.damage_type, def_zone, absorb, 0, P, sharp=proj_sharp, edge=proj_edge) + P.on_hit(src, absorb, def_zone) if(istype(P, /obj/item/projectile/beam/lightning)) if(P.damage >= 200)