code:
///////////////////////////////////////////////Alchohol bottles! -Agouri //////////////////////////
//Functionally identical to regular drinks. The only difference is that the default bottle size is 100. - Darem
//Bottles now weaken and break when smashed on people's heads. - Giacom

/obj/item/weapon/reagent_containers/food/drinks/bottle
	amount_per_transfer_from_this = 10
	volume = 100
	throwforce = 15
	item_state = "broken_beer" //Generic held-item sprite until unique ones are made.
	var/const/duration = 13 //Directly relates to the 'weaken' duration. Lowered by armor (i.e. helmets)
	var/isGlass = 1 //Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it

/obj/item/weapon/reagent_containers/food/drinks/bottle/throw_impact(atom/target,mob/thrower)
	..(target,thrower)
	SplashReagents(target)
	smash(target,thrower,1)
	return

/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/smash(mob/living/target, mob/living/user, ranged = 0)

	//Creates a shattering noise and replaces the bottle with a broken_bottle
	var/new_location = get_turf(loc)
	var/obj/item/weapon/broken_bottle/B = new /obj/item/weapon/broken_bottle(new_location)
	if(ranged)
		B.loc = new_location
	else
		user.drop_item()
		user.put_in_active_hand(B)
	B.icon_state = src.icon_state

	var/icon/I = new('icons/obj/drinks.dmi', src.icon_state)
	I.Blend(B.broken_outline, ICON_OVERLAY, rand(5), 1)
	I.SwapColor(rgb(255, 0, 220, 255), rgb(0, 0, 0, 0))
	B.icon = I

	if(isGlass)
		if(prob(33))
			new/obj/item/weapon/shard(new_location)
		playsound(src, "shatter", 70, 1)
	else
		B.name = "broken carton"
		B.force = 0
		B.throwforce = 0
		B.desc = "A carton with the bottom half burst open. Might give you a papercut."
	src.transfer_fingerprints_to(B)

	qdel(src)

/obj/item/weapon/reagent_containers/food/drinks/bottle/attack(mob/living/target, mob/living/user)

	if(!target)
		return

	if(user.a_intent != "harm" || !isGlass)
		return ..()

	force = 15 //Smashing bottles over someoen's head hurts.

	var/obj/item/organ/limb/affecting = user.zone_selected //Find what the player is aiming at

	var/armor_block = 0 //Get the target's armor values for normal attack damage.
	var/armor_duration = 0 //The more force the bottle has, the longer the duration.

	//Calculating duration and calculating damage.
	if(ishuman(target))

		var/mob/living/carbon/human/H = target
		var/headarmor = 0 // Target's head armor
		armor_block = H.run_armor_check(affecting, "melee","","",armour_penetration) // For normal attack damage

		//If they have a hat/helmet and the user is targeting their head.
		if(istype(H.head, /obj/item/clothing/head) && affecting == "head")

			// If their head has an armor value, assign headarmor to it, else give it 0.
			if(H.head.armor["melee"])
				headarmor = H.head.armor["melee"]
			else
				headarmor = 0
		else
			headarmor = 0

		//Calculate the weakening duration for the target.
		armor_duration = (duration - headarmor) + force

	else
		//Only humans can have armor, right?
		armor_block = target.run_armor_check(affecting, "melee")
		if(affecting == "head")
			armor_duration = duration + force
	armor_duration /= 10

	//Apply the damage!
	armor_block = min(90,armor_block)
	target.apply_damage(force, BRUTE, affecting, armor_block)

	// You are going to knock someone out for longer if they are not wearing a helmet.
	var/head_attack_message = ""
	if(affecting == "head" && istype(target, /mob/living/carbon/))
		head_attack_message = " on the head"
		//Weaken the target for the duration that we calculated and divide it by 5.
		if(armor_duration)
			target.apply_effect(min(armor_duration, 10) , WEAKEN) // Never weaken more than a flash!

	//Display an attack message.
	if(target != user)
		target.visible_message("[user] has hit [target][head_attack_message] with a bottle of [src.name]!", \
				"[user] has hit [target][head_attack_message] with a bottle of [src.name]!")
	else
		user.visible_message("[target] hits \himself with a bottle of [src.name][head_attack_message]!", \
				"[target] hits \himself with a bottle of [src.name][head_attack_message]!")

	//Attack logs
	add_logs(user, target, "attacked", src)

	//The reagents in the bottle splash all over the target, thanks for the idea Nodrak
	SplashReagents(target)

	//Finally, smash the bottle. This kills (del) the bottle.
	src.smash(target, user)

	return

/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/SplashReagents(var/mob/M)
	if(src.reagents.total_volume)
		M.visible_message("The contents of \the [src] splashes all over [M]!")
		reagents.reaction(M, TOUCH)
		reagents.clear_reagents()
	return

//Keeping this here for now, I'll ask if I should keep it here.
/obj/item/weapon/broken_bottle
	name = "Broken Bottle"
	desc = "A bottle with a sharp broken bottom."
	icon = 'icons/obj/drinks.dmi'
	icon_state = "broken_bottle"
	force = 9
	throwforce = 5
	throw_speed = 3
	throw_range = 5
	w_class = 1
	item_state = "beer"
	hitsound = 'sound/weapons/bladeslice.ogg'
	attack_verb = list("stabbed", "slashed", "attacked")
	var/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken")
	sharpness = IS_SHARP

