diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index ed68403b1d..bcc561a15b 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -84,29 +84,29 @@ if("neck_chop") streak = "" neck_chop(A,D) - return 1 + return TRUE if("leg_sweep") streak = "" leg_sweep(A,D) - return 1 + return TRUE if("quick_choke")//is actually lung punch streak = "" quick_choke(A,D) - return 1 - return 0 + return TRUE + return FALSE /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 + return FALSE 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 + 25, STAMINA, affecting, armor_block) D.DefaultCombatKnockdown(80, override_hardstun = 1, override_stamdmg = 0) log_combat(A, D, "leg sweeped") - return 1 + return TRUE /datum/martial_art/krav_maga/proc/quick_choke(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)//is actually lung punch D.visible_message("[A] pounds [D] on the chest!", \ @@ -116,7 +116,7 @@ D.losebreath = CLAMP(D.losebreath + 5, 0, 10) D.adjustOxyLoss(damage_base + 5) log_combat(A, D, "quickchoked") - return 1 + return TRUE /datum/martial_art/krav_maga/proc/neck_chop(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) D.visible_message("[A] karate chops [D]'s neck!", \ @@ -126,11 +126,11 @@ if(D.silent <= 10) D.silent = CLAMP(D.silent + 10, 0, 10) log_combat(A, D, "neck chopped") - return 1 + return TRUE /datum/martial_art/krav_maga/grab_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) if(check_streak(A,D)) - return 1 + return TRUE log_combat(A, D, "grabbed (Krav Maga)") ..() @@ -138,7 +138,7 @@ 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 + return TRUE log_combat(A, D, "punched") var/picked_hit_type = pick("punches", "kicks") var/bonus_damage = 0 @@ -155,14 +155,14 @@ D.visible_message("[A] [picked_hit_type] [D]!", \ "[A] [picked_hit_type] you!") log_combat(A, D, "[picked_hit_type] with [name]") - return 1 + return TRUE /datum/martial_art/krav_maga/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) if(check_streak(A,D)) - return 1 + return TRUE 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)) + 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]!") @@ -170,7 +170,7 @@ 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)) + else 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]!") @@ -181,7 +181,7 @@ 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 + return TRUE //Krav Maga Gloves diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index a2074354f3..3a9d842a73 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -20,12 +20,15 @@ body_parts_covered = ARMS cold_protection = ARMS strip_delay = 300 //you can't just yank them off + ///Extra damage through the punch. var/enhancement = 0 //it's a +0 to your punches because it isn't magical + ///Main trait added by the gloves to the user on wear. var/inherited_trait = TRAIT_NOGUNS //what are you, dishonoroable? + ///Secondary trait added by the gloves to the user on wear. var/secondary_trait = TRAIT_FEARLESS //what are you, a coward? /obj/item/clothing/gloves/fingerless/pugilist/equipped(mob/user, slot) - ..() + . = ..() if(slot == SLOT_GLOVES) if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -36,7 +39,7 @@ H.dna.species.punchdamagelow += enhancement /obj/item/clothing/gloves/fingerless/pugilist/dropped(mob/user) - ..() + REMOVE_TRAIT(user, TRAIT_PUGILIST, GLOVE_TRAIT) REMOVE_TRAIT(user, inherited_trait, GLOVE_TRAIT) REMOVE_TRAIT(user, secondary_trait, GLOVE_TRAIT) @@ -44,6 +47,7 @@ var/mob/living/carbon/human/H = user H.dna.species.punchdamagehigh = initial(H.dna.species.punchdamagehigh) H.dna.species.punchdamagelow = initial(H.dna.species.punchdamagelow) + return ..() /obj/item/clothing/gloves/fingerless/pugilist/chaplain name = "armwraps of unyielding resolve" @@ -52,7 +56,7 @@ enhancement = 1 //It is not magic that makes you punch harder, but force of will. Trust me. secondary_trait = TRAIT_ANTIMAGIC var/chaplain_spawnable = TRUE - + /obj/item/clothing/gloves/fingerless/pugilist/chaplain/Initialize() . = ..() AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, null, null, FALSE) @@ -72,7 +76,7 @@ armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 35, "rad" = 0, "fire" = 50, "acid" = 50) enhancement = 3 secondary_trait = TRAIT_KI_VAMPIRE - + /obj/item/clothing/gloves/fingerless/pugilist/brassmountain name = "armbands of the brass mountain" desc = "A series of scolding hot brass armbands. Makes you pretty keen to bring the light to the unenlightened through unmitigated violence." @@ -91,21 +95,21 @@ enhancement = 10 //omae wa mou shindeiru var/warcry = "AT" secondary_trait = TRAIT_NOHARDCRIT - + /obj/item/clothing/gloves/fingerless/pugilist/rapid/Initialize() . = ..() ADD_TRAIT(src, TRAIT_NODROP, GLOVE_TRAIT) -/obj/item/clothing/gloves/fingerless/pugilist/rapid/Touch(mob/living/target,proximity = TRUE) - if(!istype(target)) +/obj/item/clothing/gloves/fingerless/pugilist/rapid/Touch(atom/target, proximity = TRUE) + if(!isliving(target)) return var/mob/living/M = loc M.changeNext_move(CLICK_CD_RAPID) if(warcry) - M.say("[warcry]", ignore_spam = TRUE, forced = "north star warcry") + M.say("[warcry]", ignore_spam = TRUE, forced = TRUE) - .= FALSE + .return FALSE /obj/item/clothing/gloves/fingerless/pugilist/rapid/attack_self(mob/user) var/input = stripped_input(user,"What do you want your battlecry to be? Max length of 6 characters.", ,"", 7) @@ -125,13 +129,14 @@ var/mob/living/M = loc - if(M.a_intent == INTENT_HELP) - if(target.health >= 0 && !HAS_TRAIT(target, TRAIT_FAKEDEATH)) //Can't hug people who are dying/dead - if(target.on_fire || target.lying) //No spamming extinguishing, helping them up, or other non-hugging/patting help interactions - return - else - M.changeNext_move(CLICK_CD_RAPID) - . = FALSE + if(M.a_intent != INTENT_HELP) + return FALSE + if(stat != CONSCIOUS) //Can't hug people who are dying/dead + return FALSE + else + M.changeNext_move(CLICK_CD_RAPID) + + return FALSE /obj/item/clothing/gloves/fingerless/pugilist/rapid/hug/attack_self(mob/user) return FALSE diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index 6cbd958d51..74aabf6021 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 bbdae032c7..d53f53c029 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