module Base
{	
    /************************ Rims ************************/

    craftRecipe damnCraftMakeSmallSteelRim
	{
        timedAction = Welding,
        time = 200,
        Tags = InHandCraft;Welding,
        category = Metalworking,
        xpAward = MetalWelding:10,
        SkillRequired = MetalWelding:4,

        inputs
        {
            item 1 [Base.ScrapMetal],
            item 3 [Base.SmallSheetMetal],
			item 4 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SteelRimSmall,
        }
	}

    craftRecipe damnCraftMakeMediumSteelRim
	{
        timedAction = Welding,
        time = 300,
        Tags = InHandCraft;Welding,
        category = Metalworking,
        xpAward = MetalWelding:10,
        SkillRequired = MetalWelding:4,

        inputs
        {
            item 2 [Base.ScrapMetal],
            item 5 [Base.SmallSheetMetal],
			item 5 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SteelRimMedium,
        }
	}

    craftRecipe damnCraftMakeLargeSteelRim
	{
        timedAction = Welding,
        time = 400,
        Tags = InHandCraft;Welding,
        category = Metalworking,
        xpAward = MetalWelding:10,
        SkillRequired = MetalWelding:4,

        inputs
        {
            item 3 [Base.ScrapMetal],
            item 7 [Base.SmallSheetMetal],
			item 6 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SteelRimLarge,
        }
	}

    /************************ Universal Tires ************************/

    craftRecipe damnCraftMakeSmallTire1
	{
        timedAction = Making,
        time = 150,
        Tags = InHandCraft,
        SkillRequired = Mechanics:2,
        category = Mechanical,
        xpAward = Mechanics:2,
        OnCreate = DAMN.OnCreate.PassSecondCond,

        inputs
        {
            item 1 [damnCraft.SteelRimSmall],
            item 1 [damnCraft.TireRubberNewSmall;damnCraft.TireRubberUsedSmall;damnCraft.TireRubberDestroyedSmall] mode:destroy,
            item 1 [Base.Crowbar] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SmallTire1,
        }
	}

    craftRecipe damnCraftMakeSmallTire2
	{
        timedAction = Making,
        time = 150,
        Tags = InHandCraft,
        SkillRequired = Mechanics:2,
        category = Mechanical,
        xpAward = Mechanics:2,
        OnCreate = DAMN.OnCreate.PassSecondCond,

        inputs
        {
            item 1 [damnCraft.SteelRimSmall],
            item 1 [damnCraft.TireRubberNewSmall;damnCraft.TireRubberUsedSmall;damnCraft.TireRubberDestroyedSmall] mode:destroy,
            item 1 [Base.Crowbar] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SmallTire2,
        }
	}

    /************************ Rubber Strips ************************/

    craftRecipe damnCraftMakeRubberStrips
	{
        timedAction = Making,
        time = 200,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:1,
        SkillRequired = Mechanics:1,
        OnCreate = DAMN.OnCreate.MakeRubberStrips,

        inputs
        {
            item 1 [damnCraft.TireRubberNewSmall;damnCraft.TireRubberUsedSmall;damnCraft.TireRubberDestroyedSmall;damnCraft.TireRubberNewLarge;damnCraft.TireRubberUsedLarge;damnCraft.TireRubberDestroyedLarge] mode:destroy,
            item 1 tags[SharpKnife] mode:keep flags[Prop1;IsNotDull;MayDegradeLight],
        }
        outputs
        {
            item 1 damnCraft.RubberStrip,
        }
	}

    craftRecipe damnCraftMakeTirePiece
	{
        timedAction = Making,
        time = 200,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:1,
        SkillRequired = Mechanics:1,

        inputs
        {
            item 1 [Base.Glue],
            item 2 [damnCraft.RubberStrip] mode:destroy,
            item 1 tags[SharpKnife] mode:keep flags[Prop1;IsNotDull;MayDegradeLight],
        }
        outputs
        {
            item 2 Base.TirePiece,
        }
	}

    /************************ Tire Repair Kit ************************/

   craftRecipe damnCraftOpenTireRepairKit
	{
        timedAction = Making,
        time = 50,
        Tags = InHandCraft;CanBeDoneInDark,

        inputs
        {
            item 1 [damnCraft.TireRepairKit],
        }
        outputs
        {
            item 1 damnCraft.TireRepairTools,
            item 1 damnCraft.TireRepairRubberSolution,
            item 1 damnCraft.TireRepairStrips,
        }
	}

