diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index fc5d444fd6c..014b18448c7 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -110,3 +110,18 @@ /datum/quirk/monochromatic/remove() if(quirk_holder) quirk_holder.remove_client_colour(/datum/client_colour/monochrome) + +/datum/quirk/phobia + name = "Phobia" + desc = "You are irrationally afraid of something." + value = 0 + medical_record_text = "Patient has an irrational fear of something." + +/datum/quirk/phobia/post_add() + var/mob/living/carbon/human/H = quirk_holder + H.gain_trauma(new /datum/brain_trauma/mild/phobia(H.client.prefs.phobia), TRAUMA_RESILIENCE_ABSOLUTE) + +/datum/quirk/phobia/remove() + var/mob/living/carbon/human/H = quirk_holder + if(H) + H.cure_trauma_type(/datum/brain_trauma/mild/phobia, TRAUMA_RESILIENCE_ABSOLUTE) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 3aab8c669ca..ca4478a6b4b 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -68,6 +68,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/list/randomise = list(RANDOM_UNDERWEAR = TRUE, RANDOM_UNDERWEAR_COLOR = TRUE, RANDOM_UNDERSHIRT = TRUE, RANDOM_SOCKS = TRUE, RANDOM_BACKPACK = TRUE, RANDOM_JUMPSUIT_STYLE = TRUE, RANDOM_HAIRSTYLE = TRUE, RANDOM_HAIR_COLOR = TRUE, RANDOM_FACIAL_HAIRSTYLE = TRUE, RANDOM_FACIAL_HAIR_COLOR = TRUE, RANDOM_SKIN_TONE = TRUE, RANDOM_EYE_COLOR = TRUE) var/list/genders = list(MALE, FEMALE, PLURAL) var/list/friendlyGenders = list("Male" = "male", "Female" = "female", "Other" = "plural") + var/phobia = "spiders" var/list/custom_names = list() var/preferred_ai_core_display = "Blue" @@ -466,6 +467,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "" mutant_category = 0 + //Adds a thing to select which phobia because I can't be assed to put that in the quirks window + if("Phobia" in all_quirks) + dat += "

Phobia

" + + dat += "[phobia]
" + if(CONFIG_GET(flag/join_with_mutant_humans)) if("wings" in pref_species.default_features && GLOB.r_wings_list.len >1) @@ -1394,10 +1401,15 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(pickedPDAStyle) pda_style = pickedPDAStyle if("pda_color") - var/pickedPDAColor = input(user, "Choose your PDA Interface color.", "Character Preference",pda_color) as color|null + var/pickedPDAColor = input(user, "Choose your PDA Interface color.", "Character Preference", pda_color) as color|null if(pickedPDAColor) pda_color = pickedPDAColor + if("phobia") + var/phobiaType = input(user, "What are you scared of?", "Character Preference", phobia) as null|anything in SStraumas.phobia_types + if(phobiaType) + phobia = phobiaType + else switch(href_list["preference"]) if("publicity")