PART
{
	name = FXturbojet
	module = Part
	author = PedroTheLegend
	//mesh = turboJetexpanse.mu
	MODEL
	{
		model = Ultimate_parts/Parts/Engines/specialjetEngines/turboJetexpanse
	}
	//MODEL
	//{
	//	model = Ultimate_parts/Parts/Engines/specialjetEngines/turbineInside
	//	scale = 0.95, 1.0, 0.95
	//}
	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 = 9000
	cost = 2000
	category = Engine
	subcategory = 0
	title = FX-NUMERAL Afterburning turbofan jet
	manufacturer = GTX Dynamics, Eon Team
	description = A hyper high efficiency turbofan jet with thrust deflecting nozzles with and advanced actuator for better response made for, and only for the FX-NUMERAL aircraft series
	attachRules = 1,0,1,0,0
	mass = 1.2
	// heatConductivity = 0.06 // half default
	skinInternalConductionMult = 4.0
	emissiveConstant = 1 // engine has a 100% heat ejecting system made for better improve thrust.
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 7
	maxTemp = 2000 // = 3600
	bulkheadProfiles = size1
	tags = after aircraft burner engine fighter jet (FX Numeral propuls
	MODULE
	{
		name = MultiModeEngine
		primaryEngineID = Dry
		secondaryEngineID = Wet
		carryOverThrottle = True
		autoSwitchAvailable = False
	}
	MODULE
	{
		name = ModuleEnginesFX
		engineID = Dry
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 130
		heatProduction = 0
		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
		PROPELLANT
		{
			name = IntakeAir
			ignoreForIsp = True
			ratio = 40
		}
		PROPELLANT
		{
			name = LiquidFuel
			resourceFlowMode = STAGE_STACK_FLOW_BALANCE
			ratio = 1
			DrawGauge = True
		}
		atmosphereCurve
		{
			key = 0 9000 0 0 
		}
		// Jet params
		atmChangeFlow = True
		useVelCurve = True
		useAtmCurve = True
		flowMultCap = 1.1
		machLimit = 20
		machHeatMult = 20.0
		velCurve
		{
			key = 0 1 0 0
			key = 0.35 0.932 0 0
			key = 1 1.13 0.4510796 0.4510796
			key = 1.75 1.5 0 0
			key = 2 1.38 -1.126258 -1.126258
			key = 2.5 0 0 0
		}
		atmCurve
		{
			key = 0 0 1.069445 0.7244952
			key = 0.072 0.08 1.472049 1.472049
			key = 0.17 0.21 1.227685 1.227685
			key = 0.34 0.39 1.01426 1.01426
			key = 1 1 0.969697 0.969697
		}
	}
	MODULE
	{
		name = ModuleEnginesFX
		engineID = Wet
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 200
		heatProduction = 0
		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
		PROPELLANT
		{
			name = IntakeAir
			ignoreForIsp = True
			ratio = 12
		}
		PROPELLANT
		{
			name = LiquidFuel
			resourceFlowMode = STAGE_STACK_FLOW_BALANCE
			ratio = 1
			DrawGauge = True
		}
		atmosphereCurve
		{
			key = 0 4000 0 0 
		}
		// Jet params
		atmChangeFlow = True
		useVelCurve = True
		useAtmCurve = True
		flowMultCap = 1.1
		machLimit = 20
		machHeatMult = 20.0

		velCurve
		{
			key = 0 1 0 0
			key = 0.18 0.97 0 0
			key = 0.43 1 0.202683 0.202683
			key = 1 1.42 1.280302 1.280302
			key = 2.5 3.63 0 0
			key = 3 0.58 -2.708558 -2.708558
			key = 3.35 0 -0.6150925 0
		}
		atmCurve
		{
			// less linear because AB has a big ram effect at high speed at high alt.
			key = 0 0 1.666667 1.666667
			key = 0.07066164 0.1397133 1.961396 1.961396
			key = 0.34 0.56 1.084002 1.084002
			key = 1 1 0.5302638 0.5302638
		}
	}

	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
 		useGimbalResponseSpeed = true
	}

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

	MODULE
	{
		name = ModuleAlternator
		engineName = Wet
		outputName = Alternator (Wet)
		RESOURCE
		{
			name = ElectricCharge
			rate = 5.0
		}
	}
	MODULE
	{
		name = ModuleAlternator
		engineName = Dry
		outputName = Alternator (Dry)
		RESOURCE
		{
			name = ElectricCharge
			rate = 3.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.9
				volume = 1.0 1.0
				pitch = 0.0 0.5
				pitch = 0.05 0.6
				pitch = 0.33 1.0
				pitch = 1.0 1.2
				loop = true
			}
		}

		power_dry
		{
			AUDIO
			{
				channel = Ship
				clip = sound_jet_deep
				volume = 0.0 0.0
				volume = 0.05 0.4
				volume = 1.0 0.9
				pitch = 0.0 0.8
				pitch = 1.0 1.4
				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.9
				volume = 1.0 1.0
				pitch = 0.0 0.5
				pitch = 0.05 0.6
				pitch = 0.33 1.0
				pitch = 1.0 1.2
				loop = true
			}
		}
		power_wet
		{

			AUDIO
			{
				channel = Ship
				clip = sound_rocket_spurts
				volume = 0.0 0.0
				volume = 0.1 0.3
				volume = 1.0 0.5
				pitch = 0.0 0.5
				pitch = 0.33 0.8
				pitch = 1.0 1.5
				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
			}
		}
		engage
		{
			AUDIO
			{
				channel = Ship
				clip = sound_vent_medium
				volume = 1.0
				pitch = 2.0
				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
		}
	}
}
