From 3ad4e4a535679e53087b2898ba7f4cc2ad78b613 Mon Sep 17 00:00:00 2001 From: SplinterGP Date: Tue, 5 May 2020 15:46:30 -0300 Subject: [PATCH] Disabilities out of trait system --- .../preference_setup/general/03_body.dm | 54 +++++++++++++++++-- code/modules/client/preferences_vr.dm | 4 ++ .../species/station/traits_vr/negative.dm | 3 +- 3 files changed, 55 insertions(+), 6 deletions(-) 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 += "" user << browse(dat, "window=species;size=700x400") + +/datum/category_item/player_setup_item/general/body/proc/Disabilities_YW(mob/user) + var/dat = "" + dat += "
" + + if(pref.species == "Grey") + dat += "Speak Wingdings: [pref.wingdings ? "Yes" : "No"]
" + dat += "Needs Glasses: [pref.disabilities & NEARSIGHTED ? "Yes" : "No"]
" + if(pref.colorblind_2 == 0 && pref.colorblind_3 == 0) + dat += "Colorblind 1: [pref.colorblind_1 ? "Yes" : "No"]
" + if(pref.colorblind_1 == 0 && pref.colorblind_3 == 0) + dat += "Colorblind 2: [pref.colorblind_2 ? "Yes" : "No"]
" + if(pref.colorblind_1 == 0 && pref.colorblind_2 == 0) + dat += "Colorblind 3: [pref.colorblind_3 ? "Yes" : "No"]
" + + dat += "
" + var/datum/browser/popup = new(user, "disabil", "
Choose Disabilities
", 350, 380, src) + popup.set_content(dat) + popup.open() \ No newline at end of file diff --git a/code/modules/client/preferences_vr.dm b/code/modules/client/preferences_vr.dm index 65b3470aba..0d48f786e4 100644 --- a/code/modules/client/preferences_vr.dm +++ b/code/modules/client/preferences_vr.dm @@ -3,6 +3,10 @@ datum/preferences var/show_in_directory = 1 //Show in Character Directory var/sensorpref = 5 //Set character's suit sensor level var/wingdings = 1 //YW Add + var/list/disabilities_yw list("wingdings" = 1, "colorblind_1" = 0, "colorblind_2" = 0 ,"colorblind_1" = 0) + var/colorblind_1 = 0 + var/colorblind_2 = 0 + var/colorblind_3 = 0 var/job_talon_high = 0 var/job_talon_med = 0 diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm index 61f5cc1097..d0b0b03b70 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm @@ -145,6 +145,7 @@ cost = -2 var_changes = list("lightweight" = 1) +/* YW comment starts /datum/trait/colorblind/mono name = "Colorblindness (Monochromancy)" desc = "You simply can't see colors at all, period. You are 100% colorblind." @@ -171,7 +172,7 @@ /datum/trait/colorblind/para_taj/apply(var/datum/species/S,var/mob/living/carbon/human/H) ..(S,H) H.add_modifier(/datum/modifier/trait/colorblind_taj) - +YW comment finish*/ // YW Addition /datum/trait/light_sensitivity name = "Photosensitivity"