From 546f71d3fdd8fb1d19c09bdb3355168a6b5413e2 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Mon, 15 Jan 2018 03:31:38 -0500 Subject: [PATCH 1/2] POLARIS: Adds a 'alter values' proc for plane master ease of tweaking Setting stuff like colorblindness variety and things. --- code/modules/mob/mob_planes.dm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/mob_planes.dm b/code/modules/mob/mob_planes.dm index 15d008b81d..e5f10078fd 100644 --- a/code/modules/mob/mob_planes.dm +++ b/code/modules/mob/mob_planes.dm @@ -63,6 +63,17 @@ for(var/SP in subplanes) set_vis(which = SP, new_alpha = new_alpha) +/datum/plane_holder/proc/alter_values(var/which = null, var/list/values = null) + ASSERT(which) + var/obj/screen/plane_master/PM = plane_masters[which] + if(!PM) + crash_with("Tried to alter [which] in plane_holder on [my_mob]!") + PM.alter_plane_values(arglist(values)) + if(PM.sub_planes) + var/list/subplanes = PM.sub_planes + for(var/SP in subplanes) + alter_values(SP, values) + //////////////////// // The Plane Master //////////////////// @@ -103,6 +114,9 @@ new_alpha = sanitize_integer(new_alpha, 0, 255, 255) alpha = new_alpha +/obj/screen/plane_master/proc/alter_plane_values() + return //Stub + //////////////////// // Special masters //////////////////// @@ -162,11 +176,11 @@ "Paradise Taj" = MATRIX_Taj_Colorblind ) -/obj/screen/plane_master/colorblindness/proc/set_variety(var/which = null) - var/new_type = varieties[which] - if(!new_type) return +/obj/screen/plane_master/colorblindness/alter_plane_values(var/variety = null) + var/new_matrix = varieties[variety] + if(!new_matrix) return - color = new_type + color = new_matrix /obj/screen/plane_master/colorblindness/proc/debug_variety() var/choice = input(usr,"Pick a type of colorblindness","Which?") as null|anything in varieties From 737793c85488677c213e198dd05058c01cfc5609 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Mon, 15 Jan 2018 03:31:58 -0500 Subject: [PATCH 2/2] VS: Colorblindness traits --- .../species/station/traits_vr/negative.dm | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) 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 28c98ace23..505cf203f1 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 @@ -100,4 +100,33 @@ name = "Lightweight" desc = "Your light weight and poor balance make you very susceptible to unhelpful bumping. Think of it like a bowling ball versus a pin." cost = -4 - var_changes = list("lightweight" = 1) \ No newline at end of file + var_changes = list("lightweight" = 1) + +/datum/trait/colorblind + name = "Colorblindness (Monochromancy)" + desc = "You simply can't see colors at all, period. You are 100% colorblind." + cost = -4 + +/datum/trait/colorblind/apply(var/datum/species/S,var/mob/living/carbon/human/H) + ..(S,H) + if(!H.plane_holder) + H.plane_holder = new + H.plane_holder.set_vis(VIS_D_COLORBLIND,TRUE) //The default is monocrhomia, no need to set values + +/datum/trait/colorblind/para_vulp + name = "Colorblindness (Para Vulp)" + desc = "You have a severe issue with green colors and have difficulty recognizing them from red colors." + cost = -3 + +/datum/trait/colorblind/para_vulp/apply(var/datum/species/S,var/mob/living/carbon/human/H) + ..(S,H) + H.plane_holder.alter_values(VIS_D_COLORBLIND,list("variety" = "Paradise Vulp")) + +/datum/trait/colorblind/para_taj + name = "Colorblindness (Para Taj)" + desc = "You have a minor issue with blue colors and have difficulty recognizing them from red colors." + cost = -2 + +/datum/trait/colorblind/para_taj/apply(var/datum/species/S,var/mob/living/carbon/human/H) + ..(S,H) + H.plane_holder.alter_values(VIS_D_COLORBLIND,list("variety" = "Paradise Taj"))