From 3b571e2edfab5374255d3480fa350f024f436a80 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Sun, 30 Aug 2020 01:33:56 -0500 Subject: [PATCH] oh jesus fuck its all gone wrong --- code/__DEFINES/traits.dm | 1 + .../changeling/powers/mutations.dm | 21 +++++++++---------- .../mob/living/carbon/human/species.dm | 6 +++++- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 674cc16980..b52172fc91 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -164,6 +164,7 @@ #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_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" #define TRAIT_GIANT "giant" #define TRAIT_DWARF "dwarf" diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index c9a375433c..47e0dd57dc 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -683,16 +683,18 @@ cold_protection = ARMS|HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT - enhancement = 15 // it's not an armblade but it's Violence, alright + armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 35, "bio" = 35, "rad" = 35, "fire" = 0, "acid" = 0) + enhancement = 15 // first, do harm. all of it. all of the harm. just fuck em up. var/wound_enhancement = 20 inherited_trait = TRAIT_CHUNKYFINGERS // dummy thicc bone hands secondary_trait = TRAIT_STRONG_GRABBER // grab them and then punch their head off + var/tertiary_trait = TRAIT_MAULER // stamina damage? no thanks, bro var/fasthands = TRUE /obj/item/clothing/gloves/fingerless/pugilist/bone/examine(mob/user) . = ..() - . += " [src] are throwing [fasthands ? "fast, precise strikes" : "crippling, damaging blows"]." - . += " Alt-click them to change between rapid strikes and strong blows." + . += "[src] are attacking with [fasthands ? "fast, precise strikes" : "crippling, damaging blows"]." + . += "Alt-click them to change between rapid strikes and strong blows." /obj/item/clothing/gloves/fingerless/pugilist/bone/AltClick(mob/user) . = ..() @@ -701,14 +703,9 @@ enhancement = initial(enhancement) wound_enhancement = initial(enhancement) else - enhancement = initial(enhancement) * 3 // punch the head off a man - wound_enhancement = initial(enhancement) * 3 // do it do it do it do it - if(ishuman(user)) - var/mob/living/carbon/human/H = user - if(locate(src) in H.gloves) - src.dropped(H) - src.equipped(H, SLOT_GLOVES) - to_chat(user, "With [src], you are now throwing [fasthands ? "fast, precise strikes" : "crippling, damaging blows"].") + enhancement = initial(enhancement) * 2 // punch the head off a man + wound_enhancement = initial(enhancement) * 2 // do it do it do it do it + to_chat(user, "With [src], you are now attacking with [fasthands ? "fast, precise strikes" : "crippling, damaging blows"].") /obj/item/clothing/gloves/fingerless/pugilist/bone/Initialize() . = ..() @@ -719,10 +716,12 @@ if(slot == SLOT_GLOVES) if(ishuman(user)) var/mob/living/carbon/human/H = user + ADD_TRAIT(H, tertiary_trait, GLOVE_TRAIT) H.dna.species.punchwoundbonus += wound_enhancement /obj/item/clothing/gloves/fingerless/pugilist/bone/dropped(mob/user) . = ..() + REMOVE_TRAIT(user, tertiary_trait, GLOVE_TRAIT) if(ishuman(user)) var/mob/living/carbon/human/H = user H.dna.species.punchwoundbonus -= wound_enhancement diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 36b912f39e..8048abf7c3 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1422,7 +1422,11 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) target.apply_damage(damage*1.5, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus) target.apply_damage(damage*0.5, STAMINA, affecting, armor_block) log_combat(user, target, "kicked") - else//other attacks deal full raw damage + 2x in stamina damage + else if(HAS_TRAIT(user, TRAIT_MAULER)) // mauler punches deal 1.2x raw damage + 0.8x stam damage + target.apply_damage(damage*1.2, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus) + target.apply_damage(damage*0.8, STAMINA, affecting, armor_block) + log_combat(user, target, "punched (mauler)") + else //other attacks deal full raw damage + 2x in stamina damage target.apply_damage(damage, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus) target.apply_damage(damage*2, STAMINA, affecting, armor_block) log_combat(user, target, "punched")