diff --git a/code/__DEFINES/~skyrat_defines/traits.dm b/code/__DEFINES/~skyrat_defines/traits.dm
index 6b6a3d33936..41a6682a672 100644
--- a/code/__DEFINES/~skyrat_defines/traits.dm
+++ b/code/__DEFINES/~skyrat_defines/traits.dm
@@ -4,3 +4,5 @@
#define TRAIT_EXCITABLE "wagwag" //Will wag when patted!
#define TRAIT_OXYIMMUNE "oxyimmune" // Immune to oxygen damage, ideally give this to all non-breathing species or bad stuff will happen
#define TRAIT_IRONASS "ironass"
+#define TRAIT_MOOD_NOEXAMINE "mood_noexamine" // Can't assess your own mood
+
diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm
index a527ba150b6..d77ebccc3df 100644
--- a/code/datums/components/mood.dm
+++ b/code/datums/components/mood.dm
@@ -48,6 +48,8 @@
/datum/component/mood/proc/print_mood(mob/user)
var/msg = "*---------*\nMy current mental status:\n"
msg += "My current sanity: " //Long term
+ //ORIGINAL
+ /*
switch(sanity)
if(SANITY_GREAT to INFINITY)
msg += "My mind feels like a temple!\n"
@@ -61,8 +63,29 @@
msg += "I'm freaking out!!\n"
if(SANITY_INSANE to SANITY_CRAZY)
msg += "AHAHAHAHAHAHAHAHAHAH!!\n"
-
+ */
+ //SKYRAT EDIT CHANGE BEGIN - ALEXITHYMIA
+ if(!HAS_TRAIT(user, TRAIT_MOOD_NOEXAMINE))
+ switch(sanity)
+ if(SANITY_GREAT to INFINITY)
+ msg += "My mind feels like a temple!\n"
+ if(SANITY_NEUTRAL to SANITY_GREAT)
+ msg += "I have been feeling great lately!\n"
+ if(SANITY_DISTURBED to SANITY_NEUTRAL)
+ msg += "I have felt quite decent lately.\n"
+ if(SANITY_UNSTABLE to SANITY_DISTURBED)
+ msg += "I'm feeling a little bit unhinged...\n"
+ if(SANITY_CRAZY to SANITY_UNSTABLE)
+ msg += "I'm freaking out!!\n"
+ if(SANITY_INSANE to SANITY_CRAZY)
+ msg += "AHAHAHAHAHAHAHAHAHAH!!\n"
+ else
+ msg += "I don't really know.\n"
+ //SKYRAT EDIT CHANGE END
+
msg += "My current mood: " //Short term
+ //ORIGINAL
+ /*
switch(mood_level)
if(1)
msg += "I wish I was dead!\n"
@@ -82,9 +105,35 @@
msg += "I feel amazing!\n"
if(9)
msg += "I love life!\n"
+ */
+ //SKYRAT EDIT CHANGE BEGIN - ALEXITHYMIA
+ if(!HAS_TRAIT(user, TRAIT_MOOD_NOEXAMINE))
+ switch(mood_level)
+ if(1)
+ msg += "I wish I was dead!\n"
+ if(2)
+ msg += "I feel terrible...\n"
+ if(3)
+ msg += "I feel very upset.\n"
+ if(4)
+ msg += "I'm a bit sad.\n"
+ if(5)
+ msg += "I'm alright.\n"
+ if(6)
+ msg += "I feel pretty okay.\n"
+ if(7)
+ msg += "I feel pretty good.\n"
+ if(8)
+ msg += "I feel amazing!\n"
+ if(9)
+ msg += "I love life!\n"
+ else
+ msg += "No clue.\n"
+ //SKYRAT EDIT CHANGE END
msg += "Moodlets:\n"//All moodlets
- if(mood_events.len)
+ //if(mood_events.len) //ORIGINAL
+ if(mood_events.len && !HAS_TRAIT(user, TRAIT_MOOD_NOEXAMINE)) //SKYRAT EDIT CHANGE - ALEXITHYMIA
for(var/i in mood_events)
var/datum/mood_event/event = mood_events[i]
msg += event.description
@@ -162,6 +211,12 @@
screen_obj.color = "#f15d36"
if(!conflicting_moodies.len) //no special icons- go to the normal icon states
+ //SKYRAT EDIT ADDITION BEGIN - ALEXITHYMIA
+ if(HAS_TRAIT(owner, TRAIT_MOOD_NOEXAMINE))
+ screen_obj.icon_state = "mood5"
+ screen_obj.color = "#4b96c4"
+ return
+ //SKYRAT EDIT ADDITION END
screen_obj.icon_state = "mood[mood_level]"
return
@@ -417,4 +472,3 @@
#undef MINOR_INSANITY_PEN
#undef MAJOR_INSANITY_PEN
-
diff --git a/modular_skyrat/master_files/code/datums/traits/negative.dm b/modular_skyrat/master_files/code/datums/traits/negative.dm
index 4565d0367e8..fa52976d930 100644
--- a/modular_skyrat/master_files/code/datums/traits/negative.dm
+++ b/modular_skyrat/master_files/code/datums/traits/negative.dm
@@ -1 +1,8 @@
//SKYRAT NEGATIVE TRAITS
+
+/datum/quirk/alexithymia
+ name = "Alexithymia"
+ desc = "You cannot accurately assess your feelings."
+ value = -1
+ mob_trait = TRAIT_MOOD_NOEXAMINE
+ medical_record_text = "Patient is incapable of communicating their emotions."