<commit_before>// Crewed experiments
@PART[*]:HAS[#CrewCapacity[>3],!MODULE[ModuleCommand],!MODULE[Laboratory],!MODULE[StationScienceModule],!MODULE[LaunchClamp]]:NEEDS[FeatureScience]:FIRST
{	
	MODULE
	{
		name = Configure
		title = Crew Experiments
	}
}

// Probes
@PART[*]:HAS[@MODULE[ModuleCommand]:HAS[#minimumCrew[0]]]:FIRST
{
	MODULE
	{
		name = Configure
		title = Unmanned Experiments
	}
}

// SpectroVariometer
@PART[sensorAtmosphere]:NEEDS[FeatureScience]:FIRST
{	
	MODULE
	{
		name = Configure
		title = Atmospheric Science
	}
	MODULE
	{
		name = Configure
		title = Underwater Science
	}
	MODULE
	{
		name = Configure
		title = Spectro Variometer Setup
		slots = 1
		
		SETUP
			{
				name = None
				desc = Empty slot for mass and cost savings, should you not require any instruments installed.
			}
		SETUP
			{
				name = Atmospheric Science
				desc =  Configures the part as a science instrument, allowing for a selection of atmospheric instruments.
				MODULE
				{
					type = Configure
					id_field = title
					id_value = Atmospheric Science
				}
			}
		SETUP
			{
				name = Underwater Science
				desc =  Configures the part as a science instrument, allowing for a selection of underwater experiments.
				MODULE
				{
					type = Configure
					id_field = title
					id_value = Underwater Science
				}
			}
		SETUP
			{
				name = Atmospheric Harvester
				desc = Configures the part as an atmospheric harvester, allowing for extraction of resources from the atmosphere.
				MODULE
				{
					type = Configure
					id_field = title
					id_value = Atmospheric Filter
				}
			}
	}
}

// ============================================================================
// Specific patches for the stock M700 scanner
// ============================================================================
@PART[SurveyScanner]:NEEDS[FeatureScience]:FIRST
{
	MODULE
	{
		name = Configure
		title = Orbital Scanner
	}
}

// link the stock animation module to our experiment modules
@PART[SurveyScanner]:NEEDS[FeatureScience]:AFTER[zzzKerbalismDefault]
{
  @MODULE[Experiment],*
  {
    %use_animation_group = true
  }
}

// ============================================================================
// Patch for the SENTINEL module, to add EC/comms usage through Kerbalism
// ============================================================================

@PART[*]:HAS[@MODULE[SentinelModule]]:NEEDS[FeatureScience]:AFTER[zzzKerbalismDefault]
{
	@MODULE[SentinelModule]
	{
		@name = KerbalismSentinel
		ec_rate = 5.0 // EC/s
		comms_rate = 0.005 // Mb/s
	}
}<commit_msg>Reduced SENTINEL EC rate from 5/s to 2/s<commit_after>// Crewed experiments
@PART[*]:HAS[#CrewCapacity[>3],!MODULE[ModuleCommand],!MODULE[Laboratory],!MODULE[StationScienceModule],!MODULE[LaunchClamp]]:NEEDS[FeatureScience]:FIRST
{	
	MODULE
	{
		name = Configure
		title = Crew Experiments
	}
}

// Probes
@PART[*]:HAS[@MODULE[ModuleCommand]:HAS[#minimumCrew[0]]]:FIRST
{
	MODULE
	{
		name = Configure
		title = Unmanned Experiments
	}
}

// SpectroVariometer
@PART[sensorAtmosphere]:NEEDS[FeatureScience]:FIRST
{	
	MODULE
	{
		name = Configure
		title = Atmospheric Science
	}
	MODULE
	{
		name = Configure
		title = Underwater Science
	}
	MODULE
	{
		name = Configure
		title = Spectro Variometer Setup
		slots = 1
		
		SETUP
			{
				name = None
				desc = Empty slot for mass and cost savings, should you not require any instruments installed.
			}
		SETUP
			{
				name = Atmospheric Science
				desc =  Configures the part as a science instrument, allowing for a selection of atmospheric instruments.
				MODULE
				{
					type = Configure
					id_field = title
					id_value = Atmospheric Science
				}
			}
		SETUP
			{
				name = Underwater Science
				desc =  Configures the part as a science instrument, allowing for a selection of underwater experiments.
				MODULE
				{
					type = Configure
					id_field = title
					id_value = Underwater Science
				}
			}
		SETUP
			{
				name = Atmospheric Harvester
				desc = Configures the part as an atmospheric harvester, allowing for extraction of resources from the atmosphere.
				MODULE
				{
					type = Configure
					id_field = title
					id_value = Atmospheric Filter
				}
			}
	}
}

// ============================================================================
// Specific patches for the stock M700 scanner
// ============================================================================
@PART[SurveyScanner]:NEEDS[FeatureScience]:FIRST
{
	MODULE
	{
		name = Configure
		title = Orbital Scanner
	}
}

// link the stock animation module to our experiment modules
@PART[SurveyScanner]:NEEDS[FeatureScience]:AFTER[zzzKerbalismDefault]
{
  @MODULE[Experiment],*
  {
    %use_animation_group = true
  }
}

// ============================================================================
// Patch for the SENTINEL module, to add EC/comms usage through Kerbalism
// ============================================================================

@PART[*]:HAS[@MODULE[SentinelModule]]:NEEDS[FeatureScience]:AFTER[zzzKerbalismDefault]
{
	@MODULE[SentinelModule]
	{
		@name = KerbalismSentinel
		ec_rate = 2.0 // EC/s
		comms_rate = 0.005 // Mb/s
	}
}
{'fraction_non_alphanumeric': 0.20003854307188282, 'fraction_numerical': 0.005010599344767778, 'mean_word_length': 3.823420074349442, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5564292', 'n_tokens_mistral': 1914, 'n_tokens_neox': 1508, 'n_words': 385}