diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index efc217ad3b9..5f6dc91c0db 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -162,7 +162,7 @@ if (contact) msg_admin_attack("[key_name(user)] attempted to stun [key_name(L)] with the [src].") - L.stun_effect_act(stun, agony, target_zone) + L.stun_effect_act(stun, agony, target_zone, src) playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1) msg_admin_attack("[key_name(user)] stunned [key_name(L)] with the [src].") diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 61c12649e42..2d4f62ea944 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -59,14 +59,13 @@ emp_act return -1 // complete projectile permutation - //BEGIN BOOK'S TASER NERF. + //Tasers if(istype(P, /obj/item/projectile/beam/stun)) - stun_effect_act(0, P.agony, def_zone) + stun_effect_act(0, P.agony, def_zone, P) src <<"\red You have been hit by [P]!" del P return - //END TASER NERF //Shrapnel if (P.damage_type == BRUTE) @@ -92,12 +91,12 @@ emp_act c_hand = l_hand else c_hand = r_hand - + if(c_hand) //Not only do you need to guess the correct hand, but you also have a 50% (and increases with distance, in the case of tasers) miss chance when targeting the hands //Since you can disarm someone by spamming disarm with a 60% success rate, it seems fair to have this be an automatic disarm, even for tasers. msg_admin_attack("[src.name] ([src.ckey]) was disarmed by a stun effect") - + u_equip(c_hand) var/datum/organ/external/affected = get_organ(def_zone) if (affected.status & ORGAN_ROBOT) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 6eda17aa120..799d3abe34f 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -69,7 +69,7 @@ return absorb //Handles the effects of "stun" weapons -/mob/living/proc/stun_effect_act(var/stun_amount, var/agony_amount, var/def_zone) +/mob/living/proc/stun_effect_act(var/stun_amount, var/agony_amount, var/def_zone, var/used_weapon=null) flash_pain() if (stun_amount) @@ -79,7 +79,7 @@ apply_effect(EYE_BLUR, stun_amount) if (agony_amount) - apply_effect(agony_amount, AGONY,0) + apply_damage(agony_amount, HALLOSS, def_zone, 0, used_weapon) apply_effect(STUTTER, agony_amount/10) apply_effect(EYE_BLUR, agony_amount/10)