PART
{
	name = BDA_EJ200
	module = Part
	author = Porkjet, modified by Stardust
	//mesh = turboJet.mu
	MODEL
	{
		model = Squad/Parts/Engine/jetEngines/turboJet
		texture = Jet Engines, BDArmory/Parts/EJ200/Jet_Engines_Stardust
		scale = 0.5, 0.52, 0.5
	}
	//MODEL
	//{
	//	model = Squad/Parts/Engine/jetEngines/turbineInside
	//
	rescaleFactor = 1
	node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0
	CoMOffset = 0.0, 1.5, 0.0
	TechRequired = supersonicFlight
	entryCost = 4500
	cost = 2000
	category = Engine
	subcategory = 0
	title = #loc_BDArmory_part_EJ200_title //TFJ-EJ200 "Typhoon" Afterburning Turbofan
	manufacturer = #loc_BDArmory_agent2_title //Twin Crown Aerospace Industries
	description = #loc_BDArmory_part_EJ200_description //Word is that this engine was the result of international cooperation, which produced an engine with exceptional performance and potential.
	attachRules = 1,0,1,0,0
	tags = bda after aircraft burner engine fighter jet (typhoon plane propuls
	mass = 0.65
	// heatConductivity = 0.06 // half default
	skinInternalConductionMult = 4.0
	emissiveConstant = 0.8 // engine nozzles are good at radiating.
	//emissiveConstant = 3.2 // engine nozzles are good at radiating.
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 25
	maxTemp = 2000 // = 3600
	bulkheadProfiles = size0
	MODULE
	{
		name = MultiModeEngine
		primaryEngineID = Dry
		secondaryEngineID = Wet
		carryOverThrottle = True
		autoSwitchAvailable = False
		primaryEngineModeDisplayName = #autoLOC_6001896 //#autoLOC_6001896 = Dry
		secondaryEngineModeDisplayName = #autoLOC_6001895 //#autoLOC_6001895 = Wet
	}
	MODULE
	{
		name = ModuleEnginesFX
		engineID = Dry
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 60
		heatProduction = 15
		useEngineResponseTime = True
		engineAccelerationSpeed = 0.5
		engineDecelerationSpeed = 0.5
		useVelocityCurve = False
		flameoutEffectName = flameout
		powerEffectName = power_dry
		//runningEffectName = running_thrust
		engageEffectName = engage
		disengageEffectName = disengage
		spoolEffectName = running_dry
		engineSpoolIdle = 0.05
		engineSpoolTime = 2.0
		EngineType = Turbine
		exhaustDamageMultiplier = 5
		clampPropReceived = True
		fxOffset = 0, 0, 0.3
		PROPELLANT
		{
			name = IntakeAir
			ignoreForIsp = True
			ratio = 40
		}
		PROPELLANT
		{
			name = LiquidFuel
			resourceFlowMode = STAGE_STACK_FLOW_BALANCE
			ratio = 1
			DrawGauge = True
		}
		atmosphereCurve
		{
			key = 0 10000 0 0 
		}
		// Jet params
		atmChangeFlow = True
		useVelCurve = True
		useAtmCurve = True
		//flowMultCap = 1.1
		machLimit = 1.4
		machHeatMult = 20.0
		velCurve
		{
			key = 0 1 -0.1714286 -0.1714286
			key = 0.35 0.94 0.008035712 0.008035712
			key = 0.67 1 0.4014425 0.4014425
			key = 0.8 1.08 0.7826924 0.7826924
			key = 1 1.27 0.5964285 0.5964285
			key = 1.7 1.44 -0.1785716 -0.1785716
			key = 2 1.26 -1.5 -1.5
			key = 2.25 0.66 -2.4 -2.4
		}
		atmCurve
		{
			key = 0 0 -0.009380879 0.02675156
			key = 0.1475 0 0 0
			key = 0.21 0.75 10.11998 9.912155
			key = 0.2653 1 2.007882 1.716759
			key = 1.013 1 0.0005999365 -0.0007497668
		}
	}
	MODULE
	{
		name = ModuleEnginesFX
		engineID = Wet
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 92
		heatProduction = 75
		useEngineResponseTime = True
		engineAccelerationSpeed = 0.8
		engineDecelerationSpeed = 0.8
		useVelocityCurve = False
		flameoutEffectName = flameout
		//powerEffectName = running_wet
		runningEffectName = power_wet
		engageEffectName = engage
		disengageEffectName = disengage
		spoolEffectName = running_wet
		engineSpoolIdle = 0.05
		engineSpoolTime = 2.0
		EngineType = Turbine
		exhaustDamageMultiplier = 20
		clampPropReceived = True
		fxOffset = 0, 0, 0.3
		PROPELLANT
		{
			name = IntakeAir
			ignoreForIsp = True
			ratio = 12
		}
		PROPELLANT
		{
			name = LiquidFuel
			resourceFlowMode = STAGE_STACK_FLOW_BALANCE
			ratio = 1
			DrawGauge = True
		}
		atmosphereCurve
		{
			key = 0 5000 0 0 
		}
		// Jet params
		atmChangeFlow = True
		useVelCurve = True
		useAtmCurve = True
		//flowMultCap = 1.1
		machLimit = 2.75
		machHeatMult = 20.0

		velCurve
		{
			key = 0 1 -0.1499999 -0.1499999
			key = 0.2 0.97 0 0
			key = 0.4 1 0.2249998 0.2249998
			key = 0.5 1.03 0.425 0.425
			key = 0.7 1.14 0.7083334 0.7083334
			key = 1 1.4 1.183333 1.183333
			key = 1.5 2.15 1.92 1.92
			key = 2 3.32 1.15 1.15
			key = 2.25 3.31 -2.226667 -2.226667
			key = 3 0 -4.413333 -4.413333

		}
		atmCurve
		{
			// less linear because AB has a big ram effect at high speed at high alt.
			key = 0 0 -0.009380879 0.02675156
			key = 0.1475 0 0 0
			key = 0.21 0.75 10.11998 9.912155
			key = 0.2653 1 2.007882 1.716759
			key = 1.013 1 0.0005999365 -0.0007497668
		}
	}

	MODULE
	{
		name = FXModuleAnimateThrottle
		animationName = TurboJetNozzleDry
		responseSpeed = 0.05
		layer = 1
		dependOnEngineState = True
		dependOnThrottle = True
		engineName = Dry
		weightOnOperational = True
	}
	MODULE
	{
		name = FXModuleAnimateThrottle
		animationName = TurboJetNozzleWet
		responseSpeed = 0.08
		layer = 2
		dependOnEngineState = True
		dependOnThrottle = True
		engineName = Wet
		weightOnOperational = True
	}
	MODULE
	{
		name = FXModuleAnimateThrottle
		animationName = TurboJetHeat
		responseSpeed = 0.0005
		layer = 3
		dependOnEngineState = True
		engineName = Wet
	}
	//MODULE
	{
		name = ModuleGimbal
		gimbalTransformName = Gimbal
		gimbalRange = 10
 		gimbalResponseSpeed = 8
		//gimbalRangeYP = 0
		//gimbalRangeXP = 10
 		useGimbalResponseSpeed = true
	}

	MODULE
	{
		name = FXModuleConstrainPosition
		matchRotation = false
		matchPosition = true
		CONSTRAINFX
		{
			targetName = NozzlePoint
			moversName = Nozzle
		}
	}

	MODULE
	{
		name = ModuleAlternator
		engineName = Wet
		outputName = #autoLOC_6001892 //#autoLOC_6001892 = Alternator (Wet)
		RESOURCE
		{
			name = ElectricCharge
			rate = 7.5
		}
	}
	MODULE
	{
		name = ModuleAlternator
		engineName = Dry
		outputName = #autoLOC_6001893 //#autoLOC_6001893 = Alternator (Dry)
		RESOURCE
		{
			name = ElectricCharge
			rate = 6.0
		}
	}
	MODULE
	{
		name = ModuleSurfaceFX
		thrustProviderModuleIndex = 1
		fxMax = 0.6
		maxDistance = 25
		falloff = 2
		thrustTransformName = thrustTransform
	}
	MODULE
	{
		name = ModuleSurfaceFX
		thrustProviderModuleIndex = 2
		fxMax = 0.6
		maxDistance = 25
		falloff = 2
		thrustTransformName = thrustTransform
	}
	EFFECTS
	{		

		running_dry
		{
			PREFAB_PARTICLE
			{
				prefabName = fx_smokeTrail_light
				transformName = smokePoint
				emission = 0.0 0.0
				emission = 0.05 0.0
				emission = 0.075 0.25
				emission = 1.0 1.25
				speed = 0.0 0.25
				speed = 1.0 1.0
				localOffset = 0, 0, 1
				localRotation = 1, 0, 0, -90
			}
			AUDIO
			{
				channel = Ship
				clip = sound_jet_low
				volume = 0.0 0.0
				volume = 0.05 0.2
				volume = 1.0 0.45
				pitch = 0.0 0.2
				pitch = 0.05 0.4
				pitch = 0.33 0.7
				pitch = 1.0 1.3
				loop = true
			}
		}

		power_dry
		{
			AUDIO
			{
				channel = Ship
				clip = sound_jet_deep
				volume = 0.0 0.0
				volume = 0.05 0.5
				volume = 1.0 1.4
				pitch = 0.0 0.3
				pitch = 1.0 0.6
				loop = true
			}
		}
		running_wet
		{
			PREFAB_PARTICLE
			{
				prefabName = fx_smokeTrail_light
				transformName = smokePoint
				emission = 0.0 0.0
				emission = 0.05 0.0
				emission = 0.075 0.5
				emission = 1.0 1.25
				speed = 0.0 0.25
				speed = 1.0 1.0
				localOffset = 0, 0, 1
				localRotation = 1, 0, 0, -90
			}
			AUDIO
			{
				channel = Ship
				clip = sound_jet_low
				volume = 0.0 0.0
				volume = 0.05 0.3
				volume = 1.0 0.45
				pitch = 0.0 0.2
				pitch = 0.05 0.4
				pitch = 0.33 0.7
				pitch = 1.0 0.9
				loop = true
			}
		}
		power_wet
		{

			AUDIO
			{
				channel = Ship
				clip = sound_rocket_spurts
				volume = 0.0 0.0
				volume = 0.1 0.4
				volume = 1.0 0.6
				pitch = 0.0 0.1
				pitch = 0.33 0.2
				pitch = 1.0 3.0
				loop = true
			}
			MODEL_MULTI_PARTICLE
			{
				modelName = Squad/FX/afterburner_shock
				transformName = smokePoint
				emission = 0.0 0.0
				emission = 0.05 0.05
				emission = 0.33 0.1
				emission = 1.0 1.0
				speed = 0.0 0.0
				speed = 0.05 0.05
				speed = 0.33 0.16
				speed = 1.0 1.0
				energy = 0.0 1.5
				energy = 0.33 1.0
				energy = 1.0 1.0
				localOffset = 0, 0, 2
				localScale = 0.5, 0.5, 0.5
			}
		}
		engage
		{
			AUDIO
			{
				channel = Ship
				clip = sound_vent_medium
				volume = 1.0
				pitch = 2.2
				loop = false
			}
		}
		disengage
		{
			AUDIO
			{
				channel = Ship
				clip = sound_vent_soft
				volume = 1.0
				pitch = 2.0
				loop = false
			}
		}
		flameout
		{
			PREFAB_PARTICLE
			{
				prefabName = fx_exhaustSparks_flameout_2
				transformName = smokePoint
				oneShot = true
			}
			AUDIO
			{
				channel = Ship
				clip = sound_explosion_low
				volume = 1.0
				pitch = 2.0
				loop = false
			}
		}
	}
	MODULE
	{
		name = ModuleTestSubject
		useStaging = True
		useEvent = True
		situationMask = 15
		CONSTRAINT
		{
			type = OXYGEN
			value = True
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 200
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 100
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 100
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 50
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = LT
			value = 50
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEEDENV
			test = GT
			value = 20
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 450
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 150
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 650
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 250
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 900
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 350
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.2
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.1
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = DENSITY
			test = GT
			value = 0.05
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 4000
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 8000
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 1000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 2000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 500
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 1000
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ALWAYS
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = BODYANDSITUATION
			prestige = Significant
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ONCEPERPART
			prestige = Exceptional
		}
	}
}
