diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index 1dd7ce26..50014406 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -194,6 +194,7 @@
#define TRAIT_VIRILE "virile" //you have 20% more chance of impreg
#define TRAIT_MACROPHILE "macrophile" //likes the big
#define TRAIT_MICROPHILE "microphile" //likes the small
+#define TRAIT_APATHETIC "apathetic" //doesn't care
#define TRAIT_TOUGH "tough" //you have 10% more maxhealth
#define TRAIT_AUTO_CATCH_ITEM "auto_catch_item"
diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm
index 1b02a0f1..dc21a916 100644
--- a/code/datums/traits/good.dm
+++ b/code/datums/traits/good.dm
@@ -16,6 +16,7 @@
desc = "You just don't care as much as other people. That's nice to have in a place like this, I guess."
value = 1
category = CATEGORY_MOODS
+ mob_trait = TRAIT_APATHETIC
mood_quirk = TRUE
medical_record_text = "Patient was administered the Apathy Evaluation Scale but did not bother to complete it."
diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm
index 4b91526b..6182befe 100644
--- a/code/modules/mob/living/carbon/death.dm
+++ b/code/modules/mob/living/carbon/death.dm
@@ -19,12 +19,6 @@
if(SSticker.mode)
SSticker.mode.check_win() //Calls the rounds wincheck, mainly for wizard, malf, and changeling now
- //watching someone die is traumatic
- for(var/mob/living/carbon/human/H in oview(5, src))
- SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "death", /datum/mood_event/deathsaw)
- if(prob(10)) //10% chance to pump adrenaline into their body
- H.jitteriness += 5
-
/mob/living/carbon/gib(no_brain, no_organs, no_bodyparts)
var/atom/Tsec = drop_location()
for(var/mob/M in src)
diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm
index f61c8741..a589df81 100644
--- a/code/modules/mob/living/carbon/human/death.dm
+++ b/code/modules/mob/living/carbon/human/death.dm
@@ -52,6 +52,14 @@
if(is_devil(src))
INVOKE_ASYNC(is_devil(src), /datum/antagonist/devil.proc/beginResurrectionCheck, src)
+ //watching someone die is traumatic
+ for(var/mob/living/carbon/human/C in oview(5, src))
+ if(C.mind) //We don't need to give this to anything that doesn't have a mind. That's wasted processing.
+ if(!HAS_TRAIT(C, TRAIT_APATHETIC) || !C.mind.assigned_role == "Medical Doctor") //Shamelessly stolen from the Doctor's Delight
+ SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "death", /datum/mood_event/deathsaw)
+ if(prob(10)) //10% chance to pump adrenaline into their body
+ C.jitteriness += 5
+
/mob/living/carbon/human/proc/makeSkeleton()
ADD_TRAIT(src, TRAIT_DISFIGURED, TRAIT_GENERIC)
set_species(/datum/species/skeleton)
diff --git a/hyperstation/code/datums/mood_events/events.dm b/hyperstation/code/datums/mood_events/events.dm
index 6ef7c115..5c58d9ab 100644
--- a/hyperstation/code/datums/mood_events/events.dm
+++ b/hyperstation/code/datums/mood_events/events.dm
@@ -15,10 +15,10 @@
/datum/mood_event/deathsaw
description = "I saw someone die!\n"
- mood_change = -8
- timeout = 20 MINUTES //takes a long time to get over
+ mood_change = -5
+ timeout = 20 MINUTES //May be fine tuned in the future.
/datum/mood_event/healsbadman
description = "I feel like I'm held together by flimsy string, and could fall apart at any moment!\n"
mood_change = -4
- timeout = 2 MINUTES
\ No newline at end of file
+ timeout = 2 MINUTES