/obj/item/weapon/reagent_containers/food/drinks/bottle/gin
	name = "Griffeater Gin"
	desc = "A bottle of high quality gin, produced in the New London Space Station."
	icon_state = "ginbottle"
	list_reagents = list("gin" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey
	name = "Uncle Git's Special Reserve"
	desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES."
	icon_state = "whiskeybottle"
	list_reagents = list("whiskey" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka
	name = "Tunguska Triple Distilled"
	desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide."
	icon_state = "vodkabottle"
	list_reagents = list("vodka" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/badminka
	name = "Badminka Vodka"
	desc = "The label's written in Cyrillic. All you can make out is the name and a word that looks vaguely like 'Vodka'."
	icon_state = "badminka"
	list_reagents = list("vodka" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/tequila
	name = "Caccavo Guaranteed Quality Tequila"
	desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!"
	icon_state = "tequilabottle"
	list_reagents = list("tequila" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing
	name = "Bottle of Nothing"
	desc = "A bottle filled with nothing."
	icon_state = "bottleofnothing"
	list_reagents = list("nothing" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/patron
	name = "Wrapp Artiste Patron"
	desc = "Silver laced tequila, served in space night clubs across the galaxy."
	icon_state = "patronbottle"
	list_reagents = list("patron" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/rum
	name = "Captain Pete's Cuban Spiced Rum"
	desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle."
	icon_state = "rumbottle"
	list_reagents = list("rum" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater
	name = "Flask of Holy Water"
	desc = "A flask of the chaplain's holy water."
	icon_state = "holyflask"
	list_reagents = list("holywater" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/hell
	desc = "A flask of holy water...it's been sitting in the Necropolis a while though."
	list_reagents = list("hellwater" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth
	name = "Goldeneye Vermouth"
	desc = "Sweet, sweet dryness~"
	icon_state = "vermouthbottle"
	list_reagents = list("vermouth" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua
	name = "Robert Robust's Coffee Liqueur"
	desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK."
	icon_state = "kahluabottle"
	list_reagents = list("kahlua" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager
	name = "College Girl Goldschlager"
	desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps."
	icon_state = "goldschlagerbottle"
	list_reagents = list("goldschlager" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac
	name = "Chateau De Baton Premium Cognac"
	desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time."
	icon_state = "cognacbottle"
	list_reagents = list("cognac" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/wine
	name = "Doublebeard Bearded Special Wine"
	desc = "A faint aura of unease and asspainery surrounds the bottle."
	icon_state = "winebottle"
	list_reagents = list("wine" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe
	name = "T&T Extra-Strong Absinthe"
	desc = "An strong alcoholic drink brewed and distributed by Terb & Tonte Inc."
	icon_state = "absinthebottle"
	list_reagents = list("absinthe" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe/premium
	name = "Gwyn's Premium Absinthe"
	desc = "A potent alcoholic beverage, almost makes you forget the ash in your lungs."
	icon_state = "absinthepremium"

//////////////////////////JUICES AND STUFF ///////////////////////

/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice
	name = "Orange Juice"
	desc = "Full of vitamins and deliciousness!"
	icon_state = "orangejuice"
	item_state = "carton"
	isGlass = 0
	list_reagents = list("orangejuice" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/cream
	name = "Milk Cream"
	desc = "It's cream. Made from milk. What else did you think you'd find in there?"
	icon_state = "cream"
	item_state = "carton"
	isGlass = 0
	list_reagents = list("cream" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice
	name = "Tomato Juice"
	desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness."
	icon_state = "tomatojuice"
	item_state = "carton"
	isGlass = 0
	list_reagents = list("tomatojuice" = 100)

/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice
	name = "Lime Juice"
	desc = "Sweet-sour goodness."
	icon_state = "limejuice"
	item_state = "carton"
	isGlass = 0
	list_reagents = list("limejuice" = 100)

////////////////////////// MOLOTOV ///////////////////////
/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov
	name = "molotov cocktail"
	desc = "A throwing weapon used to ignite things, typically filled with an accelerant. Recommended highly by rioters and revolutionaries. Light and toss."
	icon_state = "vodkabottle"
	list_reagents = list()
	var/list/accelerants = list(	/datum/reagent/consumable/ethanol,/datum/reagent/fuel,/datum/reagent/clf3,/datum/reagent/phlogiston,
							/datum/reagent/napalm,/datum/reagent/hellwater,/datum/reagent/toxin/plasma,/datum/reagent/toxin/spore_burning)
	var/active = 0

/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/CheckParts()
	var/obj/item/weapon/reagent_containers/food/drinks/bottle/B = locate() in contents
	if(B)
		icon_state = B.icon_state
		B.reagents.copy_to(src,100)
		if(!B.isGlass)
			desc += " You're not sure if making this out of a carton was the brightest idea."
			isGlass = 0
	return

/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/throw_impact(atom/target,mob/thrower)
	var/firestarter = 0
	for(var/datum/reagent/R in reagents.reagent_list)
		for(var/A in accelerants)
			if(istype(R,A))
				firestarter = 1
				break
	SplashReagents(target)
	if(firestarter && active)
		target.fire_act()
		new /obj/effect/hotspot(get_turf(target))
	..()

/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/attackby(obj/item/I, mob/user, params)
	if(I.is_hot() && !active)
		active = 1
		var/turf/bombturf = get_turf(src)
		var/area/bombarea = get_area(bombturf)
		message_admins("[key_name(user)]? has primed a [name] for detonation at [bombarea] (JMP).")
		log_game("[key_name(user)] has primed a [name] for detonation at [bombarea] ([bombturf.x],[bombturf.y],[bombturf.z]).")

		user << "You light \the [src] on fire."
		overlays += fire_overlay
		if(!isGlass)
			spawn(50)
				if(active)
					var/counter
					var/target = src.loc
					for(counter = 0, counter<2, counter++)
						if(istype(target, /obj/item/weapon/storage))
							var/obj/item/weapon/storage/S = target
							target = S.loc
					if(istype(target, /atom))
						var/atom/A = target
						SplashReagents(A)
						A.fire_act()
					qdel(src)

/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/attack_self(mob/user)
	if(active)
		if(!isGlass)
			user << "The flame's spread too far on it!"
			return
		user << "You snuff out the flame on \the [src]."
		overlays -= fire_overlay
		active = 0


code:
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass
	name = "drinking glass"
	desc = "Your standard drinking glass."
	icon_state = "glass_empty"
	amount_per_transfer_from_this = 10
	volume = 50
	burn_state = FLAMMABLE
	burntime = 5
	spillable = 1

/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fire_act()
	if(!reagents.total_volume)
		return
	..()

/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/burn()
	reagents.total_volume = 0 //Burns away all the alcohol :(
	reagents.reagent_list.Cut()
	on_reagent_change()
	extinguish()
	return

/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/on_reagent_change()
	overlays.Cut()
	if (reagents.reagent_list.len > 0)
		switch(reagents.get_master_reagent_id())
			if("beer")
				icon_state = "beerglass"
				name = "glass of beer"
				desc = "A freezing pint of beer."
			if("beer2")
				icon_state = "beerglass"
				name = "glass of beer"
				desc = "A freezing pint of beer."
			if("greenbeer")
				icon_state = "greenbeerglass"
				name = "glass of green beer"
				desc = "A freezing pint of green beer. Festive."
			if("ale")
				icon_state = "aleglass"
				name = "glass of ale"
				desc = "A freezing pint of delicious Ale."
			if("milk")
				icon_state = "glass_white"
				name = "glass of milk"
				desc = "White and nutritious goodness!"
			if("cream")
				icon_state  = "glass_white"
				name = "glass of cream"
				desc = "Ewwww..."
			if("hot_coco")
				icon_state  = "chocolateglass"
				name = "glass of chocolate"
				desc = "Tasty."
			if("lemonjuice")
				icon_state  = "lemonglass"
				name = "glass of lemon juice"
				desc = "Sour..."
			if("holywater")
				icon_state  = "glass_clear"
				name = "glass of Holy Water"
				desc = "A glass of holy water."
			if("potato")
				icon_state = "glass_brown"
				name = "glass of potato juice"
				desc = "Bleh..."
			if("watermelonjuice")
				icon_state = "glass_red"
				name = "glass of watermelon juice"
				desc = "A glass of watermelon juice."
			if("cola")
				icon_state  = "glass_brown"
				name = "glass of space Cola"
				desc = "A glass of refreshing Space Cola."
			if("nuka_cola")
				icon_state = "nuka_colaglass"
				name = "Nuka Cola"
				desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland."
			if("orangejuice")
				icon_state = "glass_orange"
				name = "glass of orange juice"
				desc = "Vitamins! Yay!"
			if("tomatojuice")
				icon_state = "glass_red"
				name = "glass of tomato juice"
				desc = "Are you sure this is tomato juice?"
			if("blood")
				icon_state = "glass_red"
				name = "glass of tomato juice"
				desc = "Are you sure this is tomato juice?"
			if("limejuice")
				icon_state = "glass_green"
				name = "glass of lime juice"
				desc = "A glass of sweet-sour lime juice."
			if("whiskey")
				icon_state = "whiskeyglass"
				name = "glass of whiskey"
				desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy."
			if("gin")
				icon_state = "ginvodkaglass"
				name = "glass of gin"
				desc = "A crystal clear glass of Griffeater gin."
			if("vodka")
				icon_state = "ginvodkaglass"
				name = "glass of vodka"
				desc = "The glass contain wodka. Xynta."
			if("goldschlager")
				icon_state = "goldschlagerglass"
				name = "glass of Goldschlager"
				desc = "100% proof that teen girls will drink anything with gold in it."
			if("wine")
				icon_state = "wineglass"
				name = "glass of wine"
				desc = "A very classy looking drink."
			if("cognac")
				icon_state = "cognacglass"
				name = "glass of cognac"
				desc = "Damn, you feel like some kind of French aristocrat just by holding this."
			if ("kahlua")
				icon_state = "kahluaglass"
				name = "glass of RR Coffee Liquor"
				desc = "DAMN, THIS THING LOOKS ROBUST!"
			if("vermouth")
				icon_state = "vermouthglass"
				name = "glass of vermouth"
				desc = "You wonder why you're even drinking this straight."
			if("tequila")
				icon_state = "tequilaglass"
				name = "glass of tequila"
				desc = "Now all that's missing is the weird colored shades!"
			if("patron")
				icon_state = "patronglass"
				name = "glass of patron"
				desc = "Drinking patron in the bar, with all the subpar ladies."
			if("rum")
				icon_state = "rumglass"
				name = "glass of rum"
				desc = "Now you want to Pray for a pirate suit, don't you?"
			if("gintonic")
				icon_state = "gintonicglass"
				name = "Gin and Tonic"
				desc = "A mild but still great cocktail. Drink up, like a true Englishman."
			if("whiskeycola")
				icon_state = "whiskeycolaglass"
				name = "Whiskey Cola"
				desc = "An innocent-looking mixture of cola and Whiskey. Delicious."
			if("whiterussian")
				icon_state = "whiterussianglass"
				name = "White Russian"
				desc = "A very nice looking drink. But that's just, like, your opinion, man."
			if("screwdrivercocktail")
				icon_state = "screwdriverglass"
				name = "Screwdriver"
				desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer."
			if("bloodymary")
				icon_state = "bloodymaryglass"
				name = "Bloody Mary"
				desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder."
			if("martini")
				icon_state = "martiniglass"
				name = "Classic Martini"
				desc = "Damn, the bartender even stirred it, not shook it."
			if("vodkamartini")
				icon_state = "martiniglass"
				name = "Vodka martini"
				desc ="A bastardisation of the classic martini. Still great."
			if("gargleblaster")
				icon_state = "gargleblasterglass"
				name = "Pan-Galactic Gargle Blaster"
				desc = "Like having your brain smashed out by a slice of lemon wrapped around a large gold brick."
			if("bravebull")
				icon_state = "bravebullglass"
				name = "Brave Bull"
				desc = "Tequila and Coffee liqueur, brought together in a mouthwatering mixture. Drink up."
			if("tequilasunrise")
				icon_state = "tequilasunriseglass"
				name = "tequila Sunrise"
				desc = "Oh great, now you feel nostalgic about sunrises back on Terra..."
			if("beepskysmash")
				icon_state = "beepskysmashglass"
				name = "Beepsky Smash"
				desc = "Heavy, hot and strong. Just like the Iron fist of the LAW."
			if("doctorsdelight")
				icon_state = "doctorsdelightglass"
				name = "Doctor's Delight"
				desc = "The space doctor's favorite. Guaranteed to restore bodily injury; side effects include cravings and hunger."
			if("manlydorf")
				icon_state = "manlydorfglass"
				name = "The Manly Dorf"
				desc = "A manly concoction made from Ale and Beer. Intended for true men only."
			if("irishcream")
				icon_state = "irishcreamglass"
				name = "Irish Cream"
				desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?"
			if("cubalibre")
				icon_state = "cubalibreglass"
				name = "Cuba Libre"
				desc = "A classic mix of rum and cola."
			if("atomicbomb")
				icon_state = "atomicbombglass"
				name = "Atomic Bomb"
				desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing."
			if("longislandicedtea")
				icon_state = "longislandicedteaglass"
				name = "Long Island Iced Tea"
				desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only."
			if("threemileisland")
				icon_state = "threemileislandglass"
				name = "Three Mile Island Ice Tea"
				desc = "A glass of this is sure to prevent a meltdown."
			if("margarita")
				icon_state = "margaritaglass"
				name = "Margarita"
				desc = "On the rocks with salt on the rim. Arriba~!"
			if("blackrussian")
				icon_state = "blackrussianglass"
				name = "Black Russian"
				desc = "For the lactose-intolerant. Still as classy as a White Russian."
			if("vodkatonic")
				icon_state = "vodkatonicglass"
				name = "Vodka and Tonic"
				desc = "For when a gin and tonic isn't Russian enough."
			if("manhattan")
				icon_state = "manhattanglass"
				name = "Manhattan"
				desc = "The Detective's undercover drink of choice. He never could stomach gin..."
			if("manhattan_proj")
				icon_state = "proj_manhattanglass"
				name = "Manhattan Project"
				desc = "A scientist's drink of choice, for thinking how to blow up the station."
			if("ginfizz")
				icon_state = "ginfizzglass"
				name = "Gin Fizz"
				desc = "Refreshingly lemony, deliciously dry."
			if("irishcoffee")
				icon_state = "irishcoffeeglass"
				name = "Irish Coffee"
				desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning."
			if("hooch")
				icon_state = "glass_brown2"
				name = "Hooch"
				desc = "You've really hit rock bottom now... your liver packed its bags and left last night."
			if("whiskeysoda")
				icon_state = "whiskeysodaglass2"
				name = "Whiskey Soda"
				desc = "Ultimate refreshment."
			if("tonic")
				icon_state = "glass_clear"
				name = "glass of Tonic Water"
				desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
			if("sodawater")
				icon_state = "glass_clear"
				name = "glass of Soda Water"
				desc = "Soda water. Why not make a scotch and soda?"
			if("water")
				icon_state = "glass_clear"
				name = "glass of Water"
				desc = "The father of all refreshments."
			if("spacemountainwind")
				icon_state = "Space_mountain_wind_glass"
				name = "glass of Space Mountain Wind"
				desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind."
			if("thirteenloko")
				icon_state = "thirteen_loko_glass"
				name = "glass of Thirteen Loko"
				desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass."
			if("dr_gibb")
				icon_state = "dr_gibb_glass"
				name = "glass of Dr. Gibb"
				desc = "Dr. Gibb. Not as dangerous as the name might imply."
			if("space_up")
				icon_state = "space-up_glass"
				name = "glass of Space-up"
				desc = "Space-up. It helps you keep your cool."
			if("lemon_lime")
				icon_state = "glass_yellow"
				name = "glass of Lemon-Lime"
				desc = "You're pretty certain a real fruit has never actually touched this."
			if("moonshine")
				icon_state = "glass_clear"
				name = "Moonshine"
				desc = "You've really hit rock bottom now... your liver packed its bags and left last night."
			if("soymilk")
				icon_state = "glass_white"
				name = "glass of soy milk"
				desc = "White and nutritious soy goodness!"
			if("berryjuice")
				icon_state = "berryjuice"
				name = "glass of berry juice"
				desc = "Berry juice. Or maybe it's jam. Who cares?"
			if("poisonberryjuice")
				icon_state = "poisonberryjuice"
				name = "glass of berry juice"
				desc = "Berry juice. Or maybe it's poison. Who cares?"
			if("carrotjuice")
				icon_state = "carrotjuice"
				name = "glass of  carrot juice"
				desc = "It's just like a carrot but without crunching."
			if("banana")
				icon_state = "banana"
				name = "glass of banana juice"
				desc = "The raw essence of a banana. HONK."
			if("bahama_mama")
				icon_state = "bahama_mama"
				name = "Bahama Mama"
				desc = "Tropical cocktail."
			if("singulo")
				icon_state = "singulo"
				name = "Singulo"
				desc = "A blue-space beverage."
			if("alliescocktail")
				icon_state = "alliescocktail"
				name = "Allies cocktail"
				desc = "A drink made from your allies."
			if("antifreeze")
				icon_state = "antifreeze"
				name = "Anti-freeze"
				desc = "The ultimate refreshment."
			if("barefoot")
				icon_state = "b&p"
				name = "Barefoot"
				desc = "Barefoot and pregnant."
			if("demonsblood")
				icon_state = "demonsblood"
				name = "Demons Blood"
				desc = "Just looking at this thing makes the hair at the back of your neck stand up."
			if("booger")
				icon_state = "booger"
				name = "Booger"
				desc = "Ewww..."
			if("snowwhite")
				icon_state = "snowwhite"
				name = "Snow White"
				desc = "A cold refreshment."
			if("aloe")
				icon_state = "aloe"
				name = "Aloe"
				desc = "Very, very, very good."
			if("andalusia")
				icon_state = "andalusia"
				name = "Andalusia"
				desc = "A nice, strange named drink."
			if("sbiten")
				icon_state = "sbitenglass"
				name = "Sbiten"
				desc = "A spicy mix of Vodka and Spice. Very hot."
			if("red_mead")
				icon_state = "red_meadglass"
				name = "Red Mead"
				desc = "A True Vikings Beverage, though its color is strange."
			if("mead")
				icon_state = "meadglass"
				name = "Mead"
				desc = "A Vikings Beverage, though a cheap one."
			if("iced_beer")
				icon_state = "iced_beerglass"
				name = "Iced Beer"
				desc = "A beer so frosty, the air around it freezes."
			if("grog")
				icon_state = "grogglass"
				name = "Grog"
				desc = "A fine and cepa drink for Space."
			if("soy_latte")
				icon_state = "soy_latte"
				name = "Soy Latte"
				desc = "A nice and refreshing beverage while you're reading."
			if("cafe_latte")
				icon_state = "cafe_latte"
				name = "Cafe Latte"
				desc = "A nice, strong and refreshing beverage while you're reading."
			if("acidspit")
				icon_state = "acidspitglass"
				name = "Acid Spit"
				desc = "A drink from Nanotrasen. Made from live aliens."
			if("amasec")
				icon_state = "amasecglass"
				name = "Amasec"
				desc = "Always handy before COMBAT!!!"
			if("neurotoxin")
				icon_state = "neurotoxinglass"
				name = "Neurotoxin"
				desc = "A drink that is guaranteed to knock you silly."
			if("hippiesdelight")
				icon_state = "hippiesdelightglass"
				name = "Hippie's Delight"
				desc = "A drink enjoyed by people during the 1960's."
			if("bananahonk")
				icon_state = "bananahonkglass"
				name = "Banana Honk"
				desc = "A drink from Clown Heaven."
			if("silencer")
				icon_state = "silencerglass"
				name = "Silencer"
				desc = "A drink from Mime Heaven."
			if("nothing")
				icon_state = "nothing"
				name = "Nothing"
				desc = "Absolutely nothing."
			if("devilskiss")
				icon_state = "devilskiss"
				name = "Devils Kiss"
				desc = "Creepy time!"
			if("changelingsting")
				icon_state = "changelingsting"
				name = "Changeling Sting"
				desc = "A stingy drink."
			if("irishcarbomb")
				icon_state = "irishcarbomb"
				name = "Irish Car Bomb"
				desc = "An Irish car bomb."
			if("syndicatebomb")
				icon_state = "syndicatebomb"
				name = "Syndicate Bomb"
				desc = "A syndicate bomb."
			if("erikasurprise")
				icon_state = "erikasurprise"
				name = "Erika Surprise"
				desc = "The surprise is, it's green!"
			if("driestmartini")
				icon_state = "driestmartiniglass"
				name = "Driest Martini"
				desc = "Only for the experienced. You think you see sand floating in the glass."
			if("ice")
				icon_state = "iceglass"
				name = "glass of ice"
				desc = "Generally, you're supposed to put something else in there too..."
			if("icecoffee")
				icon_state = "icedcoffeeglass"
				name = "Iced Coffee"
				desc = "A drink to perk you up and refresh you!"
			if("icetea")
				icon_state = "icedteaglass"
				name = "Iced Tea"
				desc = "All natural, antioxidant-rich flavour sensation."
			if("coffee")
				icon_state = "glass_brown"
				name = "glass of coffee"
				desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere."
			if("tea")
				icon_state = "teaglass"
				name = "glass of tea"
				desc = "Drinking it from here would not seem right."
			if("bilk")
				icon_state = "glass_brown"
				name = "glass of bilk"
				desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis."
			if("welding_fuel")
				icon_state = "dr_gibb_glass"
				name = "glass of welder fuel"
				desc = "Unless you're an industrial tool, this is probably not safe for consumption."
			if("b52")
				icon_state = "b52glass"
				name = "B-52"
				desc = "Kahlua, Irish Cream, and cognac. You will get bombed."
			if("toxinsspecial")
				icon_state = "toxinsspecialglass"
				name = "Toxins Special"
				desc = "Whoah, this thing is on FIRE!"
			if("chocolatepudding")
				icon_state = "chocolatepudding"
				name = "Chocolate Pudding"
				desc = ""
			if("vanillapudding")
				icon_state = "vanillapudding"
				name = "Vanilla Pudding"
				desc = "Tasty."
			if("cherryshake")
				icon_state = "cherryshake"
				name = "Cherry Shake"
				desc = "A cherry flavored milkshake."
			if("bluecherryshake")
				icon_state = "bluecherryshake"
				name = "Blue Cherry Shake"
				desc = "An exotic blue milkshake."
			if("drunkenblumpkin")
				icon_state = "drunkenblumpkin"
				name = "Drunken Blumpkin"
				desc = "A drink for the drunks."
			if("pumpkin_latte")
				icon_state = "pumpkin_latte"
				name = "Pumpkin Latte"
				desc = "A mix of coffee and pumpkin juice."
			if("gibbfloats")
				icon_state = "gibbfloats"
				name = "Gibbfloat"
				desc = "Dr. Gibb with ice cream on top."
			if("whiskey_sour")
				icon_state = "whiskey_sour"
				name = "Whiskey Sour"
				desc = "Lemon juice mixed with whiskey and a dash of sugar. Surprisingly satisfying."
			if("fetching_fizz")
				icon_state = "fetching_fizz"
				name = "Fetching Fizz"
				desc = "Induces magnetism in the imbiber. Started as a barroom prank but evolved to become popular with miners and scrappers. Metallic aftertaste."
			if("hearty_punch")
				icon_state = "hearty_punch"
				name = "Hearty Punch"
				desc = "Aromatic beverage served piping hot. According to folk tales it can almost wake the dead."
			if("absinthe")
				icon_state = "absinthe"
				name = "glass of absinthe"
				desc = "It's as strong as it smells."
			if("bacchus_blessing")
				icon_state = "glass_brown2"
				name = "Bacchus' Blessing"
				desc = "You didn't think it was possible for a liquid to be so utterly revolting. Are you sure about this...?"
			else
				icon_state ="glass_brown"
				var/image/I = image(icon, "glassoverlay")
				I.color = mix_color_from_reagents(reagents.reagent_list)
				overlays += I
				name = "glass of ..what?"
				desc = "You can't really tell what this is."
	else
		icon_state = "glass_empty"
		name = "drinking glass"
		desc = "Your standard drinking glass."
		return

//Shot glasses!//
//  This lets us add shots in here instead of lumping them in with drinks because >logic  //
//  The format for shots is the exact same as iconstates for the drinking glass, except you use a shot glass instead.  //
//  If it's a new drink, remember to add it to Chemistry-Reagents.dm  and Chemistry-Recipes.dm as well.  //
//  You can only mix the ported-over drinks in shot glasses for now (they'll mix in a shaker, but the sprite won't change for glasses). //
//  This is on a case-by-case basis, and you can even make a seperate sprite for shot glasses if you want. //

/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass
	name = "shot glass"
	desc = "A shot glass - the universal symbol for bad decisions."
	icon_state = "shotglass"
	gulp_size = 15
	amount_per_transfer_from_this = 15
	possible_transfer_amounts = list()
	volume = 15

/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass/on_reagent_change()
	if (gulp_size < 15)
		gulp_size = 15
	else
		gulp_size = max(round(reagents.total_volume / 15), 15)

	if (reagents.reagent_list.len > 0)
		switch(reagents.get_master_reagent_id())
			if("vodka")
				icon_state = "shotglassclear"
				name = "shot of vodka"
				desc = "Good for cold weather."
			if("water")
				icon_state = "shotglassclear"
				name = "shot of water"
				desc = "You're not sure why someone would drink this from a shot glass."
			if("whiskey")
				icon_state = "shotglassbrown"
				name = "shot of whiskey"
				desc = "Just like the old west."
			if("rum")
				icon_state = "shotglassbrown"
				name = "shot of rum"
				desc = "You dirty pirate."
			if("b52")
				icon_state = "b52glass"
				name = "B-52"
				desc = "Kahlua, Irish Cream, and cognac. You will get bombed."
			if("toxinsspecial")
				icon_state = "toxinsspecialglass"
				name = "Toxins Special"
				desc = "Whoah, this thing is on FIRE!"
			if ("vermouth")
				icon_state = "shotglassclear"
				name = "shot of vermouth"
				desc = "This better be going in a martini."
			if ("tequila")
				icon_state = "shotglassgold"
				name = "shot of tequila"
				desc = "Bad decisions ahead!"
			if ("patron")
				icon_state = "shotglassclear"
				name = "shot of patron"
				desc = "The good stuff. Goes great with a lime wedge."
			if ("kahlua")
				icon_state = "shotglasscream"
				name = "shot of coffee liqueur"
				desc = "Doesn't look too appetizing..."
			if ("nothing")
				icon_state = "shotglass"
				name = "shot of nothing"
				desc = "The mime insists there's booze in the glass. You're not so sure."
			if ("goldschlager")
				icon_state = "shotglassgold"
				name = "shot of goldschlager"
				desc = "Yup. You're officially a college girl."
			if ("cognac")
				icon_state = "shotglassbrown"
				name = "shot of cognac"
				desc = "You get the feeling this would piss off a rich person somewhere."
			if ("wine")
				icon_state = "shotglassred"
				name = "shot of wine"
				desc = "What kind of craven oaf would drink wine from a shot glass?"
			if ("blood")
				icon_state = "shotglassred"
				name = "shot of blood"
				desc = "If you close your eyes it sort of tastes like wine..."
			if ("liquidgibs")
				icon_state = "shotglassred"
				name = "shot of gibs"
				desc = "...Let's not talk about this."
			else
				icon_state = "shotglassbrown"
				name = "shot of... what?"
				desc = "You can't really tell what's in the glass."
	else
		icon_state = "shotglass"
		name = "shot glass"
		desc = "A shot glass - the universal symbol for bad decisions."
		return

// for /obj/machinery/vending/sovietsoda
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/New()
	..()
	on_reagent_change()

/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/soda
	list_reagents = list("sodawater" = 50)

/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/cola
	list_reagents = list("cola" = 50)

/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/attackby(obj/item/I, mob/user, params)
	if(istype(I,/obj/item/weapon/reagent_containers/food/snacks/egg)) //breaking eggs
		var/obj/item/weapon/reagent_containers/food/snacks/egg/E = I
		if(reagents)
			if(reagents.total_volume >= reagents.maximum_volume)
				user << "<span class='notice'>[src] is full.</span>"
			else
				user << "<span class='notice'>You break [E] in [src].</span>"
				reagents.add_reagent("eggyolk", 5)
				qdel(E)
			return
	else
		..()

/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/attack(obj/target, mob/user)

	if(user.a_intent == "harm" && ismob(target) && target.reagents && reagents.total_volume)
		target.visible_message("<span class='danger'>[user] splashes the contents of [src] onto [target]!</span>", \
						"<span class='userdanger'>[user] splashes the contents of [src] onto [target]!</span>")
		add_logs(user, target, "splashed", src)
		reagents.reaction(target, TOUCH)
		reagents.clear_reagents()
		return
	..()

/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/afterattack(obj/target, mob/user, proximity)
	if((!proximity) || !check_allowed_items(target,target_self=1)) return

	else if(reagents.total_volume && user.a_intent == "harm")
		user.visible_message("<span class='danger'>[user] splashes the contents of [src] onto [target]!</span>", \
							"<span class='notice'>You splash the contents of [src] onto [target].</span>")
		reagents.reaction(target, TOUCH)
		reagents.clear_reagents()
		return
	..()

license: mit


code:
////////////////////////////////////////////////////////////////////////////////
/// Food.
////////////////////////////////////////////////////////////////////////////////
/obj/item/weapon/reagent_containers/food
	possible_transfer_amounts = list()
	volume = 50	//Sets the default container amount for all food items.
	burn_state = FLAMMABLE

/obj/item/weapon/reagent_containers/food/New()
		..()
		pixel_x = rand(-5, 5)	//Randomizes postion slightly.
		pixel_y = rand(-5, 5)


code:
///////////////////////////////////////////////Condiments
//Notes by Darem: The condiments food-subtype is for stuff you don't actually eat but you use to modify existing food. They all
//	leave empty containers when used up and can be filled/re-filled with other items. Formatting for first section is identical
//	to mixed-drinks code. If you want an object that starts pre-loaded, you need to make it in addition to the other code.

//Food items that aren't eaten normally and leave an empty container behind.
/obj/item/weapon/reagent_containers/food/condiment
	name = "condiment container"
	desc = "Just your average condiment container."
	icon = 'icons/obj/food/containers.dmi'
	icon_state = "emptycondiment"
	flags = OPENCONTAINER
	possible_transfer_amounts = list(1, 5, 10, 15, 20, 25, 30, 50)
	volume = 50
	//Possible_states has the reagent id as key and a list of, in order, the icon_state, the name and the desc as values. Used in the on_reagent_change() to change names, descs and sprites.
	var/list/possible_states = list(
	 "ketchup" = list("ketchup", "ketchup bottle", "You feel more American already."),
	 "capsaicin" = list("hotsauce", "hotsauce bottle", "You can almost TASTE the stomach ulcers now!"),
	 "enzyme" = list("enzyme", "universal enzyme bottle", "Used in cooking various dishes"),
	 "soysauce" = list("soysauce", "soy sauce bottle", "A salty soy-based flavoring"),
	 "frostoil" = list("coldsauce", "coldsauce bottle", "Leaves the tongue numb in it's passage"),
	 "sodiumchloride" = list("saltshakersmall", "salt shaker", "Salt. From space oceans, presumably"),
	 "blackpepper" = list("pepermillsmall", "pepper mill", "Often used to flavor food or make people sneeze"),
	 "cornoil" = list("oliveoil", "corn oil bottle", "A delicious oil used in cooking. Made from corn"),
	 "sugar" = list("emptycondiment", "sugar bottle", "Tasty spacey sugar!"))

/obj/item/weapon/reagent_containers/food/condiment/attack(mob/M, mob/user, def_zone)

	if(!reagents || !reagents.total_volume)
		user << "None of [src] left, oh no!"
		return 0

	if(!canconsume(M, user))
		return 0

	if(M == user)
		M << "You swallow some of contents of \the [src]."
	else
		user.visible_message("[user] attempts to feed [M] from [src].")
		if(!do_mob(user, M))
			return
		if(!reagents || !reagents.total_volume)
			return // The condiment might be empty after the delay.
		user.visible_message("[user] feeds [M] from [src].")
		add_logs(user, M, "fed", reagentlist(src))

	var/fraction = min(10/reagents.total_volume, 1)
	reagents.reaction(M, INGEST, fraction)
	reagents.trans_to(M, 10)
	playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
	return 1

/obj/item/weapon/reagent_containers/food/condiment/afterattack(obj/target, mob/user , proximity)
	if(!proximity) return
	if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.

		if(!target.reagents.total_volume)
			user << "[target] is empty!"
			return

		if(reagents.total_volume >= reagents.maximum_volume)
			user << "[src] is full!"
			return

		var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
		user << "You fill [src] with [trans] units of the contents of [target]."

	//Something like a glass or a food item. Player probably wants to transfer TO it.
	else if(target.is_open_container() || istype(target, /obj/item/weapon/reagent_containers/food/snacks))
		if(!reagents.total_volume)
			user << "[src] is empty!"
			return
		if(target.reagents.total_volume >= target.reagents.maximum_volume)
			user << "you can't add anymore to [target]!"
			return
		var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
		user << "You transfer [trans] units of the condiment to [target]."

/obj/item/weapon/reagent_containers/food/condiment/on_reagent_change()
	if(!possible_states.len)
		return
	if(reagents.reagent_list.len > 0)
		var/main_reagent = reagents.get_master_reagent_id()
		if(main_reagent in possible_states)
			var/list/temp_list = possible_states[main_reagent]
			icon_state = temp_list[1]
			name = temp_list[2]
			desc = temp_list[3]

		else
			name = "condiment bottle"
			main_reagent = reagents.get_master_reagent_name()
			if (reagents.reagent_list.len==1)
				desc = "Looks like it is [lowertext(main_reagent)], but you are not sure."
			else
				desc = "A mixture of various condiments. [lowertext(main_reagent)] is one of them."
			icon_state = "mixedcondiments"
	else
		icon_state = "emptycondiment"
		name = "condiment bottle"
		desc = "An empty condiment bottle."
		return

/obj/item/weapon/reagent_containers/food/condiment/enzyme
	name = "universal enzyme"
	desc = "Used in cooking various dishes."
	icon_state = "enzyme"
	list_reagents = list("enzyme" = 50)

/obj/item/weapon/reagent_containers/food/condiment/sugar
	name = "sugar bottle"
	desc = "Tasty spacey sugar!"
	list_reagents = list("sugar" = 50)

/obj/item/weapon/reagent_containers/food/condiment/saltshaker		//Seperate from above since it's a small shaker rather then
	name = "salt shaker"											//	a large one.
	desc = "Salt. From space oceans, presumably."
	icon_state = "saltshakersmall"
	possible_transfer_amounts = list(1,20) //for clown turning the lid off
	amount_per_transfer_from_this = 1
	volume = 20
	list_reagents = list("sodiumchloride" = 20)
	possible_states = list()

/obj/item/weapon/reagent_containers/food/condiment/peppermill
	name = "pepper mill"
	desc = "Often used to flavor food or make people sneeze."
	icon_state = "peppermillsmall"
	possible_transfer_amounts = list(1,20) //for clown turning the lid off
	amount_per_transfer_from_this = 1
	volume = 20
	list_reagents = list("blackpepper" = 20)
	possible_states = list()

/obj/item/weapon/reagent_containers/food/condiment/milk
	name = "space milk"
	desc = "It's milk. White and nutritious goodness!"
	icon_state = "milk"
	item_state = "carton"
	list_reagents = list("milk" = 50)
	possible_states = list()

/obj/item/weapon/reagent_containers/food/condiment/flour
	name = "flour sack"
	desc = "A big bag of flour. Good for baking!"
	icon_state = "flour"
	item_state = "flour"
	list_reagents = list("flour" = 30)
	possible_states = list()

/obj/item/weapon/reagent_containers/food/condiment/soymilk
	name = "soy milk"
	desc = "It's soy milk. White and nutritious goodness!"
	icon_state = "soymilk"
	item_state = "carton"
	list_reagents = list("soymilk" = 50)
	possible_states = list()

/obj/item/weapon/reagent_containers/food/condiment/rice
	name = "rice sack"
	desc = "A big bag of rice. Good for cooking!"
	icon_state = "rice"
	item_state = "flour"
	list_reagents = list("rice" = 30)
	possible_states = list()

/obj/item/weapon/reagent_containers/food/condiment/soysauce
	name = "soy sauce"
	desc = "A salty soy-based flavoring."
	icon_state = "soysauce"
	list_reagents = list("soysauce" = 50)
	possible_states = list()

//Food packs. To easily apply deadly toxi... delicious sauces to your food!

/obj/item/weapon/reagent_containers/food/condiment/pack
	name = "condiment pack"
	desc = "A small plastic pack with condiments to put on your food"
	icon_state = "condi_empty"
	volume = 10
	amount_per_transfer_from_this = 10
	possible_transfer_amounts = list()
	possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("condi_frostoil", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!"))
	var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters.

/obj/item/weapon/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly.
	return

/obj/item/weapon/reagent_containers/food/condiment/pack/afterattack(obj/target, mob/user , proximity)
	if(!proximity) return

	//You can tear the bag open above food to put the condiments on it, obviously.
	if(istype(target, /obj/item/weapon/reagent_containers/food/snacks))
		if(!reagents.total_volume)
			user << "You tear open [src], but there's nothing in it."
			qdel(src)
			return
		if(target.reagents.total_volume >= target.reagents.maximum_volume)
			user << "You tear open [src], but [target] is stacked so high that it just drips off!" //Not sure if food can ever be full, but better safe than sorry.
			qdel(src)
			return
		else
			user << "You tear open [src] above [target] and the condiments drip onto it."
			src.reagents.trans_to(target, amount_per_transfer_from_this)
			qdel(src)

/obj/item/weapon/reagent_containers/food/condiment/pack/on_reagent_change()
	if(reagents.reagent_list.len > 0)
		var/main_reagent = reagents.get_master_reagent_id()
		if(main_reagent in possible_states)
			var/list/temp_list = possible_states[main_reagent]
			icon_state = temp_list[1]
			desc = temp_list[3]
		else
			icon_state = "condi_mixed"
			desc = "A small condiment pack. The label says it contains [originalname]"
	else
		icon_state = "condi_empty"
		desc = "A small condiment pack. It is empty."

//Ketchup
/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup
	name = "ketchup pack"
	originalname = "ketchup"
	list_reagents = list("ketchup" = 10)

//Hot sauce
/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce
	name = "hotsauce pack"
	originalname = "hotsauce"
	list_reagents = list("capsaicin" = 10)


code:
#define INGREDIENTS_FILL 1
#define INGREDIENTS_SCATTER 2
#define INGREDIENTS_STACK 3
#define INGREDIENTS_STACKPLUSTOP 4
#define INGREDIENTS_LINE 5

//**************************************************************
//
// Customizable Food
//
//**************************************************************

/obj/item/weapon/reagent_containers/food/snacks/customizable
	bitesize = 4
	w_class = 3
	volume = 80

	var/ingMax = 12
	var/list/ingredients = list()
	var/ingredients_placement = INGREDIENTS_FILL
	var/customname = "custom"

/obj/item/weapon/reagent_containers/food/snacks/customizable/examine(mob/user)
	..()
	var/ingredients_listed = ""
	for(var/obj/item/weapon/reagent_containers/food/snacks/ING in ingredients)
		ingredients_listed += "[ING.name], "
	var/size = "standard"
	if(ingredients.len<2)
		size = "small"
	if(ingredients.len>5)
		size = "big"
	if(ingredients.len>8)
		size = "monster"
	user << "It contains [ingredients.len?"[ingredients_listed]":"no ingredient, "]making a [size]-sized [initial(name)]."

/obj/item/weapon/reagent_containers/food/snacks/customizable/attackby(obj/item/I, mob/user, params)
	if(istype(I,/obj/item/weapon/reagent_containers/food/snacks))
		var/obj/item/weapon/reagent_containers/food/snacks/S = I
		if(I.w_class > 2)
			user << "The ingredient is too big for [src]!"
		else if((ingredients.len >= ingMax) || (reagents.total_volume >= volume))
			user << "You can't add more ingredients to [src]!"
		else
			if(!user.unEquip(I))
				return
			if(S.trash)
				new S.trash(get_turf(user))
				S.trash = null  //we remove the plate before adding the ingredient
			ingredients += S
			S.loc = src
			mix_filling_color(S)
			S.reagents.trans_to(src,min(S.reagents.total_volume, 15)) //limit of 15, we don't want our custom food to be completely filled by just one ingredient with large reagent volume.
			update_overlays(S)
			user << "You add the [I.name] to the [name]."
			update_name(S)
	else if(istype(I, /obj/item/weapon/pen))
		var/txt = stripped_input(user, "What would you like the food to be called?", "Food Naming", "", 30)
		if(txt)
			ingMax = ingredients.len
			user << "You add a last touch to the dish by renaming it."
			customname = txt
			if(istype(src, /obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich))
				var/obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich/S = src
				if(S.finished)
					name = "[customname] sandwich"
					return
			name = "[customname] [initial(name)]"

	else . = ..()

/obj/item/weapon/reagent_containers/food/snacks/customizable/proc/update_name(obj/item/weapon/reagent_containers/food/snacks/S)
	for(var/obj/item/I in ingredients)
		if(!istype(S, I.type))
			customname = "custom"
			break
	if(ingredients.len == 1) //first ingredient
		if(istype(S, /obj/item/weapon/reagent_containers/food/snacks/meat))
			var/obj/item/weapon/reagent_containers/food/snacks/meat/M = S
			if(M.subjectname)
				customname = "[M.subjectname]"
			else if(M.subjectjob)
				customname = "[M.subjectjob]"
			else
				customname = S.name
		else
			customname = S.name
	name = "[customname] [initial(name)]"

/obj/item/weapon/reagent_containers/food/snacks/customizable/proc/initialize_custom_food(obj/item/BASE, obj/item/I, mob/user)
	if(istype(BASE,/obj/item/weapon/reagent_containers))
		var/obj/item/weapon/reagent_containers/RC = BASE
		RC.reagents.trans_to(src,RC.reagents.total_volume)
	for(var/obj/O in BASE.contents)
		contents += O
	if(I && user)
		attackby(I, user)
	user.unEquip(BASE)
	qdel(BASE)

/obj/item/weapon/reagent_containers/food/snacks/customizable/proc/mix_filling_color(obj/item/weapon/reagent_containers/food/snacks/S)
	if(ingredients.len == 1)
		filling_color = S.filling_color
	else
		var/list/rgbcolor = list(0,0,0,0)
		var/customcolor = GetColors(filling_color)
		var/ingcolor =  GetColors(S.filling_color)
		rgbcolor[1] = (customcolor[1]+ingcolor[1])/2
		rgbcolor[2] = (customcolor[2]+ingcolor[2])/2
		rgbcolor[3] = (customcolor[3]+ingcolor[3])/2
		rgbcolor[4] = (customcolor[4]+ingcolor[4])/2
		filling_color = rgb(rgbcolor[1], rgbcolor[2], rgbcolor[3], rgbcolor[4])

/obj/item/weapon/reagent_containers/food/snacks/customizable/update_overlays(obj/item/weapon/reagent_containers/food/snacks/S)
	var/image/I = new(icon, "[initial(icon_state)]_filling")
	if(S.filling_color == "#FFFFFF")
		I.color = pick("#FF0000","#0000FF","#008000","#FFFF00")
	else
		I.color = S.filling_color

	switch(ingredients_placement)
		if(INGREDIENTS_SCATTER)
			I.pixel_x = rand(-1,1)
			I.pixel_y = rand(-1,1)
		if(INGREDIENTS_STACK)
			I.pixel_x = rand(-1,1)
			I.pixel_y = 2 * ingredients.len - 1
		if(INGREDIENTS_STACKPLUSTOP)
			I.pixel_x = rand(-1,1)
			I.pixel_y = 2 * ingredients.len - 1
			overlays.Cut(ingredients.len)
			var/image/TOP = new(icon, "[icon_state]_top")
			TOP.pixel_y = 2 * ingredients.len + 3
			overlays += I
			overlays += TOP
			return
		if(INGREDIENTS_FILL)
			overlays.Cut()
			I.color = filling_color
		if(INGREDIENTS_LINE)
			I.pixel_y = rand(-8,3)
			I.pixel_x = I.pixel_y

	overlays += I

/obj/item/weapon/reagent_containers/food/snacks/customizable/initialize_slice(obj/item/weapon/reagent_containers/food/snacks/slice, reagents_per_slice)
	..()
	slice.name = "[customname] [initial(slice.name)]"
	slice.filling_color = filling_color
	slice.update_overlays(src)

/obj/item/weapon/reagent_containers/food/snacks/customizable/Destroy()
	for(. in ingredients)
		qdel(.)
	return ..()

/////////////////////////////////////////////////////////////////////////////
//////////////      Customizable Food Types     /////////////////////////////
/////////////////////////////////////////////////////////////////////////////

/obj/item/weapon/reagent_containers/food/snacks/customizable/burger
	name = "burger"
	desc = "A timeless classic."
	ingredients_placement = INGREDIENTS_STACKPLUSTOP
	icon = 'icons/obj/food/burgerbread.dmi'
	icon_state = "bun"

/obj/item/weapon/reagent_containers/food/snacks/customizable/bread
	name = "bread"
	ingMax = 6
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/custom
	slices_num = 5
	icon = 'icons/obj/food/burgerbread.dmi'
	icon_state = "tofubread"

/obj/item/weapon/reagent_containers/food/snacks/customizable/cake
	name = "cake"
	ingMax = 6
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/cakeslice/custom
	slices_num = 5
	icon = 'icons/obj/food/piecake.dmi'
	icon_state = "plaincake"

/obj/item/weapon/reagent_containers/food/snacks/customizable/kebab
	name = "kebab"
	desc = "Delicious food on a stick."
	ingredients_placement = INGREDIENTS_LINE
	trash = /obj/item/stack/rods
	list_reagents = list("nutriment" = 1)
	ingMax = 6
	icon_state = "rod"

/obj/item/weapon/reagent_containers/food/snacks/customizable/pasta
	name = "spaghetti"
	desc = "Noodles. With stuff. Delicious."
	ingredients_placement = INGREDIENTS_SCATTER
	ingMax = 6
	icon = 'icons/obj/food/pizzaspaghetti.dmi'
	icon_state = "spaghettiboiled"

/obj/item/weapon/reagent_containers/food/snacks/customizable/pie
	name = "pie"
	ingMax = 6
	icon = 'icons/obj/food/piecake.dmi'
	icon_state = "pie"

/obj/item/weapon/reagent_containers/food/snacks/customizable/pizza
	name = "pizza"
	desc = "A personalized pan pizza meant for only one person."
	ingredients_placement = INGREDIENTS_SCATTER
	ingMax = 8
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/custom
	slices_num = 6
	icon = 'icons/obj/food/pizzaspaghetti.dmi'
	icon_state = "pizzamargherita"

/obj/item/weapon/reagent_containers/food/snacks/customizable/salad
	name = "salad"
	desc = "Very tasty."
	trash = /obj/item/weapon/reagent_containers/glass/bowl
	ingMax = 6
	icon = 'icons/obj/food/soupsalad.dmi'
	icon_state = "bowl"

/obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich
	name = "toast"
	desc = "A timeless classic."
	ingredients_placement = INGREDIENTS_STACK
	icon = 'icons/obj/food/burgerbread.dmi'
	icon_state = "breadslice"
	var/finished = 0

/obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich/initialize_custom_food(obj/item/weapon/reagent_containers/BASE, obj/item/I, mob/user)
	icon_state = BASE.icon_state
	..()

/obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich/attackby(obj/item/I, mob/user, params)
	if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/breadslice)) //we're finishing the custom food.
		var/obj/item/weapon/reagent_containers/food/snacks/breadslice/BS = I
		if(finished)
			return
		user << "You finish the [src.name]."
		finished = 1
		name = "[customname] sandwich"
		BS.reagents.trans_to(src, BS.reagents.total_volume)
		ingMax = ingredients.len //can't add more ingredients after that
		var/image/TOP = new(icon, "[BS.icon_state]")
		TOP.pixel_y = 2 * ingredients.len + 3
		overlays += TOP
		if(istype(BS, /obj/item/weapon/reagent_containers/food/snacks/breadslice/custom))
			var/image/O = new(icon, "[initial(BS.icon_state)]_filling")
			O.color = BS.filling_color
			O.pixel_y = 2 * ingredients.len + 3
			overlays += O
		qdel(BS)
		return
	else
		..()

/obj/item/weapon/reagent_containers/food/snacks/customizable/soup
	name = "soup"
	desc = "A bowl with liquid and... stuff in it."
	trash = /obj/item/weapon/reagent_containers/glass/bowl
	ingMax = 8
	icon = 'icons/obj/food/soupsalad.dmi'
	icon_state = "wishsoup"

/obj/item/weapon/reagent_containers/food/snacks/customizable/soup/New()
	..()
	eatverb = pick("slurp","sip","suck","inhale","drink")

// Bowl ////////////////////////////////////////////////

/obj/item/weapon/reagent_containers/glass/bowl
	name = "bowl"
	icon_state	= "snack_bowl"
	name = "bowl"
	desc = "A simple bowl, used for soups and salads."
	icon = 'icons/obj/food/soupsalad.dmi'
	icon_state = "bowl"
	flags = OPENCONTAINER
	w_class = 3

/obj/item/weapon/reagent_containers/glass/bowl/attackby(obj/item/I,mob/user, params)
	if(istype(I,/obj/item/weapon/reagent_containers/food/snacks))
		var/obj/item/weapon/reagent_containers/food/snacks/S = I
		if(I.w_class > 2)
			user << "The ingredient is too big for [src]!"
		else if(contents.len >= 20)
			user << "You can't add more ingredients to [src]!"
		else
			if(reagents.has_reagent("water", 10)) //are we starting a soup or a salad?
				var/obj/item/weapon/reagent_containers/food/snacks/customizable/A = new/obj/item/weapon/reagent_containers/food/snacks/customizable/soup(get_turf(src))
				A.initialize_custom_food(src, S, user)
			else
				var/obj/item/weapon/reagent_containers/food/snacks/customizable/A = new/obj/item/weapon/reagent_containers/food/snacks/customizable/salad(get_turf(src))
				A.initialize_custom_food(src, S, user)
	else . = ..()
	return

/obj/item/weapon/reagent_containers/glass/bowl/on_reagent_change()
	..()
	update_icon()

/obj/item/weapon/reagent_containers/glass/bowl/update_icon()
	overlays.Cut()
	if(reagents && reagents.total_volume)
		var/image/filling = image('icons/obj/food/soupsalad.dmi', "fullbowl")
		filling.color = mix_color_from_reagents(reagents.reagent_list)
		overlays += filling
	else
		icon_state = "bowl"

#undef INGREDIENTS_FILL
#undef INGREDIENTS_SCATTER
#undef INGREDIENTS_STACK
#undef INGREDIENTS_STACKPLUSTOP
#undef INGREDIENTS_LINE


code:
/obj/item/weapon/reagent_containers/food/snacks
	name = "snack"
	desc = "Yummy."
	icon = 'icons/obj/food/food.dmi'
	icon_state = null
	var/bitesize = 2
	var/bitecount = 0
	var/trash = null
	var/slice_path    // for sliceable food. path of the item resulting from the slicing
	var/slices_num
	var/eatverb
	var/wrapped = 0
	var/dried_type = null
	var/dry = 0
	var/cooked_type = null  //for microwave cooking. path of the resulting item after microwaving
	var/filling_color = "#FFFFFF" //color to use when added to custom food.
	var/custom_food_type = null  //for food customizing. path of the custom food to create
	var/junkiness = 0  //for junk food. used to lower human satiety.
	var/list/bonus_reagents = list() //the amount of reagents (usually nutriment and vitamin) added to crafted/cooked snacks, on top of the ingredients reagents.
	var/customfoodfilling = 1 // whether it can be used as filling in custom food

	//Placeholder for effect that trigger on eating that aren't tied to reagents.
/obj/item/weapon/reagent_containers/food/snacks/proc/On_Consume()
	if(!usr)
		return
	if(!reagents.total_volume)
		usr.unEquip(src)	//so icons update :[

		if(trash)
			if(ispath(trash, /obj/item/weapon/grown) && istype(src, /obj/item/weapon/reagent_containers/food/snacks/grown))
				var/obj/item/weapon/reagent_containers/food/snacks/grown/G = src
				var/obj/item/TrashItem = new trash(usr, G.seed)
				usr.put_in_hands(TrashItem)
			else if(ispath(trash,/obj/item))
				var/obj/item/TrashItem = new trash(usr)
				usr.put_in_hands(TrashItem)
			else if(istype(trash,/obj/item))
				usr.put_in_hands(trash)
		qdel(src)
	return

/obj/item/weapon/reagent_containers/food/snacks/attack_self(mob/user)
	return

/obj/item/weapon/reagent_containers/food/snacks/attack(mob/M, mob/user, def_zone)
	if(!eatverb)
		eatverb = pick("bite","chew","nibble","gnaw","gobble","chomp")
	if(!reagents.total_volume)						//Shouldn't be needed but it checks to see if it has anything left in it.
		user << "None of [src] left, oh no!"
		M.unEquip(src)	//so icons update :[
		qdel(src)
		return 0
	if(iscarbon(M))
		if(!canconsume(M, user))
			return 0

		var/fullness = M.nutrition + 10
		for(var/datum/reagent/consumable/C in M.reagents.reagent_list) //we add the nutrition value of what we're currently digesting
			fullness += C.nutriment_factor * C.volume / C.metabolization_rate

		if(M == user)								//If you're eating it yourself.
			if(junkiness && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 )
				M << "You don't feel like eating any more junk food at the moment."
				return 0

			if(wrapped)
				M << "You can't eat wrapped food!"
				return 0
			else if(fullness <= 50)
				M << "You hungrily [eatverb] some of \the [src] and gobble it down!"
			else if(fullness > 50 && fullness < 150)
				M << "You hungrily begin to [eatverb] \the [src]."
			else if(fullness > 150 && fullness < 500)
				M << "You [eatverb] \the [src]."
			else if(fullness > 500 && fullness < 600)
				M << "You unwillingly [eatverb] a bit of \the [src]."
			else if(fullness > (600 * (1 + M.overeatduration / 2000)))	// The more you eat - the more you can eat
				M << "You cannot force any more of \the [src] to go down your throat!"
				return 0
		else
			if(!isbrain(M))		//If you're feeding it to someone else.
				if(wrapped)
					return 0
				if(fullness <= (600 * (1 + M.overeatduration / 1000)))
					M.visible_message("[user] attempts to feed [M] [src].", \
										"[user] attempts to feed [M] [src].")
				else
					M.visible_message("[user] cannot force anymore of [src] down [M]'s throat!", \
										"[user] cannot force anymore of [src] down [M]'s throat!")
					return 0

				if(!do_mob(user, M))
					return
				add_logs(user, M, "fed", reagentlist(src))
				M.visible_message("[user] forces [M] to eat [src].", \
									"[user] feeds [M] to eat [src].")

			else
				user << "[M] doesn't seem to have a mouth!"
				return

		if(reagents)								//Handle ingestion of the reagent.
			if(M.satiety > -200)
				M.satiety -= junkiness
			playsound(M.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
			if(reagents.total_volume)
				var/fraction = min(bitesize/reagents.total_volume, 1)
				reagents.reaction(M, INGEST, fraction)
				reagents.trans_to(M, bitesize)
				bitecount++
				On_Consume()
			return 1

	return 0

/obj/item/weapon/reagent_containers/food/snacks/afterattack(obj/target, mob/user , proximity)
	return

/obj/item/weapon/reagent_containers/food/snacks/examine(mob/user)
	..()
	if(bitecount == 0)
		return
	else if(bitecount == 1)
		user << "[src] was bitten by someone!"
	else if(bitecount <= 3)
		user << "[src] was bitten [bitecount] times!"
	else
		user << "[src] was bitten multiple times!"

/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user, params)
	if(istype(W,/obj/item/weapon/storage))
		..() // -> item/attackby()
		return 0
	if(istype(W,/obj/item/weapon/reagent_containers/food/snacks))
		var/obj/item/weapon/reagent_containers/food/snacks/S = W
		if(custom_food_type && ispath(custom_food_type))
			if(S.w_class > 2)
				user << "[S] is too big for [src]!"
				return 0
			if(!S.customfoodfilling)
				user << "[src] can't be filled with [S]!"
				return 0
			if(contents.len >= 20)
				user << "You can't add more ingredients to [src]!"
				return 0
			var/obj/item/weapon/reagent_containers/food/snacks/customizable/C = new custom_food_type(get_turf(src))
			C.initialize_custom_food(src, S, user)
			return 0
	var/sharp = W.is_sharp()
	if(sharp)
		if(slice(sharp, W, user))
			return 1

//Called when you finish tablecrafting a snack.
/obj/item/weapon/reagent_containers/food/snacks/CheckParts()
	if(bonus_reagents.len)
		for(var/r_id in bonus_reagents)
			var/amount = bonus_reagents[r_id]
			reagents.add_reagent(r_id, amount)

/obj/item/weapon/reagent_containers/food/snacks/proc/slice(accuracy, obj/item/weapon/W, mob/user)
	if((slices_num <= 0 || !slices_num) || !slice_path) //is the food sliceable?
		return 0

	if ( \
			!isturf(src.loc) || \
			!(locate(/obj/structure/table) in src.loc) && \
			!(locate(/obj/structure/table/optable) in src.loc) && \
			!(locate(/obj/item/weapon/storage/bag/tray) in src.loc) \
		)
		user << "You cannot slice [src] here! You need a table or at least a tray."
		return 1

	var/slices_lost = 0
	if (accuracy >= IS_SHARP_ACCURATE)
		user.visible_message( \
			"[user] slices [src].", \
			"You slice [src]." \
		)
	else
		user.visible_message( \
			"[user] inaccurately slices [src] with [W]!", \
			"You inaccurately slice [src] with your [W]!" \
		)
		slices_lost = rand(1,min(1,round(slices_num/2)))

	var/reagents_per_slice = reagents.total_volume/slices_num
	for(var/i=1 to (slices_num-slices_lost))
		var/obj/item/weapon/reagent_containers/food/snacks/slice = new slice_path (loc)
		initialize_slice(slice, reagents_per_slice)
	qdel(src)

/obj/item/weapon/reagent_containers/food/snacks/proc/initialize_slice(obj/item/weapon/reagent_containers/food/snacks/slice, reagents_per_slice)
	slice.create_reagents(slice.volume)
	reagents.trans_to(slice,reagents_per_slice)
	return

/obj/item/weapon/reagent_containers/food/snacks/proc/update_overlays(obj/item/weapon/reagent_containers/food/snacks/S)
	overlays.Cut()
	var/image/I = new(src.icon, "[initial(icon_state)]_filling")
	if(S.filling_color == "#FFFFFF")
		I.color = pick("#FF0000","#0000FF","#008000","#FFFF00")
	else
		I.color = S.filling_color

	overlays += I

// initialize_cooked_food() is called when microwaving the food
/obj/item/weapon/reagent_containers/food/snacks/proc/initialize_cooked_food(obj/item/weapon/reagent_containers/food/snacks/S, cooking_efficiency = 1)
	S.create_reagents(S.volume)
	if(reagents)
		reagents.trans_to(S, reagents.total_volume)
	if(S.bonus_reagents.len)
		for(var/r_id in S.bonus_reagents)
			var/amount = S.bonus_reagents[r_id] * cooking_efficiency
			S.reagents.add_reagent(r_id, amount)

/obj/item/weapon/reagent_containers/food/snacks/Destroy()
	if(contents)
		for(var/atom/movable/something in contents)
			something.loc = get_turf(src)
	return ..()

/obj/item/weapon/reagent_containers/food/snacks/attack_animal(mob/M)
	if(isanimal(M))
		if(iscorgi(M))
			if(bitecount == 0 || prob(50))
				M.emote("me", 1, "nibbles away at \the [src]")
			bitecount++
			if(bitecount >= 5)
				var/sattisfaction_text = pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where \the [src] was")
				if(sattisfaction_text)
					M.emote("me", 1, "[sattisfaction_text]")
				qdel(src)

//////////////////////////////////////////////////
////////////////////////////////////////////Snacks
//////////////////////////////////////////////////
//Items in the "Snacks" subcategory are food items that people actually eat. The key points are that they are created
//	already filled with reagents and are destroyed when empty. Additionally, they make a "munching" noise when eaten.

//Notes by Darem: Food in the "snacks" subtype can hold a maximum of 50 units Generally speaking, you don't want to go over 40
//	total for the item because you want to leave space for extra condiments. If you want effect besides healing, add a reagent for
//	it. Try to stick to existing reagents when possible (so if you want a stronger healing effect, just use omnizine). On use
//	effect (such as the old officer eating a donut code) requires a unique reagent (unless you can figure out a better way).

//The nutriment reagent and bitesize variable replace the old heal_amt and amount variables. Each unit of nutriment is equal to
//	2 of the old heal_amt variable. Bitesize is the rate at which the reagents are consumed. So if you have 6 nutriment and a
//	bitesize of 2, then it'll take 3 bites to eat. Unlike the old system, the contained reagents are evenly spread among all
//	the bites. No more contained reagents = no more bites.

//Here is an example of the new formatting for anyone who wants to add more food items.
///obj/item/weapon/reagent_containers/food/snacks/xenoburger			//Identification path for the object.
//	name = "Xenoburger"													//Name that displays in the UI.
//	desc = "Smells caustic. Tastes like heresy."						//Duh
//	icon_state = "xburger"												//Refers to an icon in food.dmi
///obj/item/weapon/reagent_containers/food/snacks/xenoburger/New()		//Don't mess with this.
//		..()															//Same here.
//		reagents.add_reagent("xenomicrobes", 10)						//This is what is in the food item. you may copy/paste
//		reagents.add_reagent("nutriment", 2)							//	this line of code for all the contents.
//		bitesize = 3													//This is the amount each bite consumes.

//All foods are distributed among various categories. Use common sense.

/////////////////////////////////////////////////Store////////////////////////////////////////
// All the food items that can store an item inside itself, like bread or cake.

/obj/item/weapon/reagent_containers/food/snacks/store
	w_class = 3
	var/stored_item = 0

/obj/item/weapon/reagent_containers/food/snacks/store/attackby(obj/item/weapon/W, mob/user, params)
	..()
	if(W.w_class <= 2 & !istype(W, /obj/item/weapon/reagent_containers/food/snacks)) //can't slip snacks inside, they're used for custom foods.
		if(W.is_sharp())
			return 0
		if(stored_item)
			return 0
		if(!iscarbon(user))
			return 0
		if(contents.len >= 20)
			user << "[src] is full."
			return 0
		user << "You slip [W] inside [src]."
		user.unEquip(W)
		add_fingerprint(user)
		contents += W
		stored_item = 1
		return 1 // no afterattack here

/obj/item/weapon/reagent_containers/food/snacks/MouseDrop(atom/over)
	var/turf/T = get_turf(src)
	var/obj/structure/table/TB = locate(/obj/structure/table) in T
	if(TB)
		TB.MouseDrop(over)
	else
		..()


code:
/////////////////// Dough Ingredients ////////////////////////

/obj/item/weapon/reagent_containers/food/snacks/dough
	name = "dough"
	desc = "A piece of dough."
	icon = 'icons/obj/food/food_ingredients.dmi'
	icon_state = "dough"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/store/bread/plain
	list_reagents = list("nutriment" = 6)
	w_class = 3

// Dough + rolling pin = flat dough
/obj/item/weapon/reagent_containers/food/snacks/dough/attackby(obj/item/I, mob/user, params)
	if(istype(I, /obj/item/weapon/kitchen/rollingpin))
		if(isturf(loc))
			new /obj/item/weapon/reagent_containers/food/snacks/flatdough(loc)
			user << "You flatten [src]."
			qdel(src)
		else
			user << "You need to put [src] on a surface to roll it out!"
	else
		..()

// sliceable into 3xdoughslices
/obj/item/weapon/reagent_containers/food/snacks/flatdough
	name = "flat dough"
	desc = "A flattened dough."
	icon = 'icons/obj/food/food_ingredients.dmi'
	icon_state = "flat dough"
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/doughslice
	slices_num = 3
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/pizzabread
	list_reagents = list("nutriment" = 6)
	w_class = 3

/obj/item/weapon/reagent_containers/food/snacks/pizzabread
	name = "pizza bread"
	desc = "Add ingredients to make a pizza"
	icon = 'icons/obj/food/food_ingredients.dmi'
	icon_state = "pizzabread"
	custom_food_type = /obj/item/weapon/reagent_containers/food/snacks/customizable/pizza
	list_reagents = list("nutriment" = 7)
	w_class = 3

/obj/item/weapon/reagent_containers/food/snacks/doughslice
	name = "dough slice"
	desc = "A slice of dough. Can be cooked into a bun."
	icon = 'icons/obj/food/food_ingredients.dmi'
	icon_state = "doughslice"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/bun
	filling_color = "#CD853F"

/obj/item/weapon/reagent_containers/food/snacks/bun
	name = "bun"
	desc = "A base for any self-respecting burger."
	icon = 'icons/obj/food/burgerbread.dmi'
	icon_state = "bun"
	list_reagents = list("nutriment" = 1)
	custom_food_type = /obj/item/weapon/reagent_containers/food/snacks/customizable/burger
	filling_color = "#CD853F"

/obj/item/weapon/reagent_containers/food/snacks/cakebatter
	name = "cake batter"
	desc = "Cook it to get a cake."
	icon = 'icons/obj/food/food_ingredients.dmi'
	icon_state = "cakebatter"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/store/cake/plain
	list_reagents = list("nutriment" = 9)
	w_class = 3

// Cake batter + rolling pin = pie dough
/obj/item/weapon/reagent_containers/food/snacks/cakebatter/attackby(obj/item/I, mob/user, params)
	if(istype(I, /obj/item/weapon/kitchen/rollingpin))
		if(isturf(loc))
			new /obj/item/weapon/reagent_containers/food/snacks/piedough(loc)
			user << "You flatten [src]."
			qdel(src)
		else
			user << "You need to put [src] on a surface to roll it out!"
	else
		..()

/obj/item/weapon/reagent_containers/food/snacks/piedough
	name = "pie dough"
	desc = "Cook it to get a pie."
	icon = 'icons/obj/food/food_ingredients.dmi'
	icon_state = "piedough"
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/rawpastrybase
	slices_num = 3
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/pie/plain
	list_reagents = list("nutriment" = 9)
	w_class = 3

/obj/item/weapon/reagent_containers/food/snacks/rawpastrybase
	name = "raw pastry base"
	desc = "Must be cooked before use."
	icon = 'icons/obj/food/food_ingredients.dmi'
	icon_state = "rawpastrybase"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/pastrybase
	filling_color = "#CD853F"
	list_reagents = list("nutriment" = 1)

/obj/item/weapon/reagent_containers/food/snacks/pastrybase
	name = "pastry base"
	desc = "A base for any self-respecting pastry"
	icon = 'icons/obj/food/food_ingredients.dmi'
	icon_state = "pastrybase"
	list_reagents = list("nutriment" = 1)
	filling_color = "#CD853F"


code:
/obj/item/weapon/reagent_containers/food/snacks/meat
	var/subjectname = ""
	var/subjectjob = null

/obj/item/weapon/reagent_containers/food/snacks/meat/slab
	name = "meat"
	desc = "A slab of meat"
	icon_state = "meat"
	dried_type = /obj/item/weapon/reagent_containers/food/snacks/sosjerky
	bitesize = 3
	list_reagents = list("nutriment" = 3)
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain
	slices_num = 3
	filling_color = "#FF0000"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/initialize_slice(obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/slice, reagents_per_slice)
	..()
	var/image/I = new(icon, "rawcutlet_coloration")
	I.color = filling_color
	slice.overlays += I
	slice.filling_color = filling_color
	slice.name = "raw [name] cutlet"
	slice.meat_type = name

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/initialize_cooked_food(obj/item/weapon/reagent_containers/food/snacks/S, cooking_efficiency)
	..()
	S.name = "[name] steak"

///////////////////////////////////// HUMAN MEATS //////////////////////////////////////////////////////

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human
	name = "-meat"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain/human
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain/human

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/initialize_slice(obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain/human/slice, reagents_per_slice)
	..()
	slice.subjectname = subjectname
	slice.subjectjob = subjectjob
	if(subjectname)
		slice.name = "raw [subjectname] cutlet"
	else if(subjectjob)
		slice.name = "raw [subjectjob] cutlet"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/initialize_cooked_food(obj/item/weapon/reagent_containers/food/snacks/meat/S, cooking_efficiency)
	..()
	S.subjectname = subjectname
	S.subjectjob = subjectjob
	if(subjectname)
		S.name = "[subjectname] meatsteak"
	else if(subjectjob)
		S.name = "[subjectjob] meatsteak"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/slime
	icon_state = "slimemeat"
	desc = "Because jello wasn't offensive enough to vegans"
	list_reagents = list("nutriment" = 3, "slimejelly" = 3)
	filling_color = "#00FFFF"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/golem
	icon_state = "golemmeat"
	desc = "Edible rocks, welcome to the future"
	list_reagents = list("nutriment" = 3, "iron" = 3)
	filling_color = "#A9A9A9"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/golem/adamantine
	icon_state = "agolemmeat"
	desc = "From the slime pen to the rune to the kitchen, science"
	filling_color = "#66CDAA"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard
	icon_state = "lizardmeat"
	desc = "Delicious dino damage"
	filling_color = "#6B8E23"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/plant
	icon_state = "plantmeat"
	desc = "All the joys of healthy eating with all the fun of cannibalism"
	filling_color = "#E9967A"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/shadow
	icon_state = "shadowmeat"
	desc = "Ow, the edge"
	filling_color = "#202020"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/fly
	icon_state = "flymeat"
	desc = "Nothing says tasty like maggot filled radioactive mutant flesh"
	list_reagents = list("nutriment" = 3, "uranium" = 3)

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton
	name = "-bone"
	icon_state = "skeletonmeat"
	desc = "There's a point where this needs to stop and clearly we have passed it"
	filling_color = "#F0F0F0"
	slice_path = null  //can't slice a bone into cutlets

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/zombie
	name = "-meat (rotten)"
	icon_state = "lizardmeat" //Close enough.
	desc = "Halfway to becoming fertilizer for your garden."
	filling_color = "#6B8E23"

////////////////////////////////////// OTHER MEATS ////////////////////////////////////////////////////////

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/synthmeat
	name = "synthmeat"
	desc = "A synthetic slab of meat."

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/meatproduct
	name = "meat product"
	desc = "A slab of station reclaimed and chemically processed meat product."

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/monkey
	name = "monkey meat"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/corgi
	name = "corgi meat"
	desc = "Tastes like... well you know..."

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/pug
	name = "pug meat"
	desc = "Tastes like... well you know..."

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/killertomato
	name = "killer tomato meat"
	desc = "A slice from a huge tomato."
	icon_state = "tomatomeat"
	list_reagents = list("nutriment" = 2)
	filling_color = "#FF0000"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/killertomato
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/killertomato

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/bear
	name = "bear meat"
	desc = "A very manly slab of meat."
	icon_state = "bearmeat"
	list_reagents = list("nutriment" = 12, "morphine" = 5, "vitamin" = 2)
	filling_color = "#FFB6C1"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/bear
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/bear

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/xeno
	name = "xeno meat"
	desc = "A slab of meat"
	icon_state = "xenomeat"
	list_reagents = list("nutriment" = 3, "vitamin" = 1)
	bitesize = 4
	filling_color = "#32CD32"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/xeno
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/xeno

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/spider
	name = "spider meat"
	desc = "A slab of spider meat."
	icon_state = "spidermeat"
	list_reagents = list("nutriment" = 3, "toxin" = 3, "vitamin" = 1)
	filling_color = "#7CFC00"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/spider
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/spider

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/goliath
	name = "goliath meat"
	desc = "A slab of goliath meat. It's not very edible now, but it cooks great in lava."
	list_reagents = list("nutriment" = 3, "toxin" = 5)
	icon_state = "goliathmeat"

/obj/item/weapon/reagent_containers/food/snacks/meat/slab/goliath/burn()
	visible_message("\The [src] finishes cooking!")
	new/obj/item/weapon/reagent_containers/food/snacks/meat/steak/goliath/(src.loc)
	SSobj.burning -= src
	qdel(src)

////////////////////////////////////// MEAT STEAKS ///////////////////////////////////////////////////////////

/obj/item/weapon/reagent_containers/food/snacks/meat/steak
	name = "steak"
	desc = "A piece of hot spicy meat."
	icon_state = "meatsteak"
	list_reagents = list("nutriment" = 5)
	bonus_reagents = list("nutriment" = 2, "vitamin" = 1)
	trash = /obj/item/trash/plate
	filling_color = "#B22222"

/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain

/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain/human

/obj/item/weapon/reagent_containers/food/snacks/meat/steak/killertomato
	name = "killer tomato steak"

/obj/item/weapon/reagent_containers/food/snacks/meat/steak/bear
	name = "bear steak"

/obj/item/weapon/reagent_containers/food/snacks/meat/steak/xeno
	name = "xeno steak"

/obj/item/weapon/reagent_containers/food/snacks/meat/steak/spider
	name = "spider steak"

/obj/item/weapon/reagent_containers/food/snacks/meat/steak/goliath
	name = "goliath steak"
	desc = "A delicious, lava cooked steak."
	burn_state = LAVA_PROOF
	icon_state = "goliathsteak"
	trash = null

//////////////////////////////// MEAT CUTLETS ///////////////////////////////////////////////////////

//Raw cutlets

/obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet
	name = "raw cutlet"
	desc = "A raw meat cutlet."
	icon_state = "rawcutlet"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/plain
	bitesize = 2
	list_reagents = list("nutriment" = 1)
	filling_color = "#B22222"
	var/meat_type = "meat"

/obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/initialize_cooked_food(obj/item/weapon/reagent_containers/food/snacks/S, cooking_efficiency)
	..()
	S.name = "[meat_type] cutlet"

/obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain

/obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain/human
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/plain/human

/obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain/human/initialize_cooked_food(obj/item/weapon/reagent_containers/food/snacks/S, cooking_efficiency)
	..()
	if(subjectname)
		S.name = "[subjectname] [initial(S.name)]"
	else if(subjectjob)
		S.name = "[subjectjob] [initial(S.name)]"

/obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/killertomato
	name = "raw killer tomato cutlet"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/killertomato

/obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/bear
	name = "raw bear cutlet"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/bear

/obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/xeno
	name = "raw xeno cutlet"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/xeno

/obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/spider
	name = "raw spider cutlet"
	cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/spider

//Cooked cutlets

/obj/item/weapon/reagent_containers/food/snacks/meat/cutlet
	name = "cutlet"
	desc = "A cooked meat cutlet."
	icon_state = "cutlet"
	bitesize = 2
	list_reagents = list("nutriment" = 2)
	bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
	filling_color = "#B22222"

/obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/plain

/obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/plain/human

/obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/killertomato
	name = "killer tomato cutlet"

/obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/bear
	name = "bear cutlet"

/obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/xeno
	name = "xeno cutlet"

/obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/spider
	name = "spider cutlet"


code:
/obj/item/weapon/reagent_containers/food/snacks/store/bread
	icon = 'icons/obj/food/burgerbread.dmi'
	volume = 80
	slices_num = 5

/obj/item/weapon/reagent_containers/food/snacks/breadslice
	icon = 'icons/obj/food/burgerbread.dmi'
	bitesize = 2
	custom_food_type = /obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich
	filling_color = "#FFA500"
	list_reagents = list("nutriment" = 2)
	slot_flags = SLOT_HEAD
	customfoodfilling = 0 //to avoid infinite bread-ception

/obj/item/weapon/reagent_containers/food/snacks/store/bread/plain
	name = "bread"
	desc = "Some plain old Earthen bread."
	icon_state = "bread"
	bonus_reagents = list("nutriment" = 7)
	list_reagents = list("nutriment" = 10)
	custom_food_type = /obj/item/weapon/reagent_containers/food/snacks/customizable/bread
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/plain

/obj/item/weapon/reagent_containers/food/snacks/breadslice/plain
	name = "bread slice"
	desc = "A slice of home."
	icon_state = "breadslice"
	customfoodfilling = 1

/obj/item/weapon/reagent_containers/food/snacks/store/bread/meat
	name = "meatbread loaf"
	desc = "The culinary base of every self-respecting eloquen/tg/entleman."
	icon_state = "meatbread"
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/meat
	bonus_reagents = list("nutriment" = 5, "vitamin" = 10)
	list_reagents = list("nutriment" = 30, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/breadslice/meat
	name = "meatbread slice"
	desc = "A slice of delicious meatbread."
	icon_state = "meatbreadslice"

/obj/item/weapon/reagent_containers/food/snacks/store/bread/xenomeat
	name = "xenomeatbread loaf"
	desc = "The culinary base of every self-respecting eloquen/tg/entleman. Extra Heretical."
	icon_state = "xenomeatbread"
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/xenomeat
	bonus_reagents = list("nutriment" = 5, "vitamin" = 10)
	list_reagents = list("nutriment" = 30, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/breadslice/xenomeat
	name = "xenomeatbread slice"
	desc = "A slice of delicious meatbread. Extra Heretical."
	icon_state = "xenobreadslice"
	filling_color = "#32CD32"
	list_reagents = list("nutriment" = 6, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/store/bread/spidermeat
	name = "spider meat loaf"
	desc = "Reassuringly green meatloaf made from spider meat."
	icon_state = "spidermeatbread"
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/spidermeat
	bonus_reagents = list("nutriment" = 5, "vitamin" = 10)
	list_reagents = list("nutriment" = 30, "toxin" = 15, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/breadslice/spidermeat
	name = "spider meat bread slice"
	desc = "A slice of meatloaf made from an animal that most likely still wants you dead."
	icon_state = "xenobreadslice"
	filling_color = "#7CFC00"
	list_reagents = list("nutriment" = 6, "toxin" = 3, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/store/bread/banana
	name = "banana-nut bread"
	desc = "A heavenly and filling treat."
	icon_state = "bananabread"
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/banana
	bonus_reagents = list("nutriment" = 5, "banana" = 20)
	list_reagents = list("nutriment" = 20, "banana" = 20)

/obj/item/weapon/reagent_containers/food/snacks/breadslice/banana
	name = "banana-nut bread slice"
	desc = "A slice of delicious banana bread."
	icon_state = "bananabreadslice"
	filling_color = "#FFD700"
	list_reagents = list("nutriment" = 4, "banana" = 4)

/obj/item/weapon/reagent_containers/food/snacks/store/bread/tofu
	name = "Tofubread"
	desc = "Like meatbread but for vegetarians. Not guaranteed to give superpowers."
	icon_state = "tofubread"
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/tofu
	bonus_reagents = list("nutriment" = 5, "vitamin" = 10)
	list_reagents = list("nutriment" = 20, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/breadslice/tofu
	name = "tofubread slice"
	desc = "A slice of delicious tofubread."
	icon_state = "tofubreadslice"
	filling_color = "#FF8C00"
	list_reagents = list("nutriment" = 4, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/store/bread/creamcheese
	name = "cream cheese bread"
	desc = "Yum yum yum!"
	icon_state = "creamcheesebread"
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/creamcheese
	bonus_reagents = list("nutriment" = 5, "vitamin" = 5)
	list_reagents = list("nutriment" = 20, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/breadslice/creamcheese
	name = "cream cheese bread slice"
	desc = "A slice of yum!"
	icon_state = "creamcheesebreadslice"
	filling_color = "#FF8C00"
	list_reagents = list("nutriment" = 4, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/store/bread/mimana
	name = "mimana bread"
	desc = "Best eaten in silence."
	icon_state = "mimanabread"
	slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/mimana
	bonus_reagents = list("nutriment" = 5, "vitamin" = 5)
	list_reagents = list("nutriment" = 20, "mutetoxin" = 5, "nothing" = 5, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/breadslice/mimana
	name = "mimana bread slice"
	desc = "A slice of silence!"
	icon_state = "mimanabreadslice"
	filling_color = "#C0C0C0"
	list_reagents = list("nutriment" = 2, "mutetoxin" = 1, "nothing" = 1, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/breadslice/custom
	name = "bread slice"
	icon_state = "tofubreadslice"
	filling_color = "#FFFFFF"

/obj/item/weapon/reagent_containers/food/snacks/baguette
	name = "baguette"
	desc = "Bon appetit!"
	icon = 'icons/obj/food/burgerbread.dmi'
	icon_state = "baguette"
	bonus_reagents = list("nutriment" = 2, "vitamin" = 2)
	list_reagents = list("nutriment" = 6, "vitamin" = 1)
	bitesize = 3
	w_class = 3


code:
/obj/item/weapon/reagent_containers/food/snacks/burger
	filling_color = "#CD853F"
	icon = 'icons/obj/food/burgerbread.dmi'
	icon_state = "hburger"
	bitesize = 3
	list_reagents = list("nutriment" = 6, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/burger/plain
	name = "burger"
	desc = "The cornerstone of every nutritious breakfast."
	bonus_reagents = list("vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/burger/human
	var/subjectname = ""
	var/subjectjob = null
	name = "human burger"
	desc = "A bloody burger."
	bonus_reagents = list("vitamin" = 4)

/obj/item/weapon/reagent_containers/food/snacks/burger/human/CheckParts()
	var/obj/item/weapon/reagent_containers/food/snacks/meat/M = locate(/obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain/human) in contents
	if(M)
		subjectname = M.subjectname
		subjectjob = M.subjectjob
		if(subjectname)
			name = "[subjectname] burger"
		else if(subjectjob)
			name = "[subjectjob] burger"
		qdel(M)

	..()

/obj/item/weapon/reagent_containers/food/snacks/burger/corgi
	name = "corgi burger"
	desc = "You monster."
	bonus_reagents = list("vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/burger/appendix
	name = "appendix burger"
	desc = "Tastes like appendicitis."
	bonus_reagents = list("nutriment" = 6, "vitamin" = 6)
	icon_state = "appendixburger"

/obj/item/weapon/reagent_containers/food/snacks/burger/fish
	name = "fillet -o- carp sandwich"
	desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp."
	icon_state = "fishburger"
	bonus_reagents = list("nutriment" = 2, "vitamin" = 3)

/obj/item/weapon/reagent_containers/food/snacks/burger/tofu
	name = "tofu burger"
	desc = "What.. is that meat?"
	icon_state = "tofuburger"
	bonus_reagents = list("nutriment" = 2, "vitamin" = 2)

/obj/item/weapon/reagent_containers/food/snacks/burger/roburger
	name = "roburger"
	desc = "The lettuce is the only organic component. Beep."
	icon_state = "roburger"
	bonus_reagents = list("nutriment" = 2, "nanomachines" = 2, "vitamin" = 5)
	list_reagents = list("nutriment" = 6, "nanomachines" = 5, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/burger/roburgerbig
	name = "roburger"
	desc = "This massive patty looks like poison. Beep."
	icon_state = "roburger"
	volume = 120
	bonus_reagents = list("nutriment" = 5, "nanomachines" = 70, "vitamin" = 10)
	list_reagents = list("nutriment" = 6, "nanomachines" = 70, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/burger/xeno
	name = "xenoburger"
	desc = "Smells caustic. Tastes like heresy."
	icon_state = "xburger"
	bonus_reagents = list("nutriment" = 2, "vitamin" = 6)

/obj/item/weapon/reagent_containers/food/snacks/burger/bearger
	name = "bearger"
	desc = "Best served rawr."
	icon_state = "bearger"
	bonus_reagents = list("nutriment" = 3, "vitamin" = 6)

/obj/item/weapon/reagent_containers/food/snacks/burger/clown
	name = "clown burger"
	desc = "This tastes funny..."
	icon_state = "clownburger"
	bonus_reagents = list("nutriment" = 4, "vitamin" = 6, "banana" = 6)

/obj/item/weapon/reagent_containers/food/snacks/burger/mime
	name = "mime burger"
	desc = "Its taste defies language."
	icon_state = "mimeburger"
	bonus_reagents = list("nutriment" = 4, "vitamin" = 6, "nothing" = 6)

/obj/item/weapon/reagent_containers/food/snacks/burger/brain
	name = "brainburger"
	desc = "A strange looking burger. It looks almost sentient."
	icon_state = "brainburger"
	bonus_reagents = list("nutriment" = 6, "mannitol" = 6, "vitamin" = 5)
	list_reagents = list("nutriment" = 6, "mannitol" = 5, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/burger/ghost
	name = "ghost burger"
	desc = "Too Spooky!"
	alpha = 125
	bonus_reagents = list("nutriment" = 5, "vitamin" = 12)

/obj/item/weapon/reagent_containers/food/snacks/burger/red
	name = "red burger"
	desc = "Perfect for hiding the fact it's burnt to a crisp."
	icon_state = "cburger"
	color = "#DA0000FF"
	bonus_reagents = list("redcrayonpowder" = 10, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/burger/orange
	name = "orange burger"
	desc = "Contains 0% juice."
	icon_state = "cburger"
	color = "#FF9300FF"
	bonus_reagents = list("orangecrayonpowder" = 10, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/burger/yellow
	name = "yellow burger"
	desc = "Bright to the last bite."
	icon_state = "cburger"
	color = "#FFF200FF"
	bonus_reagents = list("yellowcrayonpowder" = 10, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/burger/green
	name = "green burger"
	desc = "It's not tainted meat, it's painted meat!"
	icon_state = "cburger"
	color = "#A8E61DFF"
	bonus_reagents = list("greencrayonpowder" = 10, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/burger/blue
	name = "blue burger"
	desc = "Is this blue rare?"
	icon_state = "cburger"
	color = "#00B7EFFF"
	bonus_reagents = list("bluecrayonpowder" = 10, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/burger/purple
	name = "purple burger"
	desc = "Regal and low class at the same time."
	icon_state = "cburger"
	color = "#DA00FFFF"
	bonus_reagents = list("purplecrayonpowder" = 10, "vitamin" = 5)

/obj/item/weapon/reagent_containers/food/snacks/burger/spell
	name = "spell burger"
	desc = "This is absolutely Ei Nath."
	icon_state = "spellburger"
	bonus_reagents = list("nutriment" = 6, "vitamin" = 10)

/obj/item/weapon/reagent_containers/food/snacks/burger/bigbite
	name = "big bite burger"
	desc = "Forget the Big Mac. THIS is the future!"
	icon_state = "bigbiteburger"
	bonus_reagents = list("vitamin" = 6)
	list_reagents = list("nutriment" = 10, "vitamin" = 2)
	w_class = 3

/obj/item/weapon/reagent_containers/food/snacks/burger/jelly
	name = "jelly burger"
	desc = "Culinary delight..?"
	icon_state = "jellyburger"

/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime
	bonus_reagents = list("slimejelly" = 5, "vitamin" = 5)
	list_reagents = list("nutriment" = 6, "slimejelly" = 5, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry
	bonus_reagents = list("cherryjelly" = 5, "vitamin" = 5)
	list_reagents = list("nutriment" = 6, "cherryjelly" = 5, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/burger/superbite
	name = "super bite burger"
	desc = "This is a mountain of a burger. FOOD!"
	icon_state = "superbiteburger"
	bonus_reagents = list("vitamin" = 10)
	list_reagents = list("nutriment" = 40, "vitamin" = 5)
	w_class = 3
	bitesize = 7
	volume = 100

/obj/item/weapon/reagent_containers/food/snacks/burger/fivealarm
	name = "five alarm burger"
	desc = "HOT! HOT!"
	icon_state = "fivealarmburger"
	bonus_reagents = list("nutriment" = 2, "vitamin" = 5)
	list_reagents = list("nutriment" = 6, "capsaicin" = 5, "condensedcapsaicin" = 5, "vitamin" = 1)

/obj/item/weapon/reagent_containers/food/snacks/burger/rat
	name = "rat burger"
	desc = "Pretty much what you'd expect..."
	icon_state = "ratburger"
	bonus_reagents = list("nutriment" = 1, "vitamin" = 1)