anchor.diff:  				src.w_uniform = W
   				equipped = 1
   		if(slot_l_store)
  -			if(!src.l_store)
  +			if(!src.l_store && src.w_uniform)
   				src.l_store = W
   				equipped = 1
   		if(slot_r_store)
  -			if(!src.r_store)
  +			if(!src.r_store && src.w_uniform)
   				src.r_store = W
   				equipped = 1
   		if(slot_s_store)
  -			if(!src.s_store)
  +			if(!src.s_store && src.wear_suit)
   				src.s_store = W
   				equipped = 1
   		if(slot_in_backpack)
  
positive.code: 				update_clothing()
  				return
  
  
  /mob/living/carbon/human/proc/equip_if_possible(obj/item/W, slot, del_on_fail = 1) // since byond doesn't seem to have pointers, this seems like the best way to do this :/
  	//warning: icky code
  	var/equipped = 0
  	if((slot == l_store || slot == r_store || slot == belt || slot == wear_id) && !src.w_uniform)
  		del(W)
  		return
  	if(slot == s_store && !src.wear_suit)
  		del(W)
  		return
  	switch(slot)
  		if(slot_back)
  			if(!src.back)
  
negative.code: 				src.r_hand = W
  				equipped = 1
  		if(slot_belt)
  			if(!src.belt && src.w_uniform)
  				src.belt = W
  				equipped = 1
  		if(slot_wear_id)
  			if(!src.wear_id && src.w_uniform)
  				src.wear_id = W
  				equipped = 1
  		if(slot_ears)
  