    /************************ Plastic Welding Kit ************************/

    craftRecipe damnCraftOpenPlasticWeldingKit
	{
        timedAction = Making,
        time = 50,
        Tags = InHandCraft;CanBeDoneInDark,

        inputs
        {
            item 1 [damnCraft.PlasticWeldingKit],
        }
        outputs
        {
            item 1 damnCraft.PlasticWeldingGun,
            item 1 damnCraft.PlasticWeldingStaples100Pack,
        }
	}

    craftRecipe damnCraftRemoveBatteryFromPlasticWeldingGun
	{
        timedAction = MakingElectrical,
        time = 40,
        AllowBatchCraft = False,
        Tags = InHandCraft;CanBeDoneInDark,
        category = Electrical,
        OnCreate = DAMN.OnCreate.PlasticWeldingGunBatteryRemoval,

        inputs
        {
            item 1 [damnCraft.PlasticWeldingGun] mode:keep flags[NotEmpty],
        }
        outputs
        {
            item 1 Base.Battery,
        }
	}

    craftRecipe damnCraftInsertBatteryIntoPlasticWeldingGun
	{
        timedAction = MakingElectrical,
        time = 40,
        Tags = InHandCraft;CanBeDoneInDark,
        category = Electrical,
        OnCreate = DAMN.OnCreate.PlasticWeldingGunBatteryInsert,

        inputs
        {
            item 1 [damnCraft.PlasticWeldingGun] mode:destroy flags[IsEmpty],
            item 1 [Base.Battery] mode:destroy,
        }
        outputs
        {
            item 1 damnCraft.PlasticWeldingGun,
        }
	}

    /************************ Rubber Mounts ************************/

    craftRecipe damnCraftMakeSmallTireRubberMount
    {
        timedAction = Welding,
        time = 100,
        Tags = InHandCraft;Welding,
        category = Metalworking,
        xpAward = MetalWelding:10,
        SkillRequired = MetalWelding:3,

        inputs
        {
            item 1 [Base.MetalBar],
            item 4 [Base.ScrapMetal],
			item 4 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.TireRubberMountSmall,
        }
    }

    craftRecipe damnCraftAddSmallTireRubberToMount
    {
        timedAction = Making,
        time = 25,
        Tags = InHandCraft,
        OnCreate = DAMN.OnCreate.PassSecondCond,

        inputs
        {
            item 1 [damnCraft.TireRubberMountSmall] mode:destroy,
            item 1 [damnCraft.TireRubberNewSmall;damnCraft.TireRubberUsedSmall;damnCraft.TireRubberDestroyedSmall] mode:destroy,
        }
        outputs
        {
            item 1 damnCraft.TireRubberMountedSmall,
        }
    }

    craftRecipe damnCraftMakeLargeTireRubberMount
    {
        timedAction = Welding,
        time = 120,
        Tags = InHandCraft;Welding,
        category = Metalworking,
        xpAward = MetalWelding:15,
        SkillRequired = MetalWelding:3,

        inputs
        {
            item 1 [Base.MetalBar],
            item 6 [Base.ScrapMetal],
			item 5 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.TireRubberMountLarge,
        }
    }

    craftRecipe damnCraftAddLargeTireRubberToMount
    {
        timedAction = Making,
        time = 30,
        Tags = InHandCraft,
        OnCreate = DAMN.OnCreate.PassSecondCond,

        inputs
        {
            item 1 [damnCraft.TireRubberMountLarge] mode:destroy,
            item 1 [damnCraft.TireRubberNewLarge;damnCraft.TireRubberUsedLarge;damnCraft.TireRubberDestroyedLarge] mode:destroy,
        }
        outputs
        {
            item 1 damnCraft.TireRubberMountedLarge,
        }
    }

    /************************ Seats ************************/

    craftRecipe damnCraftMakeSmallSeatFrame
    {
        timedAction = Welding,
        time = 150,
        Tags = InHandCraft;Welding,
        category = Mechanical,
        xpAward = MetalWelding:10,
        SkillRequired = MetalWelding:3,

        inputs
        {
            item 1 [Base.SheetMetal],
            item 2 [Base.ScrapMetal],
			item 4 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SeatFrameSmall,
        }
    }

