mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 12:29:46 +01:00
Abling Disability (#4485)
This PR implements a system for manipulating a client's color safely and also ports a prioritization system for sorting client color from /tg/. Currently this PR also implements client coloration in the form of color blindness, namely: Monochromacy Deuteranopia Tritanopia Protanopia DTP are mild brain traumas, whereas monocrhomacy is a severe brain trauma. Furthermore, this PR removes the Needs Glasses prompt in character creation, and replaces it with a disability selector, allowing people to more closely refine their special little snowflakes. Current disabilities available: Nervousness Nearsightedness Deuteranopia Tritanopia Protanopia Deafness Muteness
This commit is contained in:
@@ -226,16 +226,49 @@
|
||||
lose_text = "<span class='notice'>Your vision returns.</span>"
|
||||
|
||||
/datum/brain_trauma/mild/nearsightedness/on_gain()
|
||||
owner.disabilities |= BLIND
|
||||
owner.disabilities |= NEARSIGHTED
|
||||
..()
|
||||
|
||||
//no fiddling with genetics to get out of this one
|
||||
/datum/brain_trauma/mild/nearsightedness/on_life()
|
||||
if(!(owner.disabilities & BLIND))
|
||||
if(!(owner.disabilities & NEARSIGHTED))
|
||||
on_gain()
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/mild/nearsightedness/on_lose()
|
||||
if(owner.disabilities & BLIND)
|
||||
owner.disabilities &= ~BLIND
|
||||
if(owner.disabilities & NEARSIGHTED)
|
||||
owner.disabilities &= ~NEARSIGHTED
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/mild/colorblind
|
||||
name = "Partial Colorblindedness"
|
||||
desc = "Patient's brain is loosely connected to ocular cones."
|
||||
scan_desc = "minor damage to the brain's occipital lobe"
|
||||
gain_text = "<span class='warning'>Your perception of color distorts!</span>"
|
||||
lose_text = "<span class='notice'>Your vision returns.</span>"
|
||||
var/colorblindedness
|
||||
|
||||
/datum/brain_trauma/mild/colorblind/on_gain()
|
||||
colorblindedness = pick("deuteranopia", "protanopia", "tritanopia")
|
||||
switch(colorblindedness)
|
||||
if("deuteranopia")
|
||||
owner.add_client_color(/datum/client_color/deuteranopia)
|
||||
if("protanopia")
|
||||
owner.add_client_color(/datum/client_color/protanopia)
|
||||
if("tritanopia")
|
||||
owner.add_client_color(/datum/client_color/tritanopia)
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/mild/colorblind/on_life()
|
||||
if(owner.client && !owner.client.color)
|
||||
on_gain()
|
||||
|
||||
/datum/brain_trauma/mild/colorblind/on_lose()
|
||||
switch(colorblindedness)
|
||||
if("deuteranopia")
|
||||
owner.remove_client_color(/datum/client_color/deuteranopia)
|
||||
if("protanopia")
|
||||
owner.remove_client_color(/datum/client_color/protanopia)
|
||||
if("tritanopia")
|
||||
owner.remove_client_color(/datum/client_color/tritanopia)
|
||||
..()
|
||||
@@ -218,4 +218,23 @@
|
||||
|
||||
/datum/brain_trauma/severe/pacifism/on_lose()
|
||||
owner.disabilities &= ~PACIFIST
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/severe/total_colorblind
|
||||
name = "Total Colorblindedness"
|
||||
desc = "Patient's brain is loosely connected to ocular cones."
|
||||
scan_desc = "minor damage to the brain's occipital lobe"
|
||||
gain_text = "<span class='warning'>Your perception of color vanishes!</span>"
|
||||
lose_text = "<span class='notice'>Your vision returns.</span>"
|
||||
|
||||
/datum/brain_trauma/severe/total_colorblind/on_gain()
|
||||
owner.add_client_color(/datum/client_color/monochrome)
|
||||
..()
|
||||
|
||||
/datum/brain_trauma/severe/total_colorblind/on_life()
|
||||
if(owner.client && !owner.client.color)
|
||||
on_gain()
|
||||
|
||||
/datum/brain_trauma/severe/total_colorblind/on_lose()
|
||||
owner.remove_client_color(/datum/client_color/monochrome)
|
||||
..()
|
||||
Reference in New Issue
Block a user