Parts/Engine/Size3EngineCluster/part.cfg

From Kerbal Space Program Wiki
< Parts
Revision as of 16:43, 10 October 2024 by ArnePeirs (talk | contribs) (Update config)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This is the configuration file for S3 KS-25x4 "Mammoth" Liquid Fuel Engine.
PART
{
	name = Size3EngineCluster
	module = Part
	author = Squad
	mesh = Size3EngineCluster.mu
	scale = 1.0
	rescaleFactor = 1
	node_stack_top = 0.0,1.527248,0.0 , 0.0, 1.0, 0.0, 3
	mass = 15
	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
	breakingForce = 400
	breakingTorque = 400
	crashTolerance = 20
	maxTemp = 2000 // = 3600
	TechRequired = veryHeavyRocketry
	entryCost = 115000
	cost = 39000
	category = Engine
	subcategory = 0
	title = #autoLOC_500478 //#autoLOC_500478 = S3 KS-25x4 "Mammoth" Liquid Fuel Engine
	manufacturer = #autoLOC_501638 //#autoLOC_501638 = Kerbodyne
	description = #autoLOC_500479 //#autoLOC_500479 = Kerbodyne engineers got fed up with having to contend with overly complicated staging arrays for lifting heavy payloads, and decided instead to just build a truly enormous engine of the highest efficiency. Strapping together four of Kerbodyne's KS-25 rocket motors in a single assembly, they created the largest rocket engine in production anywhere, and each KS-25 has the highest chamber pressure--the reason for four small nozzles and combustion chambers, not one big one (those kept going boom). It's certainly got the power to match its size, and although it excels in its main role as a first-stage engine, the lack of structural hardpoints on its underside makes it quite less suitable for other purposes. Its price tag also seems to match its size, in fact.
	attachRules = 1,0,1,1,0
	bulkheadProfiles = size3
	tags = #autoLOC_500480 //#autoLOC_500480 = ascent launch main (mammoth propuls rocket
	EFFECTS
	{
		running_closed
		{
			AUDIO
			{
				channel = Ship
				clip = sound_rocket_spurts
				volume = 0.0 0.0
				volume = 1.0 1.0
				pitch = 0.0 0.2
				pitch = 1.0 1.0
				loop = true
			}
			PREFAB_PARTICLE
			{
				prefabName = fx_smokeTrail_veryLarge
				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
			}
			MODEL_MULTI_PARTICLE
			{
				modelName = Squad/FX/ks25_Exhaust
				transformName = thrustTransform
				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
				localPosition = 0, 0, -0.08
			}
		}
		engage
		{
			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 = ModuleEnginesFX
		engineID = KS25
		runningEffectName = running_closed
		thrustVectorTransformName = obj_gimbal
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 4000
		heatProduction = 192
		fxOffset = 0, 0, 0.25
		EngineType = LiquidFuel
		exhaustDamageDistanceOffset = 1.9
		PROPELLANT
		{
			name = LiquidFuel
			ratio = 0.9
			DrawGauge = True
		}
		PROPELLANT
		{
			name = Oxidizer
			ratio = 1.1
		}
		atmosphereCurve
		{
			key = 0 315
			key = 1 295
			key = 12 0.001
		}
	}
	MODULE
	{
		name = ModuleAlternator
		RESOURCE
		{
			name = ElectricCharge
			rate = 12.0
		}
	}
	MODULE
	{
		name = ModuleGimbal
		gimbalTransformName = obj_gimbal
		gimbalRange = 2
	}
	MODULE
	{
		name = FXModuleAnimateThrottle
		animationName = HeatAnimationClusterEngine
		responseSpeed = 0.001
		dependOnEngineState = True
		dependOnThrottle = 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 = 1
		maxDistance = 100
		falloff = 1.5
		thrustTransformName = obj_gimbal
	}
}