    craftRecipe damnCraftMakeLargeSeatFrame
    {
        timedAction = Welding,
        time = 250,
        Tags = InHandCraft;Welding,
        category = Mechanical,
        xpAward = MetalWelding:15,
        SkillRequired = MetalWelding:3,

        inputs
        {
            item 2 [Base.SheetMetal],
            item 4 [Base.ScrapMetal],
			item 8 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SeatFrameLarge,
        }
    }

    craftRecipe damnCraftMakeSeatFoamFromPillow
    {
        timedAction = Sew,
        time = 150,
        Tags = AnySurfaceCraft,
        category = Tailoring,
        xpAward = Tailoring:50,
        SkillRequired = Tailoring:1,

        inputs
        {
            item 1 tags[NormalPillow],
            item 2 [Base.Thread],
            item 1 tags[SewingNeedle] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SeatFoam,
        }
    }

    craftRecipe damnCraftMakeSeatFoamFromStyroSheet
    {
        timedAction = Sew,
        time = 150,
        Tags = AnySurfaceCraft,
        category = Tailoring,
        xpAward = Tailoring:50,
        SkillRequired = Tailoring:1,

        inputs
        {
            item 1 [damnCraft.styrofoamSheet],
            item 2 [Base.Thread],
            item 1 tags[SewingNeedle] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SeatFoam,
        }
    }

    craftRecipe damnCraftMakeSeatFabricFromFabricRoll
    {
        timedAction = Sew,
        time = 150,
        Tags = AnySurfaceCraft,
        category = Tailoring,
        xpAward = Tailoring:50,
        SkillRequired = Tailoring:1,

        inputs
        {
            item 1 [Base.FabricRoll_Cotton;Base.FabricRoll_DenimBlack;Base.FabricRoll_DenimBlue],
            item 2 [Base.Thread],
            item 1 tags[SewingNeedle] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SeatFabric,
        }
    }

    craftRecipe damnCraftMakeSeatFabricFromBurlapTowel
    {
        timedAction = Sew,
        time = 250,
        Tags = AnySurfaceCraft,
        category = Tailoring,
        xpAward = Tailoring:50,
        SkillRequired = Tailoring:1,

        inputs
        {
            item 5 [Base.BurlapPiece;Base.BathTowel;Base.DishCloth],
            item 2 [Base.Thread],
            item 1 tags[SewingNeedle] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.SeatFabric,
        }
    }

    /************************ Plastic Molds ************************/

    craftRecipe damnCraftMakeWoodenMoldBox
    {
        timedAction = Making,
        time        = 200,
        tags = AnySurfaceCraft;Carpentry,
        category = Carpentry,
        xpAward = Woodwork:5,
        SkillRequired = Woodwork:3,

        inputs
        {
            item 5 [Base.Plank],
            item 2 [Base.Nails],
            item 1 tags[Hammer] mode:keep flags[MayDegradeLight],
        }
        outputs
        {
            item 1 damnCraft.woodenMoldBox,
        }
    }

    craftRecipe damnCraftMakePlasterMold
	{
        timedAction = MixingBucket,
        time = 100,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:10,
        SkillRequired = Mechanics:3,
        OnCreate = DAMN.OnCreate.MakePlasterMold,

        inputs
        {
            item 1 tags[damnlib:damnPlasticBumper;damnlib:damnPlasticSitesteps;damnlib:damnPlasticSidesteps;damnlib:damnPlasticPart;damnlib:damnSpoiler;damnlib:damnSnorkel;damnlib:damnBodykit] mode:destroy,
            item 1 [damnCraft.woodenMoldBox],
            item 1 [Base.Garbagebag],
            item 10 [Base.BucketPlasterFull],
        }
        outputs
        {
            item 1 damnCraft.genericMold,
        }
	}

    craftRecipe damnCraftRemoveOldPartFromMold
	{
        timedAction = Making,
        time = 100,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:1,
        OnCreate = DAMN.OnCreate.RemoveOldPartFromMold,

        inputs
        {
            item 1 tags[Screwdriver] mode:keep flags[MayDegradeLight;NoBrokenItems],
            item 1 [damnCraft.genericMold] mode:destroy flags[IsCookedFoodItem],
        }
        outputs
        {
            item 1 damnCraft.genericNegativeMold,
            item 1 damnCraft.woodenMoldBox,
        }
	}

    craftRecipe damnCraftCrushStyrofoamSheet
	{
        timedAction = Making,
        time = 50,
        Tags = InHandCraft,
        category = Mechanical,

        inputs
        {
            item 1 [damnCraft.styrofoamSheet],
        }
        outputs
        {
            item 3 damnCraft.styrofoamScraps,
        }
	}

