namespace Eco.Mods.TechTree
{
    using System.Collections.Generic;
    using System.Linq;
    using Eco.Gameplay.Components;
    using Eco.Gameplay.DynamicValues;
    using Eco.Gameplay.Items;
    using Eco.Gameplay.Players;
    using Eco.Gameplay.Skills;
    using Eco.Gameplay.Systems.TextLinks;
    using Eco.Mods.TechTree;
    using Eco.Shared.Items;
    using Eco.Shared.Localization;
    using Eco.Shared.Serialization;
    using Eco.Shared.Utils;
    using Eco.Shared.View;

	[Serialized]
    [Weight(200)]                                          
    public partial class IceCreamItem :
        FoodItem            
    {
        public override string FriendlyName                     { get { return "IceCream"; } }
        public override string Description                      { get { return "Olden Day IceCream"; } }

        private static Nutrients nutrition = new Nutrients()    { Carbs = 6, Fat = 12, Protein = 12, Vitamins = 4};
        public override float Calories                          { get { return 1250; } }
        public override Nutrients Nutrition                     { get { return nutrition; } }
    }

	[RequiresSkill(typeof(ZymologyBrewingSkill), 4)]   
    public partial class IceCreamRecipe : Recipe
    {
        public IceCreamRecipe()
        {
            this.Products = new CraftingElement[]
            {
                new CraftingElement<IceCreamItem>(),
               
            };
            this.Ingredients = new CraftingElement[]
            {
                new CraftingElement<EggItem>(typeof(ZymologyEfficiencySkill), 8, ZymologyEfficiencySkill.MultiplicativeStrategy), 
				new CraftingElement<CreamItem>(typeof(ZymologyEfficiencySkill), 8, ZymologyEfficiencySkill.MultiplicativeStrategy), 
				new CraftingElement<WholeMealMilkItem>(typeof(ZymologyEfficiencySkill), 8, ZymologyEfficiencySkill.MultiplicativeStrategy),
				new CraftingElement<BeanPasteItem>(typeof(ZymologyEfficiencySkill), 8, ZymologyEfficiencySkill.MultiplicativeStrategy),
				new CraftingElement<SugarItem>(typeof(ZymologyEfficiencySkill), 8, ZymologyEfficiencySkill.MultiplicativeStrategy),
            };
            this.CraftMinutes = CreateCraftTimeValue(typeof(IceCreamRecipe), Item.Get<IceCreamItem>().UILink(), 11, typeof(ZymologySpeedSkill)); 
            this.Initialize("IceCream", typeof(IceCreamRecipe));
            CraftingComponent.AddRecipe(typeof(FermentingBarrelObject), this);
        }
    }
}