anchor.diff:  		load_item(IW, user)
   
   /obj/item/pneumatic_cannon/proc/can_load_item(obj/item/I, mob/user)
  +	if(allowed_typecache && is_type_in_typecache(I, allowed_typecache))
  +		if(user)
  +			to_chat(user, "<span class='warning'>[I] won't fit into [src]!</span>")
  +		return
   	if((loadedWeightClass + I.w_class) > maxWeightClass)	//Only make messages if there's a user
   		if(user)
   			to_chat(user, "<span class='warning'>\The [I] won't fit into \the [src]!</span>")
  
positive.code: 	var/fire_mode = PCANNON_FIREALL
  	var/automatic = FALSE
  	var/clumsyCheck = TRUE
  	trigger_guard = TRIGGER_GUARD_NORMAL
  
  /obj/item/pneumatic_cannon/CanItemAutoclick()
  	return automatic
  
negative.code: 	throw_amount = 1
  	maxWeightClass = 150	//50 pies. :^)
  	clumsyCheck = FALSE
  	var/static/list/pie_typecache = typecacheof(/obj/item/reagent_containers/food/snacks/pie)
  
  /obj/item/pneumatic_cannon/pie/Initialize()
  	. = ..()
  	allowed_typecache = pie_typecache
  	
  /obj/item/pneumatic_cannon/pie/selfcharge
  	automatic = TRUE
  	selfcharge = TRUE
  	charge_type = /obj/item/reagent_containers/food/snacks/pie/cream
  	maxWeightClass = 60	//20 pies.
  