module Base
{
	craftRecipe CraftThreadAdapter
	{
		timedAction = Welding,
		Time = 200,
		SkillRequired = MetalWelding:3,
		OnTest = Guns93OnTestGuns93DIYSilencerDistro,
		Tags = AnySurfaceCraft,
        category = Metalworking,
		xpAward = MetalWelding:25,
		inputs
		{
			item 1 [Base.ScrapMetal],
			item 1 tags[base:MetalSaw] mode:keep flags[MayDegrade],
			item 1 tags[base:File] mode:keep flags[Prop1;MayDegrade],
			item 1 [Base.TapDie] mode:keep,
		}
		outputs
		{
			item 4 Base.ThreadAdapter,
		}
	}

	craftRecipe CraftOilFilterSilencer
	{
        timedAction = Making,
		Time = 50,
		category = Assembly,
        Tags = InHandCraft,
		inputs
		{
			item 1 [Base.OilFilter;Base.OilFilterUse;Base.LargeOilFilter;Base.LargeOilFilterUse] flags[InheritCondition] mappers[filterType],
			item 1 [Base.ThreadAdapter],
		}
		outputs
		{
			item 1 mapper:filterType,
		}
        	itemMapper filterType
        	{
			Base.OilFilterSilencer = Base.OilFilter,
			Base.OilFilterSilencer = Base.OilFilterUse,
			Base.LargeOilFilterSilencer = Base.LargeOilFilter,
			Base.LargeOilFilterSilencer = Base.LargeOilFilterUse,
		}
	}

	craftRecipe DisassembleOilFilterSilencer
	{
        timedAction = Making,
		Time = 50,
		category = Assembly,
		OnCreate = Guns93OnCreateDisassembleOilFilterSilencer,
        Tags = InHandCraft,
		inputs
		{
			item 1 [Base.OilFilterSilencer;Base.LargeOilFilterSilencer] flags[InheritCondition] mappers[filterType],
		}
		outputs
		{
			item 1 mapper:filterType,
		}
        	itemMapper filterType
        	{
			Base.OilFilterUse = Base.OilFilterSilencer,
			Base.LargeOilFilterUse = Base.LargeOilFilterSilencer,
		}
	}

	craftRecipe Craft22LRSilencer
	{
		timedAction = Welding,
		Time = 200,
		NeedToBeLearn = True,
		SkillRequired = MetalWelding:3,
		Tags = InHandCraft;Welding,
        category = Metalworking,
		xpAward = MetalWelding:25,
		AutoLearnAny = Aiming:5,
		OnTest = Guns93OnTestGuns93DIYSilencerDistro,
		inputs
		{
			item 1 [Base.MetalPipe],
			item 1 [Base.SmallSheetMetal],
			item 2 [Base.BlowTorch],
			item 1 tags[base:weldingmask] mode:keep,
			item 1 tags[base:File] mode:keep,
			item 1 [Base.TapDie] mode:keep,
		}
		outputs
		{
			item 1 Base.DIY22Silencer,
		}
	}

	craftRecipe Craft9mmSilencer
	{
		timedAction = Welding,
		Time = 200,
		NeedToBeLearn = True,
		SkillRequired = MetalWelding:4,
		Tags = InHandCraft;Welding,
        category = Metalworking,
		xpAward = MetalWelding:25,
		AutoLearnAny = Aiming:6,
		OnTest = Guns93OnTestGuns93DIYSilencerDistro,
		inputs
		{
			item 1 [Base.MetalPipe],
			item 2 [Base.SmallSheetMetal],
			item 2 [Base.BlowTorch],
			item 1 tags[base:weldingmask] mode:keep,
			item 1 tags[base:File] mode:keep,
			item 1 [Base.TapDie] mode:keep,
		}
		outputs
		{
			item 1 Base.DIY9mmSilencer,
		}
	}

	craftRecipe Craft45Silencer
	{
		timedAction = Welding,
		Time = 200,
		NeedToBeLearn = True,
		SkillRequired = MetalWelding:3,
		Tags = InHandCraft;Welding,
        category = Metalworking,
		xpAward = MetalWelding:25,
		AutoLearnAny = Aiming:5,
		OnTest = Guns93OnTestGuns93DIYSilencerDistro,
		inputs
		{
			item 1 [Base.MetalPipe],
			item 2 [Base.SmallSheetMetal],
			item 2 [Base.BlowTorch],
			item 1 tags[base:weldingmask] mode:keep,
			item 1 tags[base:File] mode:keep,
			item 1 [Base.TapDie] mode:keep,
		}
		outputs
		{
			item 1 Base.DIY45Silencer,
		}
	}

