diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm
index e0a462db5e..b92b10e12d 100644
--- a/code/modules/client/preference_setup/general/03_body.dm
+++ b/code/modules/client/preference_setup/general/03_body.dm
@@ -130,6 +130,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if(pref.species == "Grey")//YWadd START
character.wingdings = pref.wingdings //YWadd END
+ if(pref.colorblind_1 == 1)
+ character.add_modifier(/datum/modifier/trait/colorblind_monochrome)
+
+ else if(pref.colorblind_2 == 1)
+ character.add_modifier(/datum/modifier/trait/colorblind_vulp)
+
+ else if(pref.colorblind_3 == 1)
+ character.add_modifier(/datum/modifier/trait/colorblind_taj)
+
// Destroy/cyborgize organs and limbs.
for(var/name in list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO))
var/status = pref.organ_data[name]
@@ -204,12 +213,13 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
. += "Blood Type: [pref.b_type]
"
if(has_flag(mob_species, HAS_SKIN_TONE))
. += "Skin Tone: [-pref.s_tone + 35]/220
"
- . += "Needs Glasses: [pref.disabilities & NEARSIGHTED ? "Yes" : "No"]
"
+ . += "Disabilities
Adjust
"
+ //. += "Needs Glasses: [pref.disabilities & NEARSIGHTED ? "Yes" : "No"]
"
. += "Limbs: Adjust Reset
"
. += "Internal Organs: Adjust
"
//YW Edit ADD
- if(pref.species == "Grey")
- . += "Speak Wingdings: [pref.wingdings ? "Yes" : "No"]
"
+ //if(pref.species == "Grey")
+ // . += "Speak Wingdings: [pref.wingdings ? "Yes" : "No"]
"
//YW Edit End
//display limbs below
@@ -394,6 +404,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.alternate_languages.Cut() // Reset their alternate languages. Todo: attempt to just fix it instead?
return TOPIC_HANDLED
+ else if(href_list["disabilities_yw"])
+ Disabilities_YW(usr)
+
else if(href_list["set_species"])
user << browse(null, "window=species")
if(!pref.species_preview || !(pref.species_preview in GLOB.all_species))
@@ -789,7 +802,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
else if(href_list["disabilities"])
var/disability_flag = text2num(href_list["disabilities"])
pref.disabilities ^= disability_flag
- return TOPIC_REFRESH_UPDATE_PREVIEW
+ Disabilities_YW(usr)
else if(href_list["toggle_preview_value"])
pref.equip_preview_mob ^= text2num(href_list["toggle_preview_value"])
@@ -818,7 +831,19 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
//YW Add Start
else if(href_list["wingdings"])
pref.wingdings = !pref.wingdings
- return TOPIC_REFRESH_UPDATE_PREVIEW
+ Disabilities_YW(usr)
+
+ else if(href_list["colorblind_1"])
+ pref.colorblind_1 = !pref.colorblind_1
+ Disabilities_YW(usr)
+
+ else if(href_list["colorblind_2"])
+ pref.colorblind_2 = !pref.colorblind_2
+ Disabilities_YW(usr)
+
+ else if(href_list["colorblind_3"])
+ pref.colorblind_3 = !pref.colorblind_3
+ Disabilities_YW(usr)
//YW Add End
return ..()
@@ -913,3 +938,22 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
dat += "