From 0db189333aabf448d773af87995dbd3a4794457e Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Sun, 30 Aug 2020 21:21:27 -0500 Subject: [PATCH] >one fucking callback --- code/game/objects/items.dm | 4 +- .../changeling/powers/mutations.dm | 64 +++++++++---------- code/modules/clothing/gloves/miscellaneous.dm | 45 +++++++++---- 3 files changed, 67 insertions(+), 46 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index b4c114eb6a..65fdbb6f1c 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -315,7 +315,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb return if(loc == user && current_equipped_slot && current_equipped_slot != SLOT_HANDS) if(current_equipped_slot in user.check_obscured_slots()) - to_chat(src, "You are unable to unequip that while wearing other garments over it!") + to_chat(user, "You are unable to unequip that while wearing other garments over it!") return FALSE if(resistance_flags & ON_FIRE) @@ -383,7 +383,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb return if(loc == user && current_equipped_slot && current_equipped_slot != SLOT_HANDS) if(current_equipped_slot in user.check_obscured_slots()) - to_chat(src, "You are unable to unequip that while wearing other garments over it!") + to_chat(user, "You are unable to unequip that while wearing other garments over it!") return FALSE diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 47e0dd57dc..06983cd731 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -465,7 +465,7 @@ if(--remaining_uses < 1) if(ishuman(loc)) var/mob/living/carbon/human/H = loc - H.visible_message("With a sickening crunch, [H] reforms [H.p_their()] shield into an arm!", "We assimilate our shield into our body", "With a sickening crunch, [H] reforms [H.p_their()] shield into an arm!", "We assimilate our shield into our body.", "[H] casts off [H.p_their()] [glove_name_simple]!", "We cast off our [glove_name_simple].", "You hear organic matter ripping and tearing!") + H.visible_message("With a sickening crunch, [H] reforms [H.p_their()] [glove_name_simple] into hands!", "We assimilate our [glove_name_simple].", "You hear organic matter ripping and tearing!") H.temporarilyRemoveItemFromInventory(H.gloves, TRUE) //The qdel on dropped() takes care of it H.update_inv_gloves() - + playsound(H.loc, 'sound/effects/blobattack.ogg', 30, 1) if(blood_on_castoff) H.add_splatter_floor() playsound(H.loc, 'sound/effects/splat.ogg', 50, 1) //So real sounds @@ -632,7 +632,7 @@ user.dropItemToGround(user.gloves) user.equip_to_slot_if_possible(new glove_type(user), SLOT_GLOVES, 1, 1, 1) - + playsound(user, 'sound/effects/blobattack.ogg', 30, 1) var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) changeling.chem_recharge_slowdown += recharge_slowdown return TRUE @@ -670,10 +670,10 @@ action_icon_state = "ling_gauntlets" action_background_icon_state = "bg_ling" - glove_type = /obj/item/clothing/gloves/fingerless/pugilist/bone // just punch his head off dude + glove_type = /obj/item/clothing/gloves/fingerless/pugilist/cling // just punch his head off dude glove_name_simple = "bone gauntlets" -/obj/item/clothing/gloves/fingerless/pugilist/bone +/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" item_state = "ling_gauntlets" @@ -684,50 +684,50 @@ min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT 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 + enhancement = 9 // first, do harm. all of it. all of the harm. just fuck em up. + wound_enhancement = 9 + var/fast_enhancement = 9 + var/fast_wound_enhancement = 9 + var/slow_enhancement = 20 + var/slow_wound_enhancement = 20 + silent = TRUE 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 + secondary_trait = TRAIT_MAULER // its only violence from here, bucko var/fasthands = TRUE -/obj/item/clothing/gloves/fingerless/pugilist/bone/examine(mob/user) +/obj/item/clothing/gloves/fingerless/pugilist/cling/examine(mob/user) . = ..() - . += "[src] are attacking with [fasthands ? "fast, precise strikes" : "crippling, damaging blows"]." + . += "[src] are formed to allow for [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) +/obj/item/clothing/gloves/fingerless/pugilist/cling/AltClick(mob/user) . = ..() + use_buffs(user, FALSE) // reset fasthands = !fasthands if(fasthands) - enhancement = initial(enhancement) - wound_enhancement = initial(enhancement) + enhancement = fast_enhancement + wound_enhancement = fast_wound_enhancement else - 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"].") + enhancement = slow_enhancement // fuck em up kiddo + wound_enhancement = slow_wound_enhancement // really. fuck em up. + to_chat(user, "[src] are now formed to allow for [fasthands ? "fast, precise strikes" : "crippling, damaging blows"].") + addtimer(CALLBACK(use_buffs(user, TRUE)), 0.1) // go fuckin get em -/obj/item/clothing/gloves/fingerless/pugilist/bone/Initialize() +/obj/item/clothing/gloves/fingerless/pugilist/cling/Initialize() . = ..() ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT) -/obj/item/clothing/gloves/fingerless/pugilist/bone/equipped(mob/user, slot) +/obj/item/clothing/gloves/fingerless/pugilist/cling/equipped(mob/user, slot) . = ..() - 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 + if(current_equipped_slot == SLOT_GLOVES) + to_chat(user, "With [src] formed around our arms, we are ready to fight.") -/obj/item/clothing/gloves/fingerless/pugilist/bone/dropped(mob/user) +/obj/item/clothing/gloves/fingerless/pugilist/cling/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 - return ..() + if(wornonce) + to_chat(user, "With [src] assimilated, we feel less ready to punch things.") -/obj/item/clothing/gloves/fingerless/pugilist/bone/Touch(atom/target, proximity = TRUE) +/obj/item/clothing/gloves/fingerless/pugilist/cling/Touch(atom/target, proximity = TRUE) if(!isliving(target)) return var/mob/living/M = loc diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index b5d92fb780..f9f587ae5b 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -20,8 +20,14 @@ body_parts_covered = ARMS cold_protection = ARMS strip_delay = 300 //you can't just yank them off + /// did you ever get around to wearing these or no + var/wornonce = FALSE ///Extra damage through the punch. var/enhancement = 0 //it's a +0 to your punches because it isn't magical + ///extra wound bonus through the punch (MAYBE DON'T BE GENEROUS WITH THIS) + var/wound_enhancement = 0 + /// do we give the flavortext for wearing them + var/silent = FALSE ///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. @@ -29,7 +35,18 @@ /obj/item/clothing/gloves/fingerless/pugilist/equipped(mob/user, slot) . = ..() - if(slot == SLOT_GLOVES) + if(current_equipped_slot == SLOT_GLOVES) + use_buffs(user, TRUE) + wornonce = TRUE + +/obj/item/clothing/gloves/fingerless/pugilist/dropped(mob/user) + . = ..() + if(wornonce) + use_buffs(user, FALSE) + wornonce = FALSE + +/obj/item/clothing/gloves/fingerless/pugilist/proc/use_buffs(mob/user, buff) + if(buff) // tarukaja if(ishuman(user)) var/mob/living/carbon/human/H = user ADD_TRAIT(H, TRAIT_PUGILIST, GLOVE_TRAIT) @@ -37,17 +54,20 @@ ADD_TRAIT(H, secondary_trait, GLOVE_TRAIT) H.dna.species.punchdamagehigh += enhancement 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) - if(ishuman(user)) - var/mob/living/carbon/human/H = user - H.dna.species.punchdamagehigh -= enhancement - H.dna.species.punchdamagelow -= enhancement - return ..() + H.dna.species.punchwoundbonus += wound_enhancement + if(!silent) + to_chat(H, "With [src] on your arms, you feel ready to punch things.") + else // dekaja + REMOVE_TRAIT(user, TRAIT_PUGILIST, GLOVE_TRAIT) + REMOVE_TRAIT(user, inherited_trait, GLOVE_TRAIT) + REMOVE_TRAIT(user, secondary_trait, GLOVE_TRAIT) + if(ishuman(user)) + var/mob/living/carbon/human/H = user + H.dna.species.punchdamagehigh -= enhancement + H.dna.species.punchdamagelow -= enhancement + H.dna.species.punchwoundbonus -= wound_enhancement + if(!silent) + to_chat(user, "With [src] off of your arms, you feel less ready to punch things.") /obj/item/clothing/gloves/fingerless/pugilist/chaplain name = "armwraps of unyielding resolve" @@ -93,6 +113,7 @@ icon_state = "rapid" item_state = "rapid" enhancement = 10 //omae wa mou shindeiru + wound_enhancement = 10 var/warcry = "AT" secondary_trait = TRAIT_NOSOFTCRIT //basically extra health