///MMSEV - supports 4 crew for 10 days///
@PART[Benjee10_MMSEV,Benjee10_MMSEV_baseLander,Benjee10_MMSEV_baseLander]:NEEDS[SnacksUtils]
{
	RESOURCE
	{
		name = Snacks
		amount = 120
		maxAmount = 120
	}
	RESOURCE:NEEDS[SnacksFreshAir]
	{
		name = FreshAir
		amount = 40
		maxAmount = 40
	}
	RESOURCE:NEEDS[SnacksStress]
	{
		name = HydrazineVodka
		amount = 17
		maxAmount = 17
	}
}

///3.75m NODE - supports 6 crew for 33 days///
///LAB - supports 2 crew for 33 days///
@PART[Benjee10_MMSEV_baseHDU,Benjee10_MMSEV_baseLab]:NEEDS[SnacksUtils]
{
	MODULE
	{
		name = SnackProcessor
		ConverterName = Snack Processor
		StartActionName = Start Snack Processor
		StopActionName = Stop Snack Processor
		AutoShutdown = false
		GeneratesHeat = false
		UseSpecialistBonus = true
		UseSpecializationBonus = true
		SpecialistEfficiencyFactor = 0.1
		ExperienceEffect = ScienceSkill
		EfficiencyBonus = 1.0
		 
		//Ore masses 0.01 metric tons per unit
		INPUT_RESOURCE
		{
			ResourceName = Ore
			Ratio = 0.002
			FlowMode = STAGE_PRIORITY_FLOW
  		}

		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 30
			FlowMode = STAGE_PRIORITY_FLOW
		}

		//Snacks masses 0.001 metric tons per unit
		//1 Ore = 5 Snacks, not all of the ore is usable...
		OUTPUT_RESOURCE
		{
			ResourceName = Snacks
			Ratio = 0.001
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		}
	}

	RESOURCE
	{
		name = Snacks
		amount = 594
		maxAmount = 594
	}
	RESOURCE:NEEDS[SnacksFreshAir]
	{
		name = FreshAir
		amount = 198
		maxAmount = 198
	}
	RESOURCE:NEEDS[SnacksStress]
	{
		name = HydrazineVodka
		amount = 17
		maxAmount = 17
	}
}

///3.75m HAB - supports 6 crew for 66 days///
// Has recycling
@PART[Benjee10_MMSEV_baseHabShort]:NEEDS[SnacksUtils]
{
	//This is calibrated for 6 kerbals at 100% efficiency when then consume
	//1 snack per meal and 1 meal per day.
	//In game, the player can adjust the efficiency of the recycler from 10% to 100%.
	//Given the dynamic nature, the input/output ratio is ALWAYS set to 0.00004630,
	//which gives a daily input/output of 1.00008 per day. The recycler will then adjust
	//the input/output ratio based upon RecyclerCapacity and recycler efficiency.
	MODULE
	{
		name = SoilRecycler
		ConverterName = Soil Recycler
		StartActionName = Start Soil Recycler
		StopActionName = Stop Soil Recycler
		AutoShutdown = false
		GeneratesHeat = false
		UseSpecialistBonus = true
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1.0
		RecyclerCapacity = 6
	 
		INPUT_RESOURCE
		{
			ResourceName = Soil
			Ratio = 0.00004630
			FlowMode = ALL_VESSEL
  		}

		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 3
			FlowMode = STAGE_PRIORITY_FLOW
		}

		OUTPUT_RESOURCE
		{
			ResourceName = Snacks
			Ratio = 0.00004630
			DumpExcess = false
			FlowMode = ALL_VESSEL
		}
	}

	MODULE:NEEDS[SnacksStress]
	{
		name = SnacksConverter
		ConverterName = Entertainment Center
		StartActionName = Start Entertainment
		StopActionName = Stop Entertainment
		AutoShutdown = false
		GeneratesHeat = false
		UseSpecialistBonus = false
		
		//At least one crew needs to be in the part to run the converter.
		minimumCrew = 1

		//Connection back home required to receive entertainment.
		requiresHomeConnection = true

		//This condition is set whenever the kerbal enters the part and the converter is active, and
		//when the converter is started. Since it's registered as a SKILL_LOSS_CONDITION, the kerbals will lose their
		//skills while the converter is running.
		conditionSummary = Relaxing

		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 0.4
			FlowMode = STAGE_PRIORITY_FLOW
		}

		//Works like an INPUT_RESOURCE except:
		// It applies to individual kerbals.
		// You can specify an AmountPerDay or AmountPerSecond.
		ROSTER_INPUT_RESOURCE
		{
			ResourceName = Stress

			//AmountPerDay will be translated into: AmountPerDay / seconds per homeworld day
			//This will override AmountPerSecond if it is defined in the node.
			AmountPerDay = 2
		}
	}

	RESOURCE
	{
		name = Snacks
		amount = 1188
		maxAmount = 1188
	}
	RESOURCE:NEEDS[SnacksFreshAir]
	{
		name = FreshAir
		amount = 396
		maxAmount = 396
	}
	RESOURCE:NEEDS[SnacksStress]
	{
		name = HydrazineVodka
		amount = 17
		maxAmount = 17
	}
}