	craftRecipe Craft556Silencer
	{
		timedAction = Welding,
		Time = 200,
		NeedToBeLearn = True,
		SkillRequired = MetalWelding:4,
		Tags = InHandCraft;Welding,
        category = Metalworking,
		xpAward = MetalWelding:25,
		AutoLearnAny = Aiming:6,
		OnTest = Guns93OnTestGuns93DIYSilencerDistro,
		inputs
		{
			item 1 [Base.MetalPipe],
			item 2 [Base.SmallSheetMetal],
			item 2 [Base.BlowTorch],
			item 1 tags[base:weldingmask] mode:keep,
			item 1 tags[base:File] mode:keep,
			item 1 [Base.TapDie] mode:keep,
		}
		outputs
		{
			item 1 Base.DIY556Silencer,
		}
	}

	craftRecipe Craft30Silencer
	{
		timedAction = Welding,
		Time = 200,
		NeedToBeLearn = True,
		SkillRequired = MetalWelding:4,
		Tags = InHandCraft;Welding,
        category = Metalworking,
		xpAward = MetalWelding:25,
		AutoLearnAny = Aiming:6,
		OnTest = Guns93OnTestGuns93DIYSilencerDistro,
		inputs
		{
			item 1 [Base.MetalPipe],
			item 2 [Base.SmallSheetMetal],
			item 2 [Base.BlowTorch],
			item 1 tags[base:weldingmask] mode:keep,
			item 1 tags[base:File] mode:keep,
			item 1 [Base.TapDie] mode:keep,
		}
		outputs
		{
			item 1 Base.DIY30Silencer,
		}
	}

	craftRecipe Craft8mmSilencer
	{
		timedAction = Welding,
		Time = 200,
		NeedToBeLearn = True,
		SkillRequired = MetalWelding:4,
		Tags = InHandCraft;Welding,
        category = Metalworking,
		xpAward = MetalWelding:25,
		AutoLearnAny = Aiming:6,
		OnTest = Guns93OnTestGuns93DIYSilencerDistro,
		inputs
		{
			item 1 [Base.MetalPipe],
			item 2 [Base.SmallSheetMetal],
			item 2 [Base.BlowTorch],
			item 1 tags[base:weldingmask] mode:keep,
			item 1 tags[base:File] mode:keep,
			item 1 [Base.TapDie] mode:keep,
		}
		outputs
		{
			item 1 Base.DIY8mmSilencer,
		}
	}

	craftRecipe Craft12gaSilencer
	{
		timedAction = Welding,
		Time = 200,
		NeedToBeLearn = True,
		SkillRequired = MetalWelding:5,
		Tags = InHandCraft;Welding,
        category = Metalworking,
		xpAward = MetalWelding:25,
		AutoLearnAny = Aiming:7,
		OnTest = Guns93OnTestGuns93DIYSilencerDistro,
		inputs
		{
			item 1 [Base.MetalPipe],
			item 2 [Base.SmallSheetMetal],
			item 2 [Base.BlowTorch],
			item 1 tags[base:weldingmask] mode:keep,
			item 1 tags[base:File] mode:keep,
			item 1 [Base.TapDie] mode:keep,
		}
		outputs
		{
			item 1 Base.DIY12gaSilencer,
		}
	}

	craftRecipe InstallBooster
	{
        timedAction = Making,
		Time = 10,
		category = Assembly,
        Tags = InHandCraft,
		inputs
		{
			item 1 [Base.9mmSilencer;Base.DIY9mmSilencer;Base.45Silencer;Base.DIY45Silencer] mode:destroy mappers[silencerType] flags[ItemCount;InheritCondition],
			item 1 [Base.CanBooster],
		}
		outputs
		{
			item 1 mapper:silencerType,
		}
        	itemMapper silencerType
        	{
			Base.9mmBoostedSilencer = Base.9mmSilencer,
			Base.DIY9mmBoostedSilencer = Base.DIY9mmSilencer,
			Base.45BoostedSilencer = Base.45Silencer,
			Base.DIY45BoostedSilencer = Base.DIY45Silencer,
		}
	}

	craftRecipe RemoveBooster
	{
        timedAction = Making,
		Time = 10,
		category = Assembly,
		OnCreate = Guns93OnCreateDisassembleBoostedSilencer,
        Tags = InHandCraft,
		inputs
		{
			item 1 [Base.9mmBoostedSilencer;Base.DIY9mmBoostedSilencer;Base.45BoostedSilencer;Base.DIY45BoostedSilencer] mode:destroy mappers[boosterType] flags[ItemCount;InheritCondition],
		}
		outputs
		{
			item 1 mapper:boosterType,
		}
        	itemMapper boosterType
        	{
			Base.9mmSilencer = Base.9mmBoostedSilencer,
			Base.DIY9mmSilencer = Base.DIY9mmBoostedSilencer,
			Base.45Silencer = Base.45BoostedSilencer,
			Base.DIY45Silencer = Base.DIY45BoostedSilencer,
		}
	}
}