    craftRecipe damnCraftCrushStyrofoamPackage
	{
        timedAction = Making,
        time = 50,
        Tags = InHandCraft,
        category = Mechanical,

        inputs
        {
            item 1 [Base.TakeoutBox_Styrofoam],
        }
        outputs
        {
            item 1 damnCraft.styrofoamScraps,
        }
	}

    craftRecipe damnCraftMakeStyrofoamPaste
	{
        timedAction = MixingBucket,
        time = 100,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:3,
        SkillRequired = Mechanics:1,

        inputs
        {
            item 1 [damnCraft.acetoneCan;damnCraft.acetoneJug],
            item 3 [damnCraft.styrofoamScraps],
            item 1 [Base.Bucket;Base.BucketEmpty;Base.BucketWaterDebug] mode:destroy,
        }
        outputs
        {
            item 1 damnCraft.BucketStyrofoamPaste,
        }
	}

    craftRecipe damnCraftPourPasteInMold
	{
        timedAction = Making,
        time = 100,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:3,
        SkillRequired = Mechanics:3,
        OnCreate = DAMN.OnCreate.PourPasteInMold,

        inputs
        {
            item 1 [damnCraft.genericNegativeMold] mode:destroy,
            item 10 [damnCraft.BucketStyrofoamPaste],
        }
        outputs
        {
            item 1 damnCraft.genericFilledMold,
        }
	}

    craftRecipe damnCraftRemoveNewPartFromMold
	{
        timedAction = Making,
        time = 100,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:1,
        OnCreate = DAMN.OnCreate.RemoveNewPartFromMold,

        inputs
        {
            item 1 tags[Screwdriver] mode:keep flags[MayDegradeLight;NoBrokenItems],
            item 1 [damnCraft.genericFilledMold] mode:destroy flags[IsCookedFoodItem],
        }
        outputs
        {
        }
	}

    /************************ Hinges ************************/

    craftRecipe damnCraftMakeSmallVehicleHinge
    {
        timedAction = Welding,
        time = 150,
        Tags = InHandCraft;Welding,
        category = Mechanical,
        xpAward = MetalWelding:10,
        SkillRequired = MetalWelding:5,

        inputs
        {
            item 1 [Base.SmallSheetMetal],
            item 1 [Base.Screws],
			item 2 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.HingeSmall,
        }
    }

    craftRecipe damnCraftMakeLargeVehicleHinge
    {
        timedAction = Welding,
        time = 150,
        Tags = InHandCraft;Welding,
        category = Mechanical,
        xpAward = MetalWelding:15,
        SkillRequired = MetalWelding:5,

        inputs
        {
            item 1 [Base.SmallSheetMetal],
            item 2 [Base.Screws],
			item 3 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.HingeLarge,
        }
    }

    /************************ Handle ************************/

    craftRecipe damnCraftMakeClassicVehicleHandle
    {
        timedAction = Welding,
        time = 150,
        Tags = InHandCraft;Welding,
        category = Mechanical,
        xpAward = MetalWelding:10,
        SkillRequired = MetalWelding:5,

        inputs
        {
            item 1 [Base.SmallSheetMetal],
            item 1 [damnCraft.RubberStrip],
            item 1 [Base.Screws],
			item 2 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.HandleClassic,
        }
    }

    craftRecipe damnCraftMakeModernVehicleHandle
    {
        timedAction = Welding,
        time = 150,
        Tags = InHandCraft;Welding,
        category = Mechanical,
        xpAward = MetalWelding:15,
        SkillRequired = MetalWelding:5,

        inputs
        {
            item 1 [Base.SmallSheetMetal],
            item 1 [damnCraft.RubberStrip],
            item 2 [Base.Screws],
			item 3 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.HandleModern,
        }
    }

    /************************ Sus ************************/

    craftRecipe damnCraftMakeLeafSuspension
	{
        timedAction = Welding,
        time = 200,
        Tags = InHandCraft;Welding,
        category = Metalworking,
        xpAward = MetalWelding:10,
        SkillRequired = MetalWelding:3,

        inputs
        {
            item 3 [Base.SheetMetal],
            item 2 [Base.SmallSheetMetal],
			item 5 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.leafSuspension2,
        }
	}

    /************************ Tire Rubber ************************/

