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