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 += "
"
+ 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"