anchor.diff:  	max_integrity = 200
   	integrity_failure = 0.25
   	var/obj/item/showpiece = null
  -	var/obj/item/showpiece_type = null //This allows for showpieces that can only hold items if they're the same istype as this.
  +	//var/obj/item/showpiece_type = null //This allows for showpieces that can only hold items if they're the same istype as this.
  +	var/list/compatible_items_typecache
   	var/alert = TRUE
   	var/open = FALSE
   	var/openable = TRUE
  
positive.code: /obj/structure/displaycase/captain
  	start_showpiece_type = /obj/item/gun/energy/laser/captain
  	req_access = list(ACCESS_CENT_SPECOPS) //this was intentional, presumably to make it slightly harder for caps to grab their gun roundstart
  
  /obj/structure/displaycase/labcage
  	name = "lab cage"
  	desc = "A glass lab container for storing interesting creatures."
  	start_showpiece_type = /obj/item/clothing/mask/facehugger/lamarr
  	req_access = list(ACCESS_RD)
  
  /obj/structure/displaycase/noalert
  	alert = FALSE
  
negative.code: 			to_chat(user, "<span class='notice'>Vend-a-tray registered. Use your ID on grab intent to change the sale price, or disarm intent to open the tray.</span>")
  			return
  		//Buying the contained item with the ID.
  		switch(user.a_intent)
  			if(INTENT_HELP)
  				if(!showpiece)
  					to_chat(user, "<span class='notice'>There's nothing for sale.</span>")
  					return TRUE
  				if(broken)
  					to_chat(user, "<span class='notice'>[src] appears to be broken.</span>")
  					return TRUE
  				var/confirm = alert(user, "Purchase [showpiece] for [sale_price]?", "Purchase?", "Confirm", "Cancel")
  				if(confirm == "Cancel")
  					return TRUE
  				var/datum/bank_account/account = potential_acc.registered_account
  				if(!account.has_money(sale_price))
  					to_chat(user, "<span class='notice'>You do not possess the funds to purchase this.</span>")
  					return TRUE
  				else
  					account.adjust_money(-sale_price)
  					if(payments_acc)
  						payments_acc.adjust_money(sale_price)
  					user.put_in_hands(showpiece)
  					to_chat(user, "<span class='notice'>You purchase [showpiece] for [sale_price] credits.</span>")
  					playsound(src, 'sound/effects/cashregister.ogg', 40, TRUE)
  					icon = 'icons/obj/stationobjs.dmi'
  					flick("laserbox_vend", src)
  					showpiece = null
  					update_icon()
  					return TRUE
  			//Setting the object's price.
  			if(INTENT_GRAB)
  				var/new_price_input = input(user,"Set the sale price for this vend-a-tray.","new price",0) as num|null
  				if(isnull(new_price_input) || !user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
  					return
  				new_price_input = CLAMP(round(new_price_input, 1), 10, 1000)
  				sale_price = new_price_input
  				to_chat(user, "<span class='notice'>The cost is now set to [sale_price].</span>")
  				return TRUE
  	if(I.tool_behaviour == TOOL_WRENCH && open && user.a_intent == INTENT_HELP )
  		if(anchored)
  			to_chat(user, "<span class='notice'>You start unsecuring [src]...</span>")
  