Parts/Engine/Size3AdvancedEngine/part.cfg

From Kerbal Space Program Wiki
< Parts
Revision as of 16:35, 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 Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine.
PART
{
	name = Size3AdvancedEngine
	module = Part
	author = Squad
	mesh = Size3AdvancedEngine.mu
	rescaleFactor = 1
	node_stack_top = 0.0, 1.487975, 0.0, 0.0, 1.0, 0.0, 3
	node_stack_bottom = 0.0, -2.536873, 0.0, 0.0, -1.0, 0.0, 3
	TechRequired = veryHeavyRocketry
	entryCost = 68000
	cost = 25000
	category = Engine
	subcategory = 0
	title = #autoLOC_500475 //#autoLOC_500475 = Kerbodyne KR-2L+ "Rhino" Liquid Fuel Engine
	manufacturer = #autoLOC_501638 //#autoLOC_501638 = Kerbodyne
	description = #autoLOC_500476 //#autoLOC_500476 = This engine is Kerbodyne's first attempt at a highly advanced engine. The engineers couldn't get it to produce full efficiency at sea level without the engine exploding, so it was repurposed as an upper stage engine. The experience gained here with high efficiency has been repurposed for later models, which feature multiple combustion chambers at higher pressure (that don't go boom). This engine is optimized for lighting mid-flight, although it still provides respectable power at sea level.
	attachRules = 1,0,1,0,0
	mass = 9.0
	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 = 7
	breakingForce = 200
	breakingTorque = 200
	maxTemp = 2000 // = 3600
	bulkheadProfiles = size3
	tags = #autoLOC_500477 //#autoLOC_500477 = ascent main propuls (rhino rocket sustain vacuum
	EFFECTS
	{
		running_closed
		{
			AUDIO
			{
				channel = Ship
				clip = sound_rocket_hard
				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/ksX_Exhaust
				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 = sound_vent_soft
				volume = 1.0
				pitch = 2.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
		thrustVectorTransformName = thrustTransform
		engineID = KSX
		runningEffectName = running_closed
		exhaustDamage = True
		ignitionThreshold = 0.1
		minThrust = 0
		maxThrust = 2000
		heatProduction = 140
		fxOffset = 0, 0, 1.5
		EngineType = LiquidFuel
		exhaustDamageDistanceOffset = 0.98
		PROPELLANT
		{
			name = LiquidFuel
			ratio = 0.9
			DrawGauge = True
		}
		PROPELLANT
		{
			name = Oxidizer
			ratio = 1.1
		}
		atmosphereCurve
		{
			key = 0 340
			key = 1 205
			key = 5 0.001
		}
	}
	MODULE
	{
		name = ModuleGimbal
		gimbalTransformName = Nozzle
		gimbalRange = 4
	}
	MODULE
	{
		name = FXModuleAnimateThrottle
		animationName = HeatAnimationAdvancedEngine
		responseSpeed = 0.001
		dependOnEngineState = True
		dependOnThrottle = True
	}
	MODULE
	{
		name = ModuleAlternator
		RESOURCE
		{
			name = ElectricCharge
			rate = 12.0
		}
	}
	MODULE
	{
		name = FlagDecal
		textureQuadName = FlagTransform
	}
	MODULE
	{
		name = ModuleJettison
		jettisonName = obj_fairing
		bottomNodeName = bottom
		isFairing = True
		jettisonedObjectMass = 0.5
		jettisonForce = 15
		jettisonDirection = 0 0 1
	}
	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 = 2
		thrustTransformName = thrustTransform
	}
}