diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index ded183ba0b..3807b66b06 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -165,6 +165,7 @@ #define TRAIT_EXEMPT_HEALTH_EVENTS "exempt-health-events" #define TRAIT_NO_MIDROUND_ANTAG "no-midround-antag" //can't be turned into an antag by random events #define TRAIT_PUGILIST "pugilist" //This guy punches people for a living +#define TRAIT_NOPUGILIST "nopugilist" // for preventing ((((((((((extreme)))))))))) punch stacking #define TRAIT_KI_VAMPIRE "ki-vampire" //when someone with this trait rolls maximum damage on a punch and stuns the target, they regain some stamina and do clone damage #define TRAIT_MAULER "mauler" // this guy punches the shit out of people to hurt them, not to drain their stamina #define TRAIT_PASSTABLE "passtable" diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 5881c76827..9b9ea3c86e 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -165,6 +165,7 @@ ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT) ADD_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) ADD_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEPING_CARP_TRAIT) + ADD_TRAIT(H, TRAIT_NOPUGILIST, SLEEPING_CARP_TRAIT) // cqc doesn't get this as it's intended to be able to stack with northstar gloves H.physiology.brute_mod *= 0.4 //brute is really not gonna cut it H.physiology.burn_mod *= 0.7 //burn is distinctly more useful against them than brute but they're still resistant H.physiology.stamina_mod *= 0.4 //You take less stamina damage overall, but you do not reduce the damage from stun batons as much @@ -181,6 +182,7 @@ REMOVE_TRAIT(H, TRAIT_PIERCEIMMUNE, SLEEPING_CARP_TRAIT) REMOVE_TRAIT(H, TRAIT_NODISMEMBER, SLEEPING_CARP_TRAIT) REMOVE_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEPING_CARP_TRAIT) + REMOVE_TRAIT(H, TRAIT_NOPUGILIST, SLEEPING_CARP_TRAIT) H.physiology.brute_mod = initial(H.physiology.brute_mod) H.physiology.burn_mod = initial(H.physiology.burn_mod) H.physiology.stamina_mod = initial(H.physiology.stamina_mod) diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 5b6a7648c8..b7aeb23e6f 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -680,6 +680,11 @@ glove_type = /obj/item/clothing/gloves/fingerless/pugilist/cling // just punch his head off dude glove_name_simple = "bone gauntlets" +/obj/effect/proc_holder/changeling/gloves/gauntlets/sting_action(mob/living/user) + if(HAS_TRAIT(user, TRAIT_NOPUGILIST)) + to_chat(user, "We would gain nothing by forming our fists into brute-force weapons when we are trained in precision martial arts!") + return + /obj/item/clothing/gloves/fingerless/pugilist/cling // switches between lesser GotNS and Big Punchy Rib Breaky Hands name = "hewn bone gauntlets" icon_state = "ling_gauntlets" diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 39c8c2df07..27f6325ccb 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -37,14 +37,19 @@ /obj/item/clothing/gloves/fingerless/pugilist/equipped(mob/user, slot) . = ..() if(slot == SLOT_GLOVES) - use_buffs(user, TRUE) wornonce = TRUE + if((HAS_TRAIT(user, TRAIT_NOPUGILIST))) + to_chat(user, "What purpose is there to don the weapons of pugilism if you're already well-practiced in martial arts?! Mixing arts is blasphemous") + return + use_buffs(user, TRUE) /obj/item/clothing/gloves/fingerless/pugilist/dropped(mob/user) . = ..() if(wornonce) - use_buffs(user, FALSE) wornonce = FALSE + if((HAS_TRAIT(user, TRAIT_NOPUGILIST))) + return + use_buffs(user, FALSE) /obj/item/clothing/gloves/fingerless/pugilist/proc/use_buffs(mob/user, buff) if(buff) // tarukaja @@ -247,14 +252,18 @@ /obj/item/clothing/gloves/fingerless/pugilist/mauler/equipped(mob/user, slot) . = ..() if(slot == SLOT_GLOVES) - use_mauls(user, TRUE) wornonce = TRUE + if((HAS_TRAIT(user, TRAIT_NOPUGILIST))) + return + use_mauls(user, TRUE) /obj/item/clothing/gloves/fingerless/pugilist/mauler/dropped(mob/user) . = ..() if(wornonce) - use_mauls(user, FALSE) wornonce = FALSE + if((HAS_TRAIT(user, TRAIT_NOPUGILIST))) + return + use_mauls(user, FALSE) /obj/item/clothing/gloves/fingerless/pugilist/mauler/proc/use_mauls(mob/user, maul) if(maul) @@ -264,6 +273,7 @@ if(silent) to_chat(H, "You feel prickles around your wrists as [src] cling to them - strength courses through your veins!") + /obj/item/clothing/gloves/botanic_leather name = "botanist's leather gloves" desc = "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin. They're also quite warm."