///3.75m ATTIC - supports 6 crew for 120 days///
@PART[Benjee10_MMSEV_baseHDU]:NEEDS[SnacksUtils]
{
	//This is calibrated for 6 kerbals at 100% efficiency when then consume
	//1 snack per meal and 1 meal per day.
	//In game, the player can adjust the efficiency of the recycler from 10% to 100%.
	//Given the dynamic nature, the input/output ratio is ALWAYS set to 0.00004630,
	//which gives a daily input/output of 1.00008 per day. The recycler will then adjust
	//the input/output ratio based upon RecyclerCapacity and recycler efficiency.
	MODULE
	{
		name = SoilRecycler
		ConverterName = Soil Recycler
		StartActionName = Start Soil Recycler
		StopActionName = Stop Soil Recycler
		AutoShutdown = false
		GeneratesHeat = false
		UseSpecialistBonus = true
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1.0
		RecyclerCapacity = 6
	 
		INPUT_RESOURCE
		{
			ResourceName = Soil
			Ratio = 0.00004630
			FlowMode = ALL_VESSEL
  		}

		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 3
			FlowMode = STAGE_PRIORITY_FLOW
		}

		OUTPUT_RESOURCE
		{
			ResourceName = Snacks
			Ratio = 0.00004630
			DumpExcess = false
			FlowMode = ALL_VESSEL
		}
	}

	MODULE:NEEDS[SnacksStress]
	{
		name = SnacksConverter
		ConverterName = Entertainment Center
		StartActionName = Start Entertainment
		StopActionName = Stop Entertainment
		AutoShutdown = false
		GeneratesHeat = false
		UseSpecialistBonus = false
		
		//At least one crew needs to be in the part to run the converter.
		minimumCrew = 1

		//Connection back home required to receive entertainment.
		requiresHomeConnection = true

		//This condition is set whenever the kerbal enters the part and the converter is active, and
		//when the converter is started. Since it's registered as a SKILL_LOSS_CONDITION, the kerbals will lose their
		//skills while the converter is running.
		conditionSummary = Relaxing

		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 0.4
			FlowMode = STAGE_PRIORITY_FLOW
		}

		//Works like an INPUT_RESOURCE except:
		// It applies to individual kerbals.
		// You can specify an AmountPerDay or AmountPerSecond.
		ROSTER_INPUT_RESOURCE
		{
			ResourceName = Stress

			//AmountPerDay will be translated into: AmountPerDay / seconds per homeworld day
			//This will override AmountPerSecond if it is defined in the node.
			AmountPerDay = 2
		}
	}

	RESOURCE
	{
		name = Snacks
		amount = 2376
		maxAmount = 2376
	}
	RESOURCE:NEEDS[SnacksFreshAir]
	{
		name = FreshAir
		amount = 792
		maxAmount = 396
	}
	RESOURCE:NEEDS[SnacksStress]
	{
		name = HydrazineVodka
		amount = 17
		maxAmount = 17
	}
}

