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/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" diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 9c42da598d..88b6f0f662 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) @@ -45,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