diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm
index 6b12d1e0e7..6dcb9e06ef 100644
--- a/code/datums/martial/boxing.dm
+++ b/code/datums/martial/boxing.dm
@@ -17,14 +17,13 @@
var/atk_verb = pick("left hook","right hook","straight punch")
- var/extra_damage = rand(10, 13)
- if(damage_base == A.dna.species.punchdamagelow)
+ var/extra_damage = base_damage
+ if(extra_damage == A.dna.species.punchdamagelow)
playsound(D.loc, A.dna.species.miss_sound, 25, 1, -1)
D.visible_message("[A] has attempted to [atk_verb] [D]!", \
"[A] has attempted to [atk_verb] [D]!", null, COMBAT_MESSAGE_RANGE)
log_combat(A, D, "attempted to hit", atk_verb)
return TRUE
- damage_base += extra_damage
var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected))
var/armor_block = D.run_armor_check(affecting, "melee")
@@ -34,7 +33,7 @@
D.visible_message("[A] has [atk_verb]ed [D]!", \
"[A] has [atk_verb]ed [D]!", null, COMBAT_MESSAGE_RANGE)
- D.apply_damage(damage_base, STAMINA, affecting, armor_block)
+ D.apply_damage(rand(10,13) + extra_damage, STAMINA, affecting, armor_block)
log_combat(A, D, "punched (boxing) ")
if(D.getStaminaLoss() > 100 && istype(D.mind?.martial_art, /datum/martial_art/boxing))
var/knockout_prob = (D.getStaminaLoss() + rand(-15,15))*0.75
diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm
index 67a0f539de..ed68403b1d 100644
--- a/code/datums/martial/krav_maga.dm
+++ b/code/datums/martial/krav_maga.dm
@@ -96,13 +96,15 @@
return 0
/datum/martial_art/krav_maga/proc/leg_sweep(mob/living/carbon/human/A, mob/living/carbon/human/D)
+ var/obj/item/bodypart/affecting = D.get_bodypart(BODY_ZONE_CHEST)
+ var/armor_block = D.run_armor_check(affecting, "melee")
if(!CHECK_MOBILITY(D, MOBILITY_STAND))
return 0
D.visible_message("[A] leg sweeps [D]!", \
"[A] leg sweeps you!")
playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, 1, -1)
- D.apply_damage(damage_base*0.5, BRUTE)
- D.DefaultCombatKnockdown(40, override_hardstun = 0.01, override_stamdmg = 25)
+ D.apply_damage(damage_base + 25, STAMINA, affecting, armor_block)
+ D.DefaultCombatKnockdown(80, override_hardstun = 1, override_stamdmg = 0)
log_combat(A, D, "leg sweeped")
return 1
@@ -133,15 +135,17 @@
..()
/datum/martial_art/krav_maga/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
+ var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected))
+ var/armor_block = D.run_armor_check(affecting, "melee")
if(check_streak(A,D))
return 1
log_combat(A, D, "punched")
var/picked_hit_type = pick("punches", "kicks")
- var/bonus_damage = (damage_base + 5)
+ var/bonus_damage = 0
if(CHECK_MOBILITY(D, MOBILITY_STAND))
- bonus_damage += 5
+ bonus_damage += 10
picked_hit_type = "stomps on"
- D.apply_damage(bonus_damage, BRUTE)
+ D.apply_damage(damage_base + bonus_damage, BRUTE, affecting, armor_block)
if(picked_hit_type == "kicks" || picked_hit_type == "stomps on")
A.do_attack_animation(D, ATTACK_EFFECT_KICK)
playsound(get_turf(D), 'sound/effects/hit_kick.ogg', 50, 1, -1)
@@ -153,21 +157,30 @@
log_combat(A, D, "[picked_hit_type] with [name]")
return 1
-/datum/martial_art/krav_maga/disarm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
- 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] has disarmed [D]!", \
- "[A] has disarmed [D]!")
- playsound(D, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
- else
- D.visible_message("[A] attempted to disarm [D]!", \
- "[A] attempted to disarm [D]!")
- playsound(D, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
- log_combat(A, D, "disarmed (Krav Maga)", "[I ? " removing \the [I]" : ""]")
+/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/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(damage_base + 5, 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(damage_base + 10, 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
diff --git a/code/datums/martial/mushpunch.dm b/code/datums/martial/mushpunch.dm
index 8027d8e974..19041a0665 100644
--- a/code/datums/martial/mushpunch.dm
+++ b/code/datums/martial/mushpunch.dm
@@ -12,7 +12,7 @@
atk_verb = pick("punches", "smashes", "ruptures", "cracks")
D.visible_message("[A] [atk_verb] [D] with inhuman strength, sending [D.p_them()] flying backwards!", \
"[A] [atk_verb] you with inhuman strength, sending you flying backwards!")
- D.apply_damage(damage_base*10, BRUTE) //KAPOW
+ D.apply_damage(damage_base*3, BRUTE) //KAPOW
playsound(D, 'sound/effects/meteorimpact.ogg', 25, 1, -1)
var/throwtarget = get_edge_target_turf(A, get_dir(A, get_step_away(D, A)))
D.throw_at(throwtarget, 4, 2, A)//So stuff gets tossed around at the same time.
diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm
index 9a086b75a2..c4a8c1e827 100644
--- a/code/modules/antagonists/cult/blood_magic.dm
+++ b/code/modules/antagonists/cult/blood_magic.dm
@@ -656,6 +656,7 @@
C.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), SLOT_WEAR_SUIT)
C.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult/alt(user), SLOT_SHOES)
C.equip_to_slot_or_del(new /obj/item/storage/backpack/cultpack(user), SLOT_BACK)
+ C.equip_to_slot_or_del(new /obj/item/clothing/gloves/fingerless/pugilist/hungryghost(user), SLOT_GLOVES)
if(C == user)
qdel(src) //Clears the hands
C.put_in_hands(new /obj/item/melee/cultblade(user))
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 989a7c3b07..76ecff108e 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -50,6 +50,7 @@
/obj/item/clothing/gloves/fingerless/pugilist/holy
name = "armwraps of unyielding resolve"
desc = "A series of armwraps, soaked in holy water. Makes you pretty keen to smite evil magic users."
+ resistance_flags = FIRE_PROOF | ACID_PROOF
enhancement = 1 //It is not magic that makes you punch harder, but force of will. Trust me.
secondary_trait = TRAIT_ANTIMAGIC
@@ -61,7 +62,7 @@
/obj/item/clothing/gloves/fingerless/pugilist/hungryghost
name = "armwraps of the hungry ghost"
- desc = "A series of blackened, bloodstained armwraps scrawled with strange geometric symbols. Makes you pretty keen to commit horrible acts against the living through bloody carnage."
+ desc = "A series of blackened, bloodstained armwraps stitched with strange geometric symbols. Makes you pretty keen to commit horrible acts against the living through bloody carnage."
icon_state = "narsiearmwraps"
item_state = "narsiearmwraps"
resistance_flags = FIRE_PROOF | ACID_PROOF
diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi
index e7068a1854..048df0621a 100644
Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ
diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi
index e937842275..bbdae032c7 100644
Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