anchor.diff:  	user.client.screen -= contents
   	if(user.s_active == src)
   		user.s_active = null
  +	is_seeing -= user
  +
  +
  +/obj/item/weapon/storage/proc/can_see_contents()
  +	var/list/cansee = list()
  +	for(var/mob/M in is_seeing)
  +		if(M.s_active == src)
  +			cansee |= M
  +		else
  +			is_seeing -= M
  +	return cansee
   
   
   /obj/item/weapon/storage/proc/close(mob/user)
  
positive.code: 		var/obj/item/weapon/storage/fancy/F = src
  		F.update_icon(1)
  
  	for(var/mob/M in range(1, loc))
  		if(M.s_active == src)
  			if(M.client)
  				M.client.screen -= W
  
  	if(new_location)
  		if(ismob(loc))
  
negative.code: 	w_class = 3.0
  	var/list/can_hold = new/list() //List of objects which this item can store (if set, it can't store anything else)
  	var/list/cant_hold = new/list() //List of objects which this item can't store (in effect only if can_hold isn't set)
  	var/list/is_seeing = new/list() //List of mobs which are currently seeing the contents of this item's storage
  	var/max_w_class = 2 //Max size of objects that this object can store (in effect only if can_hold isn't set)
  	var/max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item.
  	var/storage_slots = 7 //The number of storage slots in this container.
  