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