anchor.diff:  		R.custom_price = initial(temp.custom_price)
   		R.custom_premium_price = initial(temp.custom_premium_price)
   		recordlist += R
  -
  +/**
  +  * Refill a vending machine from a refill canister
  +  *
  +  * This takes the products from the refill canister and then fills the products,contraband and premium product categories
  +  *
  +  * Arguments:
  +  * * canister - the vending canister we are refilling from
  +  */
   /obj/machinery/vending/proc/restock(obj/item/vending_refill/canister)
   	if (!canister.products)
   		canister.products = products.Copy()
  
positive.code: 	throw_item.throw_at(target, 16, 3)
  	visible_message("<span class='danger'>[src] launches [throw_item] at [target]!</span>")
  	return 1
  
  /obj/machinery/vending/proc/pre_throw(obj/item/I)
  	return
  
  /obj/machinery/vending/proc/shock(mob/user, prb)
  	if(stat & (BROKEN|NOPOWER))		// unpowered, no shock
  		return FALSE
  
negative.code: 	armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70)
  	circuit = /obj/item/circuitboard/machine/vendor
  	payment_department = ACCOUNT_SRV
  	/// Is the machine active (No sales pitches if off)!
  	var/active = 1
  	///Are we ready to vend?? Is it time??
  	var/vend_ready = 1
  	///Next world time to send a purchase message
  	var/purchase_message_cooldown
  	///Last mob to shop with us
  	var/last_shopper
  
  	
  	/**
  	  * List of products this machine sells
  	  *
  	  *	form should be list(/type/path = amount, /type/path2 = amount2)
  	  */
  	var/list/products	= list()
  
  	/**
  	  * List of products this machine sells when you hack it
  	  *
  	  *	form should be list(/type/path = amount, /type/path2 = amount2)
  	  */
  	var/list/contraband	= list()
  
  	/**
  	  * List of premium products this machine sells
  	  *
  	  *	form should be list(/type/path, /type/path2) as there is only ever one in stock
  	  */
  	var/list/premium 	= list()
  
  	///String of slogans separated by semicolons, optional
  	var/product_slogans = ""
  	///String of small ad messages in the vending screen - random chance
  	var/product_ads = ""
  
  	var/list/product_records = list()
  	var/list/hidden_records = list()
  	var/list/coin_records = list()
  	var/list/slogan_list = list()
  	///Small ad messages in the vending screen - random chance of popping up whenever you open it
  	var/list/small_ads = list()
  	///Message sent post vend (Thank you for shopping!)
  	var/vend_reply
  	///Last world tick we sent a vent reply
  	var/last_reply = 0
  	///Last world tick we sent a slogan message out
  	var/last_slogan = 0
  	///How many ticks until we can send another
  	var/slogan_delay = 6000
  	///Icon when vending an item to the user
  	var/icon_vend
  	///Icon to flash when user is denied a vend
  	var/icon_deny
  	///World ticks the machine is electified for
  	var/seconds_electrified = MACHINE_NOT_ELECTRIFIED
  	///When this is TRUE, we fire items at customers! We're broken!
  	var/shoot_inventory = 0
  	///How likely this is to happen (prob 100)
  	var/shoot_inventory_chance = 2
  	//Stop spouting those godawful pitches!
  	var/shut_up = 0
  	///can we access the hidden inventory?
  	var/extended_inventory = 0
  	///Are we checking the users ID
  	var/scan_id = 1
  	///Coins that we accept?
  	var/obj/item/coin/coin
  	///Bills we accept?
  	var/obj/item/stack/spacecash/bill
  	var/chef_price = 10
  	///Default price of items if not overridden
  	var/default_price = 25
  	///Default price of premium items if not overridden
  	var/extra_price = 50
  	/**
  	  * Is this item on station or not
  	  *
  	  * if it doesn't originate from off-station during mapload, everything is free
  	  */
  	var/onstation = TRUE
  	///ID's that can load this vending machine wtih refills
  	var/list/canload_access_list
  
  	var/list/vending_machine_input = list()
  	///Display header on the input view
  	var/input_display_header = "Custom Compartment"
  
  	//The type of refill canisters used by this machine.
  	var/obj/item/vending_refill/refill_canister = null
  
  /obj/item/circuitboard
      ///determines if the circuit board originated from a vendor off station or not.
  	var/onstation = TRUE
  
  /**
    * Initialize the vending machine
    *
    * Builds the vending machine inventory, sets up slogans and other such misc work
    *
    * This also sets the onstation var to:
    * * FALSE - if the machine was maploaded on a zlevel that doesn't pass the is_station_level check
    * * TRUE - all other cases
    */
  /obj/machinery/vending/Initialize(mapload)
  	var/build_inv = FALSE
  	if(!refill_canister)
  