anchor.diff:  	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
  -	var/active = 1		//No sales pitches if off!
  -	var/vend_ready = 1	//Are we ready to vend?? Is it time??
  +	/// 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
   
  -	// To be filled out at compile time
  -	var/list/products	= list()	//For each, use the following pattern:
  -	var/list/contraband	= list()	//list(/type/path = amount, /type/path2 = amount2)
  -	var/list/premium 	= list()	//No specified amount = only one in stock
  -
  -	var/product_slogans = ""	//String of slogans separated by semicolons, optional
  -	var/product_ads = ""		//String of small ad messages in the vending screen - random chance
  +	
  +	/**
  +	  * 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()
  -	var/list/small_ads = list()	//Small ad messages in the vending screen - random chance of popping up whenever you open it
  -	var/vend_reply				//Thank you for shopping!
  +	///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
  -	var/last_slogan = 0			//When did we last pitch?
  -	var/slogan_delay = 6000		//How long until we can pitch again?
  -	var/icon_vend				//Icon_state when vending!
  -	var/icon_deny				//Icon_state when vending!
  -	var/seconds_electrified = MACHINE_NOT_ELECTRIFIED	//Shock customers like an airlock.
  -	var/shoot_inventory = 0		//Fire items at customers! We're broken!
  +	///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
  -	var/shut_up = 0				//Stop spouting those godawful pitches!
  -	var/extended_inventory = 0	//can we access the hidden inventory?
  +	//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
  -	var/onstation = TRUE //if it doesn't originate from off-station during mapload, everything is free
  +	/**
  +	  * 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"
   
  -	var/obj/item/vending_refill/refill_canister = null		//The type of refill canisters used by this machine.
  +	//The type of refill canisters used by this machine.
  +	var/obj/item/vending_refill/refill_canister = null
   
   /obj/item/circuitboard
  -	var/onstation = TRUE //if the circuit board originated from a vendor off station or not.
  -
  +    ///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)
  
positive.code: 			productlist[record.product_path] -= diff
  			record.amount += diff
  			. += diff
  
  /obj/machinery/vending/proc/update_canister()
  	if (!component_parts)
  		return
  
negative.code: */
  
  #define MAX_VENDING_INPUT_AMOUNT 30
  /**
    * # vending record datum
    *
    * A datum that represents a product that is vendable
    */
  /datum/data/vending_product
  	name = "generic"
  	///Typepath of the product that is created when this record "sells"
  	var/product_path = null
  	///How many of this product we currently have
  	var/amount = 0
  	///How many we can store at maximum
  	var/max_amount = 0
  	///Does the item have a custom price override
  	var/custom_price
  	///Does the item have a custom premium price override
  	var/custom_premium_price
  
  /**
    * # vending machines
    *
    * Captalism in the year 2525, everything in a vending machine, even love
    */
  /obj/machinery/vending
  	name = "\improper Vendomat"
  	desc = "A generic vending machine."
  