From 32db03c463a6b5e84e54f3a678b2e6b4219928cd Mon Sep 17 00:00:00 2001
From: FloFluoro <3611705+FloFluoro@users.noreply.github.com>
Date: Tue, 27 Sep 2022 11:23:47 -0400
Subject: [PATCH] Held items no longer prevent Xenomorph disarm knockdown +
stamina damage (#19142)
* Held items no longer prevent xenomorph disarm knockdown + stamina damage
* Stam damage is now handled by a var, no longer fixed to 30
---
.../mob/living/carbon/human/human_defense.dm | 21 ++++++++-----------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 8396b90ee44..b6cb67f93af 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -636,23 +636,20 @@ emp_act
add_attack_logs(M, src, "Alien attacked")
updatehealth("alien attack")
- if(M.a_intent == INTENT_DISARM) //If not absorbed, always drop item in hand, if no item, get stun instead.
+ if(M.a_intent == INTENT_DISARM) //If not absorbed, you get disarmed, knocked down, and hit with stamina damage.
if(absorb_stun(0))
visible_message("[src] is not affected by [M]'s disarm attempt!")
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
return FALSE
var/obj/item/I = get_active_hand()
- if(I && unEquip(I))
- playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1)
- visible_message("[M] disarms [src]!", "[M] disarms you!", "You hear aggressive shuffling!")
- to_chat(M, "You disarm [src]!")
- else
- var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_selected))
- playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1)
- apply_effect(10 SECONDS, KNOCKDOWN, run_armor_check(affecting, MELEE))
- adjustStaminaLoss(M.alien_disarm_damage)
- add_attack_logs(M, src, "Alien tackled")
- visible_message("[M] has tackled down [src]!")
+ if(I)
+ unEquip(I)
+ var/obj/item/organ/external/affecting = get_organ(ran_zone(M.zone_selected))
+ playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1)
+ apply_effect(10 SECONDS, KNOCKDOWN, run_armor_check(affecting, MELEE))
+ adjustStaminaLoss(M.alien_disarm_damage)
+ add_attack_logs(M, src, "Alien tackled")
+ visible_message("[M] has tackled down [src]!", "You hear aggressive shuffling!")
/mob/living/carbon/human/attack_animal(mob/living/simple_animal/M)
. = ..()