diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index c2196fb170..f7d251f32d 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -295,7 +295,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "[real_name]
"
dat += "Be nameless: [nameless ? "Yes" : "No"]
"
- dat += "Gender: [gender == MALE ? "Male" : (gender == FEMALE ? "Female" : (gender == PLURAL ? "Non-binary" : "Object"))]
"
+ dat += "Gender: [gender == MALE ? "Male" : (gender == FEMALE ? "Female" : (gender == PLURAL ? "Non-binary" : "Object"))]
"
dat += "Age: [age]
"
dat += "Special Names:
"
@@ -346,7 +346,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
dat += "[TextPreview(features["flavor_text"])]...
"
dat += "
Body
"
- dat += "Gender:[gender == MALE ? "Male" : (gender == FEMALE ? "Female" : (gender == PLURAL ? "Non-binary" : "Object"))]
"
+ dat += "Gender:[gender == MALE ? "Male" : (gender == FEMALE ? "Female" : (gender == PLURAL ? "Non-binary" : "Object"))]
"
if(gender != NEUTER && pref_species.sexes)
dat += "Body Model:[features["body_model"] == MALE ? "Masculine" : "Feminine"]
"
dat += "Species:[pref_species.name]
"
@@ -381,7 +381,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
mutant_colors = TRUE
if (CONFIG_GET(number/body_size_min) != CONFIG_GET(number/body_size_max))
- dat += "Sprite Size: [features["body_size"]]%
"
+ dat += "Sprite Size: [features["body_size"]]%
"
if((EYECOLOR in pref_species.species_traits) && !(NOEYES in pref_species.species_traits))
@@ -2123,6 +2123,38 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(new_toggle_color)
hud_toggle_color = new_toggle_color
+ if("gender")
+ var/chosengender = input(user, "Select your character's gender.", "Gender Selection", gender) as null|anything in list(MALE,FEMALE,"nonbinary","object")
+ if(!chosengender)
+ return
+ switch(chosengender)
+ if("nonbinary")
+ chosengender = PLURAL
+ features["body_model"] = pick(MALE, FEMALE)
+ if("object")
+ chosengender = NEUTER
+ features["body_model"] = MALE
+ else
+ features["body_model"] = chosengender
+ gender = chosengender
+ facial_hair_style = random_facial_hair_style(gender)
+ hair_style = random_hair_style(gender)
+
+ if("body_size")
+ var/min = CONFIG_GET(number/body_size_min)
+ var/max = CONFIG_GET(number/body_size_max)
+ var/danger = CONFIG_GET(number/threshold_body_size_slowdown)
+ var/new_body_size = input(user, "Choose your desired sprite size:\n([min*100]%-[max*100]%), Warning: May make your character look distorted[danger > min ? ", and an exponential slowdown will occur for those smaller than [danger*100]%!" : "!"]", "Character Preference", features["body_size"]*100) as num|null
+ if (new_body_size)
+ new_body_size = CLAMP(new_body_size * 0.01, min, max)
+ var/dorfy
+ if(danger > new_body_size)
+ dorfy = alert(user, "The chosen size appears to be smaller than the threshold of [danger*100]%, which will lead to an added exponential slowdown. Are you sure about that?", "Dwarfism Alert", "Yes", "Move it to the threshold", "No")
+ if(!dorfy || dorfy == "Move it above the threshold")
+ new_body_size = danger
+ if(dorfy != "No")
+ features["body_size"] = new_body_size
+
else
switch(href_list["preference"])
//CITADEL PREFERENCES EDIT - I can't figure out how to modularize these, so they have to go here. :c -Pooj
@@ -2175,41 +2207,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if("publicity")
if(unlock_content)
toggles ^= MEMBER_PUBLIC
- if("gender")
- var/chosengender = input(user, "Select your character's gender.", "Gender Selection", gender) as null|anything in list(MALE,FEMALE,"nonbinary","object")
- if(!chosengender)
- return
- switch(chosengender)
- if("nonbinary")
- chosengender = PLURAL
- features["body_model"] = pick(MALE, FEMALE)
- if("object")
- chosengender = NEUTER
- features["body_model"] = MALE
- else
- features["body_model"] = chosengender
- gender = chosengender
- facial_hair_style = random_facial_hair_style(gender)
- hair_style = random_hair_style(gender)
if("body_model")
features["body_model"] = features["body_model"] == MALE ? FEMALE : MALE
- if("bodysize")
- var/min = CONFIG_GET(number/body_size_min)
- var/max = CONFIG_GET(number/body_size_max)
- var/danger = CONFIG_GET(number/threshold_body_size_slowdown)
- var/new_bodysize = input(user, "Choose your desired sprite size:\n([min*100]%-[max*100]%), Warning: May make your character look distorted[danger > min ? ", and an exponential slowdown will occur for those smaller than [danger*100]%!" : "!"]", "Character Preference", features["body_size"]*100) as num|null
- if (new_bodysize)
- new_bodysize = CLAMP(new_bodysize * 0.01, min, max)
- var/dorfy
- if(danger > new_bodysize)
- dorfy = alert(user, "The chosen size appears to be smaller than the threshold of [danger*100]%, which will lead to an added exponential slowdown. Are you sure about that?", "Dwarfism Alert", "Yes", "Move it to the threshold", "No")
- if(!dorfy || dorfy == "Move it above the threshold")
- new_bodysize = danger
- if(dorfy != "No")
- features["body_size"] = new_bodysize
-
if("hotkeys")
hotkeys = !hotkeys
if(hotkeys)