anchor.diff:  			productlist[record.product_path] -= diff
   			record.amount += diff
   			. += diff
  -
  +/**
  +  * Set up a refill canister that matches this machines products
  +  *
  +  * This is used when the machine is deconstructed, so the items aren't "lost"
  +  */
   /obj/machinery/vending/proc/update_canister()
   	if (!component_parts)
   		return
  
positive.code: */
  
  #define MAX_VENDING_INPUT_AMOUNT 30
  
  /datum/data/vending_product
  	name = "generic"
  	var/product_path = null
  	var/amount = 0
  	var/max_amount = 0
  	var/custom_price
  	var/custom_premium_price
  
  /obj/machinery/vending
  	name = "\improper Vendomat"
  	desc = "A generic vending machine."
  
negative.code: 
  	if(shoot_inventory && prob(shoot_inventory_chance))
  		throw_item()
  /**
    * Speak the given message verbally
    *
    * Checks if the machine is powered and the message exists
    *
    * Arguments:
    * * message - the message to speak
    */
  /obj/machinery/vending/proc/speak(message)
  	if(stat & (BROKEN|NOPOWER))
  		return
  