Fixes regaining color sight after darkvision (#11448)

This commit is contained in:
Casper3667
2021-03-15 18:19:28 +01:00
committed by GitHub
parent bb6e7aeee8
commit ca49f5ff14
3 changed files with 51 additions and 7 deletions
+6 -3
View File
@@ -2,7 +2,7 @@
var/client_color = "" //Any client.color-valid value
var/priority = 1
var/override = FALSE //If set to override we will stop multiplying the moment we get here. NOTE: Priority remains, if your override is on position 4, the other 3 will still have a say.
var/disability = FALSE
/mob
var/list/client_colors = list()
@@ -22,9 +22,10 @@
return TRUE
return FALSE
/mob/proc/add_client_color(color_type)
/mob/proc/add_client_color(color_type, set_disability = FALSE)
if(!has_client_color(color_type))
var/datum/client_color/CC = new color_type()
CC.disability = set_disability
client_colors |= CC
sortTim(client_colors, /proc/cmp_clientcolor_priority)
update_client_color()
@@ -35,7 +36,7 @@
color_type - a typepath (subtyped from /datum/client_color)
returns true if instance was found, false otherwise
*/
/mob/proc/remove_client_color(color_type)
/mob/proc/remove_client_color(color_type, remove_disability = FALSE)
if(!ispath(/datum/client_color))
return FALSE
@@ -43,6 +44,8 @@
for(var/cc in client_colors)
var/datum/client_color/CC = cc
if(CC.type == color_type)
if(CC.disability && !remove_disability)
continue
result = TRUE
client_colors -= CC
qdel(CC)