From d55bb8231d49ffe29230fffc512b252b5e3c3505 Mon Sep 17 00:00:00 2001 From: Blue Wildrose Date: Sat, 3 Apr 2021 10:55:34 -0700 Subject: [PATCH 1/3] Buffs autotomy --- code/datums/mutations/actions.dm | 4 +-- .../surgery/bodyparts/dismemberment.dm | 26 +++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index c859d38587..fbee213585 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -283,7 +283,7 @@ desc = "Allows a creature to voluntary discard a random appendage." quality = POSITIVE text_gain_indication = "Your joints feel loose." - instability = 30 + instability = 20 power = /obj/effect/proc_holder/spell/self/self_amputation energy_coeff = 1 @@ -316,7 +316,7 @@ return var/obj/item/bodypart/BP = pick(parts) - BP.dismember() + BP.dismember(harmless=TRUE) //spider webs /datum/mutation/human/webbing diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 9c42da598d..ccd90ea474 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -4,7 +4,7 @@ return TRUE //Dismember a limb -/obj/item/bodypart/proc/dismember(dam_type = BRUTE, silent=TRUE) +/obj/item/bodypart/proc/dismember(dam_type = BRUTE, silent=TRUE, harmless=FALSE) if(!owner) return FALSE var/mob/living/carbon/C = owner @@ -14,24 +14,28 @@ return FALSE if(HAS_TRAIT(C, TRAIT_NODISMEMBER)) return FALSE - var/obj/item/bodypart/affecting = C.get_bodypart(BODY_ZONE_CHEST) - affecting.receive_damage(clamp(brute_dam/2 * affecting.body_damage_coeff, 15, 50), clamp(burn_dam/2 * affecting.body_damage_coeff, 0, 50), wound_bonus=CANT_WOUND) //Damage the chest based on limb's existing damage + if(!harmless) + var/obj/item/bodypart/affecting = C.get_bodypart(BODY_ZONE_CHEST) + affecting.receive_damage(clamp(brute_dam/2 * affecting.body_damage_coeff, 15, 50), clamp(burn_dam/2 * affecting.body_damage_coeff, 0, 50), wound_bonus=CANT_WOUND) //Damage the chest based on limb's existing damage if(!silent) C.visible_message("[C]'s [name] is violently dismembered!") - C.emote("scream") - SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "dismembered", /datum/mood_event/dismembered) + if(!harmless) + C.emote("scream") + SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "dismembered", /datum/mood_event/dismembered) + else C.emote("pain") drop_limb() C.update_equipment_speed_mods() // Update in case speed affecting item unequipped by dismemberment - C.bleed(40) + if(!harmless) C.bleed(40) if(QDELETED(src)) //Could have dropped into lava/explosion/chasm/whatever return TRUE - if(dam_type == BURN) - burn() - return TRUE - add_mob_blood(C) - C.bleed(rand(20, 40)) + if(!harmless) + if(dam_type == BURN) + burn() + return TRUE + add_mob_blood(C) + C.bleed(rand(20, 40)) var/direction = pick(GLOB.cardinals) var/t_range = rand(2,max(throw_range/2, 2)) var/turf/target_turf = get_turf(src) From e29beaf8529dce83f3da06b802d0d021c5cae36c Mon Sep 17 00:00:00 2001 From: Blue Wildrose Date: Sat, 3 Apr 2021 11:26:35 -0700 Subject: [PATCH 2/3] I'll use this linter error as an opportunity to fix some grammar --- code/datums/status_effects/debuffs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 1c25cde286..a958d20276 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -160,7 +160,7 @@ /obj/screen/alert/status_effect/mesmerized name = "Mesmerized" - desc = "You cant tear your sight from who is in front of you... their gaze is simply too enthralling.." + desc = "You can't tear your sight from who is in front of you... their gaze is simply too enthralling.." icon = 'icons/mob/actions/bloodsucker.dmi' icon_state = "power_mez" From 49c3284f16269874ea89e818c6144a2cbf423aff Mon Sep 17 00:00:00 2001 From: Blue Wildrose Date: Sat, 3 Apr 2021 12:45:52 -0700 Subject: [PATCH 3/3] linters quit complaining. --- code/modules/surgery/bodyparts/dismemberment.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index ccd90ea474..88b6f0f662 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -49,12 +49,12 @@ throw_at(target_turf, throw_range, throw_speed) return TRUE -/obj/item/bodypart/head/dismember() +/obj/item/bodypart/head/dismember(dam_type = BRUTE, silent=TRUE, harmless=FALSE) if(HAS_TRAIT(owner, TRAIT_NODECAP)) return FALSE ..() -/obj/item/bodypart/chest/dismember() +/obj/item/bodypart/chest/dismember(dam_type = BRUTE, silent=TRUE, harmless=FALSE) if(!owner) return FALSE var/mob/living/carbon/C = owner