diff --git a/code/__HELPERS/sanitize_values.dm b/code/__HELPERS/sanitize_values.dm index 4dec0e05de9..8c6d4fe9f4c 100644 --- a/code/__HELPERS/sanitize_values.dm +++ b/code/__HELPERS/sanitize_values.dm @@ -22,7 +22,7 @@ //more specialised stuff -/proc/sanitize_gender(gender,neuter=0,plural=0, default="male") +/proc/sanitize_gender(gender,neuter=0,plural=1, default="male") switch(gender) if(MALE, FEMALE) return gender diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 7274257f9c5..1fc3bd3c05b 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -65,6 +65,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/eye_color = "000" //Eye color var/datum/species/pref_species = new /datum/species/human() //Mutant race var/list/features = list("mcolor" = "FFF", "ethcolor" = "9c3030", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs", "moth_wings" = "Plain") + var/list/genders = list(MALE, FEMALE, PLURAL) + var/list/friendlyGenders = list("Masculine (He/Him)" = "male", "Feminine (She/Her)" = "female", "Other (They/Them)" = "plural") var/list/custom_names = list() var/preferred_ai_core_display = "Blue" @@ -187,7 +189,14 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "[real_name]
" if(!(AGENDER in pref_species.species_traits)) - dat += "Gender: [gender == MALE ? "Male" : "Female"]
" + var/dispGender + if(gender == MALE) + dispGender = "Masculine (He/Him)" + else if(gender == FEMALE) + dispGender = "Feminine (She/Her)" + else + dispGender = "Other (They/Them)" + dat += "Gender: [dispGender]
" dat += "Age: [age]
" dat += "Special Names:
" @@ -1106,7 +1115,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("facial_hair_style") var/new_facial_hair_style - if(gender == MALE) + if(gender != FEMALE) new_facial_hair_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in GLOB.facial_hair_styles_male_list else new_facial_hair_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in GLOB.facial_hair_styles_female_list @@ -1129,8 +1138,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/new_underwear if(gender == MALE) new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_m - else + else if(gender == FEMALE) new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_f + else + new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_m + GLOB.underwear_f if(new_underwear) underwear = new_underwear @@ -1138,8 +1149,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/new_undershirt if(gender == MALE) new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_m - else + else if(gender == FEMALE) new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_f + else + new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_m + GLOB.undershirt_f if(new_undershirt) undershirt = new_undershirt @@ -1328,15 +1341,14 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(unlock_content) toggles ^= MEMBER_PUBLIC if("gender") - if(gender == MALE) - gender = FEMALE - else - gender = MALE - underwear = random_underwear(gender) - undershirt = random_undershirt(gender) - socks = random_socks() - facial_hair_style = random_facial_hair_style(gender) - hair_style = random_hair_style(gender) + var/pickedGender = input(user, "Choose your gender.", "Character Preference", gender) as null|anything in friendlyGenders + if(pickedGender && friendlyGenders[pickedGender] != gender) + gender = friendlyGenders[pickedGender] + underwear = random_underwear(gender) + undershirt = random_undershirt(gender) + socks = random_socks() + facial_hair_style = random_facial_hair_style(gender) + hair_style = random_hair_style(gender) if("hotkeys") hotkeys = !hotkeys