Uses the Disabilities system more correctly

Allows eyes to track eye-dependent disabilities when removed from the mob.
Farwas and Wolpins are now incurably colourblind (non-genetics based), so going lesser-form and back won't wipe your colourblindness.

Eyes being straight-up deleted (as per how set_species() handles setting up the organs required for the species we're changing to) no longer wipes colourblindness.

Now with more helper procs, less unnecessary commenting, random changes and other cleanliness-related tweaks.
This commit is contained in:
KasparoVy
2017-01-26 04:10:55 -05:00
parent c16f734a6d
commit d73413b046
22 changed files with 84 additions and 99 deletions
@@ -2020,6 +2020,8 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
return 1
/datum/preferences/proc/copy_to(mob/living/carbon/human/character)
var/datum/species/S = all_species[species]
character.change_species(species) // Yell at me if this causes everything to melt
if(be_random_name)
real_name = random_name(gender,species)
@@ -2169,13 +2171,12 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
if(disabilities & DISABILITY_FLAG_COLOURBLIND)
character.dna.SetSEState(COLOURBLINDBLOCK,1,1)
character.disabilities |= COLOURBLIND
if(disabilities & DISABILITY_FLAG_MUTE)
character.dna.SetSEState(MUTEBLOCK,1,1)
character.disabilities |= MUTE
character.species.handle_dna(character)
S.handle_dna(character)
if(character.dna.dirtySE)
character.dna.UpdateSE()