diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm
index b92b10e12d..7c9d179f27 100644
--- a/code/modules/client/preference_setup/general/03_body.dm
+++ b/code/modules/client/preference_setup/general/03_body.dm
@@ -40,7 +40,11 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.preview_icon = null
S["bgstate"] >> pref.bgstate
S["body_descriptors"] >> pref.body_descriptors
- S["Wingdings"] >> pref.wingdings //YWadd
+ S["Wingdings"] >> pref.wingdings //YWadd start
+ S["colorblind_mono"] >> pref.colorblind_mono
+ S["colorblind_vulp"] >> pref.colorblind_vulp
+ S["colorblind_taj"] >> pref.colorblind_taj
+ S["haemophilia"] >> pref.haemophilia //YWadd end
/datum/category_item/player_setup_item/general/body/save_character(var/savefile/S)
S["species"] << pref.species
@@ -71,7 +75,11 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
S["synth_markings"] << pref.synth_markings
S["bgstate"] << pref.bgstate
S["body_descriptors"] << pref.body_descriptors
- S["Wingdings"] << pref.wingdings //YWadd
+ S["Wingdings"] << pref.wingdings //YWadd start
+ S["colorblind_mono"] << pref.colorblind_mono
+ S["colorblind_vulp"] << pref.colorblind_vulp
+ S["colorblind_taj"] << pref.colorblind_taj
+ S["haemophilia"] << pref.haemophilia //YWadd end
/datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S)
if(!pref.species || !(pref.species in GLOB.playable_species))
@@ -128,17 +136,21 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
character.b_synth = pref.b_synth
character.synth_markings = pref.synth_markings
if(pref.species == "Grey")//YWadd START
- character.wingdings = pref.wingdings //YWadd END
+ character.wingdings = pref.wingdings
- if(pref.colorblind_1 == 1)
+ if(pref.colorblind_mono == 1)
character.add_modifier(/datum/modifier/trait/colorblind_monochrome)
- else if(pref.colorblind_2 == 1)
+ else if(pref.colorblind_vulp == 1)
character.add_modifier(/datum/modifier/trait/colorblind_vulp)
- else if(pref.colorblind_3 == 1)
+ else if(pref.colorblind_taj == 1)
character.add_modifier(/datum/modifier/trait/colorblind_taj)
+ if(pref.haemophilia == 1)
+ character.add_modifier(/datum/modifier/trait/haemophilia)
+ //YWadd END
+
// 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]
@@ -213,15 +225,10 @@ 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
"
- . += "Disabilities
Adjust
"
- //. += "Needs Glasses: [pref.disabilities & NEARSIGHTED ? "Yes" : "No"]
"
+ . += "Disabilities
Adjust
" // YWadd
+ //YWcommented moved onto disabilities. += "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"]
"
- //YW Edit End
-
//display limbs below
var/ind = 0
for(var/name in pref.organ_data)
@@ -802,7 +809,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
- Disabilities_YW(usr)
+ Disabilities_YW(usr) //YW Edit
else if(href_list["toggle_preview_value"])
pref.equip_preview_mob ^= text2num(href_list["toggle_preview_value"])
@@ -833,19 +840,33 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.wingdings = !pref.wingdings
Disabilities_YW(usr)
- else if(href_list["colorblind_1"])
- pref.colorblind_1 = !pref.colorblind_1
+ else if(href_list["colorblind_mono"])
+ pref.colorblind_mono = !pref.colorblind_mono
Disabilities_YW(usr)
- else if(href_list["colorblind_2"])
- pref.colorblind_2 = !pref.colorblind_2
+ else if(href_list["colorblind_vulp"])
+ pref.colorblind_vulp = !pref.colorblind_vulp
Disabilities_YW(usr)
- else if(href_list["colorblind_3"])
- pref.colorblind_3 = !pref.colorblind_3
+ else if(href_list["colorblind_taj"])
+ pref.colorblind_taj = !pref.colorblind_taj
Disabilities_YW(usr)
+
+ else if(href_list["haemophilia"])
+ pref.haemophilia = !pref.haemophilia
+ Disabilities_YW(usr)
+
+ else if(href_list["reset_disabilities"])
+ pref.wingdings = 0
+ pref.colorblind_mono = 0
+ pref.colorblind_taj = 0
+ pref.colorblind_vulp = 0
+ pref.haemophilia = 0
+ Disabilities_YW(usr)
+
//YW Add End
+
return ..()
/datum/category_item/player_setup_item/general/body/proc/reset_limbs()
@@ -939,21 +960,3 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
user << browse(dat, "window=species;size=700x400")
-/datum/category_item/player_setup_item/general/body/proc/Disabilities_YW(mob/user)
- var/dat = "