module ZLBFRecipes
{
    import
    {
        Base
    }

    /************************ Pills ************************/
    craftRecipe TakeContraceptive {
        timedAction = ZLBF.TakePills,
        category = Health,
        time = 20,
        Tags = InHandCraft,
        OnTest = ZLBFRecipes.OnTest.TakeContraceptive,
        OnCreate = ZLBFRecipes.OnCreate.TakeContraceptive,
        inputs
        {
            item 1.0 [ZLBF.Contraceptive],
        }
        outputs
        {
        }
    }

    craftRecipe TakeLactaid {
        timedAction = ZLBF.TakePills,
        category = Health,
        time = 20,
        Tags = InHandCraft,
        OnTest = ZLBFRecipes.OnTest.TakeLactaid,
        OnCreate = ZLBFRecipes.OnCreate.TakeLactaid,
        inputs
        {
            item 1.0 [ZLBF.Lactaid],
        }
        outputs
        {
        }
    }

    /************************ Vaginal Cleaning ************************/
    craftRecipe ClearSperm
    {
        timedAction = ZLBF.CleanSelf,
        category = Health,
        time = 200,
        Tags = InHandCraft,
        OnTest = ZLBFRecipes.OnTest.ClearSperm,
        OnCreate = ZLBFRecipes.OnCreate.ClearSperm,
        inputs
        {
            item 1 [ZLBF.VaginalDouche] flags[Prop1;IsFull] mode:keep,
        }
        outputs
        {
        }
    }

        craftRecipe PushCum
    {
        timedAction = ZLBF.CleanSelf,
        category = Health,
        time = 100,
        Tags = InHandCraft;CanBeDoneInDark,
        OnTest = ZLBFRecipes.OnTest.PushCum,
        OnCreate = ZLBFRecipes.OnCreate.PushCum,
        inputs
        {
            item 1 [Base.PopBottle;Base.PopBottleRare;Base.WaterBottle;Base.MilkBottle;Base.Sportsbottle;Base.FeedingBottle;Base.BeerBottle;Base.BottleCrafted;Base.Bucket;Base.BucketEmpty;Base.BucketWood;Base.BucketForged;Base.BucketCarved;Base.Pot;Base.PotForged;Base.Saucepan;Base.SaucepanCopper;Base.Bowl;Base.ClayBowl] mode:keep flags[Prop2;NotFull;ItemCount],
        }
        outputs
        {
        }
    }
    
    /************************ Condom ************************/
    craftRecipe OpenCondomBox
    {
        timedAction = UnPackBox,
        category = Health,
        time = 20,
        Tags = InHandCraft;CanBeDoneInDark,
        recipeGroup = OpenBox,
        inputs
        {
            item 1 [ZLBF.CondomBox],
        }
        outputs
        {
            item 10 ZLBF.Condom,
        }
    }

    craftRecipe PlaceCondomsInBox
    {
        timedAction = PackingBox,
        category = Health,
        time = 20,
        Tags = InHandCraft;CanBeDoneInDark,
        inputs
        {
            item 10 [ZLBF.Condom],
        }
        outputs
        {
            item 1 ZLBF.CondomBox,
        }
    }
    
    /************************ Milk ************************/
    craftRecipe HandExpression
    {
        timedAction = ZLBF.PumpMilk,
        category = Cooking,
        time = 600,
        xpAward = Cooking:3,
        Tags = InHandCraft;Cooking,
        OnTest = ZLBFRecipes.OnTest.HandExpress,
        OnCreate = ZLBFRecipes.OnCreate.HandExpress,
        inputs
        {
            item 1 [Base.PopBottle;Base.PopBottleRare;Base.WaterBottle;Base.MilkBottle;Base.Sportsbottle;Base.FeedingBottle;Base.BeerBottle;Base.BottleCrafted;Base.Bucket;Base.BucketEmpty;Base.BucketWood;Base.BucketForged;Base.BucketCarved;Base.Pot;Base.PotForged;Base.Saucepan;Base.SaucepanCopper;Base.Bowl;Base.ClayBowl] mode:keep flags[Prop2;NotFull;ItemCount],
        }
        outputs
        {
        }
    }

    craftRecipe PumpMilk
    {
        timedAction = ZLBF.PumpMilk,
        category = Cooking,
        time = 400,
        xpAward = Cooking:3,
        Tags = InHandCraft;Cooking,
        OnTest = ZLBFRecipes.OnTest.BreastPump,
        OnCreate = ZLBFRecipes.OnCreate.BreastPump,
        inputs
        {
            item 1 [ZLBF.BreastPump] flags[Prop1] mode:keep,
            item 1 [Base.PopBottle;Base.PopBottleRare;Base.WaterBottle;Base.MilkBottle;Base.Sportsbottle;Base.FeedingBottle;Base.BeerBottle;Base.BottleCrafted;Base.Bucket;Base.BucketEmpty;Base.BucketWood;Base.BucketForged;Base.BucketCarved;Base.Pot;Base.PotForged;Base.Saucepan;Base.SaucepanCopper;Base.Bowl;Base.ClayBowl] mode:keep flags[Prop2;NotFull;ItemCount],
        }
        outputs
        {
        }
    }

    /************************ Baby ************************/
    craftRecipe BreastFeedBaby
    {
        timedAction = ZLBF.FeedBaby,
        time = 500,
        category = Cooking,
        Tags = InHandCraft;Cooking,
        OnTest = ZLBFRecipes.OnTest.BreastFeedBaby,
        OnCreate = ZLBFRecipes.OnCreate.BreastFeedBaby,
        inputs
        {
            item 1 [ZLBF.Baby] mode:keep,
        }
        outputs
        {
        }
    }

    craftRecipe BottleFeedBaby
    {
        timedAction = ZLBF.FeedBaby,
        time = 500,
        category = Cooking,
        Tags = InHandCraft;Cooking,
        OnTest = ZLBFRecipes.OnTest.BottleFeedBaby,
        OnCreate = ZLBFRecipes.OnCreate.BottleFeedBaby,
        inputs
        {
            item 1 [Base.PopBottle;Base.PopBottleRare;Base.WaterBottle;Base.MilkBottle;Base.Sportsbottle;Base.FeedingBottle;Base.BeerBottle;Base.BottleCrafted] mode:keep flags[Prop1],
            -fluid 0.2 [ZLBF.HumanMilk]
        }
        outputs
        {
        }
    }
}