    craftRecipe damnCraftMakeTireRubberUsedSmall
	{
        timedAction = Making,
        time = 200,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:1,
        SkillRequired = Mechanics:1,

        inputs
        {
            item 4 [Base.TirePiece] mode:destroy,
            item 2 [damnCraft.RubberStrip] mode:destroy,
            item 4 [Base.Glue],
        }
        outputs
        {
            item 1 damnCraft.TireRubberUsedSmall,
        }
	}

    craftRecipe damnCraftMakeTireRubberNewSmall
	{
        timedAction = Making,
        time = 200,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:2,
        SkillRequired = Mechanics:2,
        OnCreate = DAMN.OnCreate.GunRubberCrafting,

        inputs
        {
            item 1 [damnCraft.PlasticWeldingGun] mode:keep,
            item 4 [Base.TirePiece] mode:destroy,
            item 2 [damnCraft.RubberStrip] mode:destroy,
            item 3 [damnCraft.PlasticWeldingStaples100Pack],
        }
        outputs
        {
            item 1 damnCraft.TireRubberNewSmall,
        }
	}

    craftRecipe damnCraftMakeTireRubberUsedLarge
	{
        timedAction = Making,
        time = 200,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:1,
        SkillRequired = Mechanics:1,

        inputs
        {
            item 6 [Base.TirePiece] mode:destroy,
            item 2 [damnCraft.RubberStrip] mode:destroy,
            item 6 [Base.Glue],
        }
        outputs
        {
            item 1 damnCraft.TireRubberUsedLarge,
        }
	}

    craftRecipe damnCraftMakeTireRubberNewLarge
	{
        timedAction = Making,
        time = 200,
        Tags = InHandCraft,
        category = Mechanical,
        xpAward = Mechanics:2,
        SkillRequired = Mechanics:2,
        OnCreate = DAMN.OnCreate.GunRubberCrafting,

        inputs
        {
            item 1 [damnCraft.PlasticWeldingGun] mode:keep,
            item 6 [Base.TirePiece] mode:destroy,
            item 2 [damnCraft.RubberStrip] mode:destroy,
            item 4 [damnCraft.PlasticWeldingStaples100Pack],
        }
        outputs
        {
            item 1 damnCraft.TireRubberNewLarge,
        }
	}

    /************************ Roofracks ************************/

    craftRecipe damnCraftMakeSmallVintageRoofrack
	{
        timedAction = Welding,
        time = 200,
        Tags = InHandCraft;Welding,
        category = Mechanical,
        xpAward = MetalWelding:20,
        SkillRequired = MetalWelding:5,
        NeedToBeLearn = True,

        inputs
        {
            item 2 [Base.SheetMetal],
            item 3 [Base.SmallSheetMetal],
            item 4 [Base.MetalPipe],
            item 2 [Base.Screws],
            item 1 [Base.Tarp],
			item 6 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 Base.OldSmallRoofrack3,
        }
	}

    craftRecipe damnCraftMakeModernSmallRoofrack
	{
        timedAction = Welding,
        time = 200,
        Tags = InHandCraft;Welding,
        category = Mechanical,
        xpAward = MetalWelding:20,
        SkillRequired = MetalWelding:4,
        NeedToBeLearn = True,

        inputs
        {
            item 5 [Base.SheetMetal],
            item 3 [Base.SmallSheetMetal],
            item 2 [Base.Screws],
			item 8 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 Base.ModernSmallRoofrack3,
        }
	}

    craftRecipe damnCraftMakeModernLargeRoofrack
	{
        timedAction = Welding,
        time = 220,
        Tags = InHandCraft;Welding,
        category = Mechanical,
        xpAward = MetalWelding:25,
        SkillRequired = MetalWelding:4,
        NeedToBeLearn = True,

        inputs
        {
            item 7 [Base.SheetMetal],
            item 4 [Base.SmallSheetMetal],
            item 2 [Base.Screws],
			item 10 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 Base.ModernLargeRoofrack3,
        }
	}

    /************************ Hubcaps ************************/

    craftRecipe damnCraftMakeHubcapApoc
	{
        timedAction = Welding,
        time = 200,
        Tags = InHandCraft;Welding,
        category = Metalworking,
        xpAward = MetalWelding:10,
        SkillRequired = MetalWelding:2,

        inputs
        {
            item 3 [Base.ScrapMetal],
			item 4 [Base.BlowTorch],
            item 1 tags[WeldingMask] mode:keep,
        }
        outputs
        {
            item 1 damnCraft.HubcapApoc,
        }
	}
    
}