///LONG HAB - supports 3 crew for 33 days, added recyclers///
@PART[Benjee10_MMSEV_baseHabLong]:NEEDS[SnacksUtils]
{
	//This is calibrated for 6 kerbals at 100% efficiency when then consume
	//1 snack per meal and 1 meal per day.
	//In game, the player can adjust the efficiency of the recycler from 10% to 100%.
	//Given the dynamic nature, the input/output ratio is ALWAYS set to 0.00004630,
	//which gives a daily input/output of 1.00008 per day. The recycler will then adjust
	//the input/output ratio based upon RecyclerCapacity and recycler efficiency.
	MODULE
	{
		name = SoilRecycler
		ConverterName = Soil Recycler
		StartActionName = Start Soil Recycler
		StopActionName = Stop Soil Recycler
		AutoShutdown = false
		GeneratesHeat = false
		UseSpecialistBonus = true
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1.0
		RecyclerCapacity = 3
	 
		INPUT_RESOURCE
		{
			ResourceName = Soil
			Ratio = 0.00004630
			FlowMode = ALL_VESSEL
  		}

		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 3
			FlowMode = STAGE_PRIORITY_FLOW
		}

		OUTPUT_RESOURCE
		{
			ResourceName = Snacks
			Ratio = 0.00004630
			DumpExcess = false
			FlowMode = ALL_VESSEL
		}
	}

	MODULE:NEEDS[SnacksStress]
	{
		name = SnacksConverter
		ConverterName = Entertainment Center
		StartActionName = Start Entertainment
		StopActionName = Stop Entertainment
		AutoShutdown = false
		GeneratesHeat = false
		UseSpecialistBonus = false
		
		//At least one crew needs to be in the part to run the converter.
		minimumCrew = 1

		//Connection back home required to receive entertainment.
		requiresHomeConnection = true

		//This condition is set whenever the kerbal enters the part and the converter is active, and
		//when the converter is started. Since it's registered as a SKILL_LOSS_CONDITION, the kerbals will lose their
		//skills while the converter is running.
		conditionSummary = Relaxing

		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 0.4
			FlowMode = STAGE_PRIORITY_FLOW
		}

		//Works like an INPUT_RESOURCE except:
		// It applies to individual kerbals.
		// You can specify an AmountPerDay or AmountPerSecond.
		ROSTER_INPUT_RESOURCE
		{
			ResourceName = Stress

			//AmountPerDay will be translated into: AmountPerDay / seconds per homeworld day
			//This will override AmountPerSecond if it is defined in the node.
			AmountPerDay = 2
		}
	}

	RESOURCE
	{
		name = Snacks
		amount = 594
		maxAmount = 594
	}
	RESOURCE:NEEDS[SnacksFreshAir]
	{
		name = FreshAir
		amount = 198
		maxAmount = 198
	}
	RESOURCE:NEEDS[SnacksStress]
	{
		name = HydrazineVodka
		amount = 17
		maxAmount = 17
	}
}

///GREENHOUSE - supports 2 crew for 33 days, added greenhouse///
@PART[Benjee10_MMSEV_baseGreenhouse]:NEEDS[SnacksUtils]
{

	MODULE
	{
		name = SnacksConverter
		ConverterName = Greenhouse
		StartActionName = Start Grenhouse
		StopActionName = Stop Greenhouse
		AutoShutdown = false
		GeneratesHeat = false
		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		ExperienceEffect = ScienceSkill
		EfficiencyBonus = 1
		hoursPerCycle = 168 //Number of hours to grow crops
		minimumSuccess = 1
		criticalSuccess = 90
		criticalFail = 5

		criticalSuccessBonus = 0.25
		failureLoss = 0.25

		INPUT_RESOURCE:NEEDS[ClassicStockResources]
		{
			ResourceName = Water
			Ratio = 0.000218750
		}

		INPUT_RESOURCE:NEEDS[ClassicStockResources]
		{
			ResourceName = Compost
			Ratio = 0.000072917
		}

		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 12
		}

		INPUT_RESOURCE:NEEDS[!ClassicStockResources]
		{
			ResourceName = Ore
			Ratio = 0.001
		}

		OUTPUT_RESOURCE:NEEDS[SnacksFreshAir]
		{
			ResourceName = FreshAir
			Ratio = 0.00045
		}

		//Calibrated for 1 snack per meal, 3 meals per day
		//Supports 2 kerbals
		YIELD_RESOURCE
		{
			ResourceName = Snacks
			Ratio = 168
		}
	}

	RESOURCE
	{
		name = Snacks
		amount = 594
		maxAmount = 594
	}
	RESOURCE:NEEDS[SnacksFreshAir]
	{
		name = FreshAir
		amount = 198
		maxAmount = 198
	}
	RESOURCE:NEEDS[SnacksStress]
	{
		name = HydrazineVodka
		amount = 17
		maxAmount = 17
	}
}
