diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index 7ab9e3587f8..dc95d24ea37 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -89,12 +89,14 @@ /datum/martial_art/krav_maga/proc/leg_sweep(mob/living/carbon/human/A, mob/living/carbon/human/D) if(D.stat || D.IsParalyzed()) return 0 + var/obj/item/bodypart/affecting = D.get_bodypart(BODY_ZONE_CHEST) + var/armor_block = D.run_armor_check(affecting, "melee") D.visible_message("[A] leg sweeps [D]!", \ "Your legs are sweeped by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) to_chat(A, "You leg sweep [D]!") playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) - D.apply_damage(5, BRUTE) - D.Paralyze(40) + D.apply_damage(rand(20,30), STAMINA, affecting, armor_block) + D.Knockdown(60) log_combat(A, D, "leg sweeped") return 1 @@ -130,12 +132,14 @@ if(check_streak(A,D)) return 1 log_combat(A, D, "punched") + var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected)) + var/armor_block = D.run_armor_check(affecting, "melee") var/picked_hit_type = pick("punch", "kick") - var/bonus_damage = 10 + var/bonus_damage = 0 if(!(D.mobility_flags & MOBILITY_STAND)) bonus_damage += 5 picked_hit_type = "stomp" - D.apply_damage(bonus_damage, A.dna.species.attack_type) + D.apply_damage(rand(5,10) + bonus_damage, A.dna.species.attack_type, affecting, armor_block) if(picked_hit_type == "kick" || picked_hit_type == "stomp") A.do_attack_animation(D, ATTACK_EFFECT_KICK) playsound(get_turf(D), 'sound/effects/hit_kick.ogg', 50, TRUE, -1) @@ -151,22 +155,27 @@ /datum/martial_art/krav_maga/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) if(check_streak(A,D)) return 1 - var/obj/item/I = null - if(prob(60)) - I = D.get_active_held_item() - if(I) - if(D.temporarilyRemoveItemFromInventory(I)) - A.put_in_hands(I) - D.visible_message("[A] disarms [D]!", \ - "You're disarmed by [A]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You disarm [D]!") - playsound(D, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) - else - D.visible_message("[A] fails to disarm [D]!", \ - "You're nearly disarmed by [A]!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, A) - to_chat(A, "You fail to disarm [D]!") - playsound(D, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - log_combat(A, D, "disarmed (Krav Maga)", "[I ? " removing \the [I]" : ""]") + var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected)) + var/armor_block = D.run_armor_check(affecting, "melee") + if((D.mobility_flags & MOBILITY_STAND)) + D.visible_message("[A] reprimands [D]!", \ + "You're slapped by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You jab [D]!") + A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) + playsound(D, 'sound/effects/hit_punch.ogg', 50, TRUE, -1) + D.apply_damage(rand(5,10), STAMINA, affecting, armor_block) + log_combat(A, D, "punched nonlethally") + if(!(D.mobility_flags & MOBILITY_STAND)) + D.visible_message("[A] reprimands [D]!", \ + "You're manhandled by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You stomp [D]!") + A.do_attack_animation(D, ATTACK_EFFECT_KICK) + playsound(D, 'sound/effects/hit_punch.ogg', 50, TRUE, -1) + D.apply_damage(rand(10,15), STAMINA, affecting, armor_block) + log_combat(A, D, "stomped nonlethally") + if(prob(D.getStaminaLoss())) + D.visible_message("[D] sputters and recoils in pain!", "You recoil in pain as you are jabbed in a nerve!") + D.drop_all_held_items() return 1 //Krav Maga Gloves