From 28ac3d5365900dfbd8d34f79b57c02da488356e7 Mon Sep 17 00:00:00 2001 From: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Date: Mon, 15 Aug 2022 15:26:57 +1000 Subject: [PATCH] Reverts #49103 Krav Maga: Stompies Edition (mostly) (#69204) Reverts Krav Maga to a state prior to #49103 with only some minor retention. That is, leg sweep is still a knockdown. --- code/datums/martial/krav_maga.dm | 44 +++++++++++--------------------- 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index 488807dcfb3..0b48873e2df 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -86,13 +86,11 @@ /datum/martial_art/krav_maga/proc/leg_sweep(mob/living/attacker, mob/living/defender) if(defender.stat || defender.IsParalyzed()) return FALSE - var/obj/item/bodypart/affecting = defender.get_bodypart(BODY_ZONE_CHEST) - var/armor_block = defender.run_armor_check(affecting, MELEE) defender.visible_message(span_warning("[attacker] leg sweeps [defender]!"), \ span_userdanger("Your legs are sweeped by [attacker]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, attacker) to_chat(attacker, span_danger("You leg sweep [defender]!")) playsound(get_turf(attacker), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) - defender.apply_damage(rand(20, 30), STAMINA, affecting, armor_block) + defender.apply_damage(5, BRUTE, BODY_ZONE_CHEST) defender.Knockdown(60) log_combat(attacker, defender, "leg sweeped") return TRUE @@ -113,8 +111,8 @@ span_userdanger("Your neck is karate chopped by [attacker], rendering you unable to speak!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, attacker) to_chat(attacker, span_danger("You karate chop [defender]'s neck, rendering [defender.p_them()] unable to speak!")) playsound(get_turf(attacker), 'sound/effects/hit_punch.ogg', 50, TRUE, -1) - defender.apply_damage(5, attacker.get_attack_type()) - if (iscarbon(defender)) + defender.apply_damage(10, attacker.get_attack_type(), BODY_ZONE_HEAD) + if(iscarbon(defender)) var/mob/living/carbon/carbon_defender = defender if(carbon_defender.silent <= 10) carbon_defender.silent = clamp(carbon_defender.silent + 10, 0, 10) @@ -132,13 +130,12 @@ return TRUE log_combat(attacker, defender, "punched") var/obj/item/bodypart/affecting = defender.get_bodypart(ran_zone(attacker.zone_selected)) - var/armor_block = defender.run_armor_check(affecting, MELEE) var/picked_hit_type = pick("punch", "kick") var/bonus_damage = 0 if(defender.body_position == LYING_DOWN) bonus_damage += 5 picked_hit_type = "stomp" - defender.apply_damage(rand(5, 10) + bonus_damage, attacker.get_attack_type(), affecting, armor_block) + defender.apply_damage(10 + bonus_damage, attacker.get_attack_type(), affecting) if(picked_hit_type == "kick" || picked_hit_type == "stomp") attacker.do_attack_animation(defender, ATTACK_EFFECT_KICK) playsound(get_turf(defender), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) @@ -154,28 +151,17 @@ /datum/martial_art/krav_maga/disarm_act(mob/living/attacker, mob/living/defender) if(check_streak(attacker, defender)) return TRUE - var/obj/item/bodypart/affecting = defender.get_bodypart(ran_zone(attacker.zone_selected)) - var/armor_block = defender.run_armor_check(affecting, MELEE) - if(defender.body_position == STANDING_UP) - defender.visible_message(span_danger("[attacker] reprimands [defender]!"), \ - span_userdanger("You're slapped by [attacker]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, attacker) - to_chat(attacker, span_danger("You jab [defender]!")) - attacker.do_attack_animation(defender, ATTACK_EFFECT_PUNCH) - playsound(defender, 'sound/effects/hit_punch.ogg', 50, TRUE, -1) - defender.apply_damage(rand(5, 10), STAMINA, affecting, armor_block) - log_combat(attacker, defender, "punched nonlethally") - if(defender.body_position == LYING_DOWN) - defender.visible_message(span_danger("[attacker] reprimands [defender]!"), \ - span_userdanger("You're manhandled by [attacker]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, attacker) - to_chat(attacker, span_danger("You stomp [defender]!")) - attacker.do_attack_animation(defender, ATTACK_EFFECT_KICK) - playsound(defender, 'sound/effects/hit_punch.ogg', 50, TRUE, -1) - defender.apply_damage(rand(10, 15), STAMINA, affecting, armor_block) - log_combat(attacker, defender, "stomped nonlethally") - if(prob(defender.getStaminaLoss()) && defender.stat < UNCONSCIOUS) - defender.visible_message(span_warning("[defender] sputters and recoils in pain!"), span_userdanger("You recoil in pain as you are jabbed in a nerve!")) - defender.drop_all_held_items() - return TRUE + var/obj/item/stuff_in_hand = null + stuff_in_hand = defender.get_active_held_item() + if(prob(60) && stuff_in_hand) + if(defender.temporarilyRemoveItemFromInventory(stuff_in_hand)) + attacker.put_in_hands(stuff_in_hand) + defender.visible_message("[attacker] disarms [defender]!", \ + "You're disarmed by [attacker]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, attacker) + to_chat(attacker, "You disarm [defender]!") + playsound(defender, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + log_combat(attacker, defender, "shoved (Krav Maga)", "[stuff_in_hand ? " removing \the [stuff_in_hand]" : ""]") + return FALSE //Krav Maga Gloves