From 2877e068a0b2ebc82d7d988be3e4d31f96fe74fc Mon Sep 17 00:00:00 2001 From: NotRanged Date: Fri, 27 Nov 2020 08:50:25 +0100 Subject: [PATCH] [SEMI-MODULAR] Ports the alexithymia trait (#1849) * Ports Alexithymia * Update modular_skyrat/master_files/code/datums/traits/negative.dm Co-authored-by: Azarak * Update code/datums/components/mood.dm Co-authored-by: Azarak * Update code/datums/components/mood.dm Co-authored-by: Azarak * Update code/datums/components/mood.dm Co-authored-by: Azarak * Update code/datums/components/mood.dm Co-authored-by: Azarak Co-authored-by: Ranged Co-authored-by: Azarak --- code/__DEFINES/~skyrat_defines/traits.dm | 2 + code/datums/components/mood.dm | 60 ++++++++++++++++++- .../code/datums/traits/negative.dm | 7 +++ 3 files changed, 66 insertions(+), 3 deletions(-) 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."