module Base
{

/* <<<<<  Evolved Recipes  >>>>> */

    craftRecipe VFX_PrepareLasagna
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1  [Base.RoastingPan] mode:destroy flags[InheritCondition],
            item 10 [VFX.LasagnaSheets] flags[IsUncookedFoodItem],
            item 1  [Base.Marinara;VFX.SpicyMarinara;VFX.MeatSauce;VFX.BasilPestoSauce;VFX.AlfredoSauce;VFX.BechamelSauce;VFX.HomemadeMarinara_Open;VFX.HomemadeSpicyMarinara_Open;VFX.HomemadeMeatSauce_Open;VFX.HomemadeBasilPestoSauce_Open;VFX.HomemadeAlfredoSauce_Open;VFX.HomemadeBechamelSauce_Open] flags[ItemCount],
        }

        outputs
        {
            item 1 VFX.LasagnaPreparation,
        }
    }

    craftRecipe VFX_PrepareMeatloaf
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [Base.RoastingPan] mode:destroy flags[InheritCondition],
            item 1 [Base.MincedMeat;VFX.GroundChicken;VFX.GroundPork;VFX.GroundTurkey;VFX.GroundLamb] flags[ItemCount;IsUncookedFoodItem],
        }

        outputs
        {
            item 1 Base.VFXMeatloafPreparation,
        }
    }

    craftRecipe VFX_PrepareBakedPotato
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [Base.RoastingPan] mode:destroy flags[InheritCondition],
            item 2 [Base.Potato] flags[ItemCount;IsUncookedFoodItem],
        }

        outputs
        {
            item 1 Base.VFXBakedPotatoPreparation,
        }
    }

    craftRecipe VFX_PrepareScallopedPotatoBake
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [Base.RoastingPan] mode:destroy flags[InheritCondition],
            item 5 [VFX.SlicedPotato] flags[ItemCount;IsUncookedFoodItem],
            item 1 [VFX.HeavyCream] flags[ItemCount],
        }

        outputs
        {
            item 1 Base.VFXScallopedPotatoBakePreparation,
        }
    }

    craftRecipe VFX_PrepareQuiche
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.Bowl;Base.ClayBowl] mode:keep flags[ItemCount],
            item 1 [Base.BakingPan] mode:destroy flags[InheritCondition],
            item 6 [Base.Egg;Base.TurkeyEgg;Base.WildEggs] flags[ItemCount;IsUncookedFoodItem],
        }

        outputs
        {
            item 1 Base.VFXQuichePreparation,
        }
    }

    craftRecipe VFX_PrepareNachos
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 [Base.RoastingPan] mode:destroy flags[InheritCondition],
            item 1 [Base.TortillaChips;Base.TortillaChipsBaked] flags[ItemCount],
        }

        outputs
        {
            item 1 Base.VFXNachosPreparation,
        }
    }

    craftRecipe VFX_PrepareEnchilada
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1 tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
            item 1 [Base.RoastingPan] mode:destroy flags[InheritCondition],
            item 1 [Base.Tortilla] flags[ItemCount],
        }

        outputs
        {
            item 1 Base.VFXEnchiladaPreparation,
        }
    }

    craftRecipe VFX_PrepareCheesecake
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            item 1  tags[base:mixingutensil] mode:keep flags[MayDegradeVeryLight],
            item 1  [Base.RollingPin] mode:keep flags[MayDegradeVeryLight],
            item 1  [Base.Bowl] mode:keep flags[InheritCondition],
            item 1  [Base.BakingPan] mode:destroy flags[InheritCondition],
            item 1  [VFX.CreamCheese] flags[ItemCount],
            item 15 [Base.Sugar],
            item 2  [Base.Egg;Base.TurkeyEgg;Base.WildEggs] flags[ItemCount;IsUncookedFoodItem],
            item 1  [Base.GrahamCrackers] flags[ItemCount],
        }

        outputs
        {
            item 1 Base.VFXCheesecakePreparation,
        }
    }

    craftRecipe VFX_PrepareMilkshake
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,

        inputs
        {
            
            item 5 tags[VFX:Icecream] flags[AllowFrozenItem],
            item 1 [VFX.MilkshakeGlass] mode:destroy,
                -fluid 0.2 [CowMilk;VFX_SoyMilk] mode:mixture,
        }

        outputs
        {
            item 1 Base.VFXMilkshakePreparation,
        }
    }

    craftRecipe VFX_PrepareSushi
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,
        Tooltip = Tooltip_VFX_Recipe_RiceCooked,

        inputs
        {
            item 1 [Base.Seaweed] flags[ItemCount],
            item 5 [VFX.WaterSaucepanBrownRice;VFX.WaterSaucepanCopperBrownRice;VFX.WaterPotBrownRice;VFX.WaterPotForgedBrownRice;VFX.BrownRiceBowl;VFX.WaterSaucepanJasmineRice;VFX.WaterSaucepanCopperJasmineRice;VFX.WaterPotJasmineRice;VFX.WaterPotForgedJasmineRice;VFX.JasmineRiceBowl;VFX.WaterSaucepanBasmatiRice;VFX.WaterSaucepanCopperBasmatiRice;VFX.WaterPotBasmatiRice;VFX.WaterPotForgedBasmatiRice;VFX.BasmatiRiceBowl;VFX.WaterSaucepanArborioRice;VFX.WaterSaucepanCopperArborioRice;VFX.WaterPotArborioRice;VFX.WaterPotForgedArborioRice;VFX.ArborioRiceBowl;Base.WaterPotRice;Base.WaterPotForgedRice;Base.WaterSaucepanRice;Base.WaterSaucepanRiceCopper;Base.RiceBowl] mappers[RicePotType] flags[ItemCount;IsCookedFoodItem],
        }

        outputs
        {
            item 1 Base.VFXSushiPreparation,
            item 1 mapper:RicePotType,
        }

        itemMapper RicePotType
        {
            Base.Saucepan = VFX.WaterSaucepanBrownRice,
            Base.SaucepanCopper = VFX.WaterSaucepanCopperBrownRice,
            Base.Pot = VFX.WaterPotBrownRice,
            Base.PotForged = VFX.WaterPotForgedBrownRice,
            Base.Bowl = VFX.BrownRiceBowl,

            Base.Saucepan = VFX.WaterSaucepanJasmineRice,
            Base.SaucepanCopper = VFX.WaterSaucepanCopperJasmineRice,
            Base.Pot = VFX.WaterPotJasmineRice,
            Base.PotForged = VFX.WaterPotForgedJasmineRice,
            Base.Bowl = VFX.JasmineRiceBowl,

            Base.Saucepan = VFX.WaterSaucepanBasmatiRice,
            Base.SaucepanCopper = VFX.WaterSaucepanCopperBasmatiRice,
            Base.Pot = VFX.WaterPotBasmatiRice,
            Base.PotForged = VFX.WaterPotForgedBasmatiRice,
            Base.Bowl = VFX.BasmatiRiceBowl,

            Base.Saucepan = VFX.WaterSaucepanArborioRice,
            Base.SaucepanCopper = VFX.WaterSaucepanCopperArborioRice,
            Base.Pot = VFX.WaterPotArborioRice,
            Base.PotForged = VFX.WaterPotForgedArborioRice,
            Base.Bowl = VFX.ArborioRiceBowl,

            Base.Pot = Base.WaterPotRice,
            Base.PotForged = Base.WaterPotForgedRice,
            Base.Saucepan = Base.WaterSaucepanRice,
            Base.SaucepanCopper = Base.WaterSaucepanRiceCopper,
            Base.Bowl = Base.RiceBowl,
        }
    }

    craftRecipe VFX_PrepareFriedRice
    {
        timedAction = VFX.BowlMixing,
        Time = 80,
        Tags = AnySurfaceCraft;Cooking,
        category = Cooking,
        Tooltip = Tooltip_VFX_Recipe_RiceCooked,

        inputs
        {
            item 1 [Base.Pan;Base.PanForged] mappers[PanType] mode:destroy flags[InheritCondition],
            item 1 [VFX.WaterSaucepanBrownRice;VFX.WaterSaucepanCopperBrownRice;VFX.WaterPotBrownRice;VFX.WaterPotForgedBrownRice;VFX.BrownRiceBowl;VFX.WaterSaucepanJasmineRice;VFX.WaterSaucepanCopperJasmineRice;VFX.WaterPotJasmineRice;VFX.WaterPotForgedJasmineRice;VFX.JasmineRiceBowl;VFX.WaterSaucepanBasmatiRice;VFX.WaterSaucepanCopperBasmatiRice;VFX.WaterPotBasmatiRice;VFX.WaterPotForgedBasmatiRice;VFX.BasmatiRiceBowl;VFX.WaterSaucepanArborioRice;VFX.WaterSaucepanCopperArborioRice;VFX.WaterPotArborioRice;VFX.WaterPotForgedArborioRice;VFX.ArborioRiceBowl;Base.WaterPotRice;Base.WaterPotForgedRice;Base.WaterSaucepanRice;Base.WaterSaucepanRiceCopper;Base.RiceBowl] mappers[RicePotType] flags[ItemCount;IsCookedFoodItem],
            item 1 tags[base:egg] flags[IsUncookedFoodItem;InheritFoodAge;ItemCount],
        }

        outputs
        {
            item 1 mapper:PanType,
            item 1 mapper:RicePotType,
        }

        itemMapper PanType
        {
            Base.VFXFriedRicePreparation = Base.Pan,
            Base.VFXFriedRicePreparationForged = Base.PanForged,
        }

        itemMapper RicePotType
        {
            Base.Saucepan = VFX.WaterSaucepanBrownRice,
            Base.SaucepanCopper = VFX.WaterSaucepanCopperBrownRice,
            Base.Pot = VFX.WaterPotBrownRice,
            Base.PotForged = VFX.WaterPotForgedBrownRice,
            Base.Bowl = VFX.BrownRiceBowl,

            Base.Saucepan = VFX.WaterSaucepanJasmineRice,
            Base.SaucepanCopper = VFX.WaterSaucepanCopperJasmineRice,
            Base.Pot = VFX.WaterPotJasmineRice,
            Base.PotForged = VFX.WaterPotForgedJasmineRice,
            Base.Bowl = VFX.JasmineRiceBowl,

            Base.Saucepan = VFX.WaterSaucepanBasmatiRice,
            Base.SaucepanCopper = VFX.WaterSaucepanCopperBasmatiRice,
            Base.Pot = VFX.WaterPotBasmatiRice,
            Base.PotForged = VFX.WaterPotForgedBasmatiRice,
            Base.Bowl = VFX.BasmatiRiceBowl,

            Base.Saucepan = VFX.WaterSaucepanArborioRice,
            Base.SaucepanCopper = VFX.WaterSaucepanCopperArborioRice,
            Base.Pot = VFX.WaterPotArborioRice,
            Base.PotForged = VFX.WaterPotForgedArborioRice,
            Base.Bowl = VFX.ArborioRiceBowl,

            Base.Pot = Base.WaterPotRice,
            Base.PotForged = Base.WaterPotForgedRice,
            Base.Saucepan = Base.WaterSaucepanRice,
            Base.SaucepanCopper = Base.WaterSaucepanRiceCopper,
            Base.Bowl = Base.RiceBowl,
        }
    }

    craftRecipe VFX_GetBakedPotato
    {
        timedAction = VFX.TakeBakedPotato,
        time = 20,
        category = Cooking,
        Tags = InHandCraft;Cooking,
        ToolTip = Tooltip_Recipe_MustCookedGet,

        inputs
        {
            item 1 [Base.VFXBakedPotatoPreparation;Base.VFXBakedPotatoEvolved] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
        }

        outputs
        {
            item 2 Base.VFXBakedPotato,
            item 1 Base.RoastingPan,
        }
    }

    craftRecipe VFX_SliceCheesecake
    {
        timedAction = SliceFood_Surface,
        time = 20,
        category = Cooking,
        Tags = InHandCraft;Cooking,
        ToolTip = Tooltip_Recipe_MustCookedGet,

        inputs
        {
            item 1 tags[base:sharpknife;base:dullknife;base:meatcleaver] mode:keep flags[MayDegradeLight],
            item 1 [Base.VFXCheesecakePreparation;Base.VFXCheesecakeEvolved] flags[IsCookedFoodItem;InheritFoodAge;ItemCount],
        }

        outputs
        {
            item 5 Base.VFXCheesecakeSlice,
            item 1 Base.BakingPan,
        }
    }

}