anchor.diff:  	if(check_change()) //Returns 1 if no change needed to icons.
   		return
   
  -	src.overlays = 0
  -
  -	if (_color["sec"])//COLORS!
  -		overlays.Add(_color["sec"])
  -
  -	if (_color["ter"])
  -		overlays.Add(_color["ter"])
  -
  -	if (_color["quart"])
  -		overlays.Add(_color["quart"])
  -
  +	overlays.Cut()
  +	
  +	for(var/C in _color)
  +		if(C == "prim") continue
  +		if(_color[C] == "none") continue
  +		overlays.Add(_color[C])
  +	
   	for(var/D in decals)
  -		overlays.Add("decal-" + D)
  +		if(decals[D])
  +			overlays.Add("decal-" + D)
   
   	if(update_flag & 1)
   		overlays += "can-open"
  
positive.code: 		usr << browse(null, "window=canister")
  		onclose(usr, "canister")
  		return
  
  	if (href_list["choice"] == "menu")
  		menu = text2num(href_list["mode_target"])
  
  
negative.code: 			_color["prim"] = href_list["icon"]
  	if (href_list["choice"] == "Secondary color")
  		if (href_list["icon"] == "none")
  			_color["sec"] = "none"
  		else if (is_a_color(href_list["icon"],"sec"))
  			_color["sec"] = href_list["icon"]
  	if (href_list["choice"] == "Tertiary color")
  		if (href_list["icon"] == "none")
  			_color["ter"] = "none"
  		else if (is_a_color(href_list["icon"],"ter"))
  			_color["ter"] = href_list["icon"]
  	if (href_list["choice"] == "Quaternary color")
  		if (href_list["icon"] == "none")
  			_color["quart"] = "none"
  		else if (is_a_color(href_list["icon"],"quart"))
  			_color["quart"] = href_list["icon"]
  	
  	if (href_list["choice"] == "decals")
  		if (is_a_decal(href_list["icon"]))
  			decals[href_list["icon"]] = (decals[href_list["icon"]] == 0)
  			
  	src.add_fingerprint(usr)
  	update_icon()
  
  