PART
{
	name = large_booster
	module = Part
	author = Bonus Eventus
	MODEL
	{
		model = kerbodynePlus/Parts/Engine/behemothCluster
	}
	node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 6
	TechRequired = veryHeavyRocketry
	entryCost = 322000
	cost = 92000
	category = Engine
	subcategory = 0
	title = S6 B-1x9 "Behemoth" Liquid Fuel Engine
	manufacturer = Kerbodyne
	description = Kerbodyne engineers are a tough lot to satisfy. Believing (foolishly) they could do better than the KS-25 engine, a team was assembled to develop a full flow staged engine capable of an insane amount of thrust (2500kn). After 10 years of R & D, many sleepless nights, and several mental disorders, the engineers failed. Thats when Mark Kerman (Kerbodyne intern), after being tasked with organizing the disassembled remains of the B-1 v0.9 prototype by color, accidentally, quite astoundingly, created this crazy thing. As it turns out, Mark is color blind. But, no matter, its exactly what the doctor ordered! The B-1x9 has since become the flagship engine for our Behemoth Launch System first stage. When organized in a stack of two S6-94640 fuel tanks, the B-1x9 is capable of delivering a 230 ton payload to LKO with a TWR of 1:1.8, huzzah!
	attachRules = 1,0,1,1,0
	mass = 45
	// heatConductivity = 0.06 // half default
	skinInternalConductionMult = 4.0
	emissiveConstant = 0.8 // engine nozzles are good at radiating.
	dragModelType = default
	maximum_drag = 0.2
	minimum_drag = 0.2
	angularDrag = 2
	crashTolerance = 80
	breakingForce = 400
	breakingTorque = 400
	maxTemp = 2000 // = 3600
	bulkheadProfiles = kp, behemoth, size6
	tags = kerbodynePlus kerbodyne kp behemoth ascent launch main propuls rocket 
	EFFECTS
	{
		running_closed
		{
			AUDIO
			{
				channel = Ship
				clip = kerbodynePlus/Sounds/sound_large_booster
				volume = 0.0 0.0
				volume = 0.05 0.6
				volume = 1.0 1.5
				pitch = 0.0 0.1
				pitch = 1.0 1.0
				loop = true
			}
			PREFAB_PARTICLE
			{
				prefabName = fx_smokeTrail_veryLarge
				transformName = smoke
				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
			}

			MODEL_MULTI_PARTICLE
			{
				modelName = kerbodynePlus/FX/behemothExhaust
				transformName = fxPoint
				emission = 0.0 0.0
				emission = 0.05 0.0
				emission = 0.075 0.25
				emission = 1.0 1.25
				speed = 0.0 0.5
				speed = 1.0 1.2
			}
		}
		engage
		{
			AUDIO
			{
				channel = Ship
				clip = kerbodynePlus/Sounds/sound_large_blast
				volume = 2.0
				pitch = 1.0
				loop = false
			}
		}
		flameout
		{
			PREFAB_PARTICLE
			{
				prefabName = fx_exhaustSparks_flameout_2
				transformName = fxPoint
				oneShot = true
			}
			AUDIO
			{
				channel = Ship
				clip = sound_explosion_low
				volume = 1.0
				pitch = 2.0
				loop = false
			}
		}
	}
	MODULE
	{
		name = ModuleEnginesFX
		engineID = KS25
		runningEffectName = running_closed
		thrustVectorTransformName = thrustTransform
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 22500
		heatProduction = 192
		fxOffset = 0, 0, 0
		EngineType = LiquidFuel
		PROPELLANT
		{
			name = LiquidFuel
			//ignoreForThrustCurve = true
			ratio = 0.9
			DrawGauge = True
		}
		PROPELLANT
		{
			name = Oxidizer
			ignoreForThrustCurve = true
			ratio = 1.1
		}
		atmosphereCurve
		{
			key = 0 311
			key = 12 0.001 -73.4361 0
		}
	}
	MODULE
	{
		name = FXModuleAnimateThrottle
		animationName = engineHeat
		responseSpeed = 0.002
		dependOnEngineState = True
		dependOnThrottle = True
	}
	MODULE
	{
		name = ModuleAlternator
		RESOURCE
		{
			name = ElectricCharge
			rate = 24.0
		}
	}
	RESOURCE
	{
		name = ElectricCharge
		amount = 0
		maxAmount = 0
		isTweakable = false
		hideFlow = true
	}
	MODULE
	{
		name = ModuleGimbal
		gimbalTransformName = gimbal
		gimbalRange = 8
		gimbalResponseSpeed = 8
 		useGimbalResponseSpeed = true
	}
	MODULE
	{
		name = ModuleTestSubject
		useStaging = True
		useEvent = True
		situationMask = 127
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ALWAYS
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = BODYANDSITUATION
			prestige = Significant
		}
		CONSTRAINT
		{
			type = REPEATABILITY
			value = ONCEPERPART
			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 = 2000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 4000
			prestige = Significant
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = GT
			value = 1000
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDEENV
			test = LT
			value = 2000
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = ALTITUDE
			test = GT
			value = 0 // this just registers altitude as something to care about
			situationMask = 8
		}
		CONSTRAINT
		{
			type = ALTITUDE
			test = LT
			value = 300000
			situationMask = 16
			body = _NotSun
		}
		CONSTRAINT
		{
			type = ALTITUDE
			test = LT
			value = 600000
			situationMask = 32
			body = _NotSun
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 0
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 600
			situationMask = 8
			prestige = Trivial
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 300
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 1200
			situationMask = 8
			prestige = Significant
		}
		CONSTRAINT
		{
			type = SPEED
			test = GT
			value = 600
			situationMask = 8
			prestige = Exceptional
		}
		CONSTRAINT
		{
			type = SPEED
			test = LT
			value = 2500
			situationMask = 8
			prestige = Exceptional
		}
		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
		}
	}

	MODULE
	{
		name = ModuleSurfaceFX
		thrustProviderModuleIndex = 0
		fxMax = 0.9
		maxDistance = 75
		falloff = 1.75
		thrustTransformName = thrustTransform
	}
}

