Parts/Engine/rapierEngine/rapierEngine.cfg
From Kerbal Space Program Wiki
< Parts
PART { name = RAPIER module = Part author = C. Jenkins mesh = rapier.mu MODEL { model = Squad/Parts/Engine/rapierEngine/rapier } //MODEL //{ // model = Squad/Parts/Engine/jetEngines/turbineInside // position = 0.0, 0.741545, 0.0 // scale = 0.8, 0.8, 0.8 //} scale = 1.0 node_stack_top = 0.0,0.741545,0.0 , 0.0, 1.0, 0.0 node_stack_bottom = 0.0,-0.2048244, 0.0, 0.0, -1.0, 0.0 CoMOffset = 0.0, 2.6, 0.0 mass = 2.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 = 20 maxTemp = 2000 // = 3600 TechRequired = aerospaceTech entryCost = 35000 cost = 6000 category = Engine subcategory = 0 title = #autoLOC_500469 //#autoLOC_500469 = CR-7 R.A.P.I.E.R. Engine manufacturer = #autoLOC_501640 //#autoLOC_501640 = C7 Aerospace Division and Rockomax Conglomerate description = #autoLOC_500470 //#autoLOC_500470 = The R.A.P.I.E.R. (Reactive Alternate-Propellant Intelligent Engine for Rockets) is a joint venture between C7 Aerospace and the Rockomax Conglomerate. Designed to fill a gap in the design requirements for sustainable single stage to orbit aircraft, this engine combines the best of rocket and air-breathing thrust technology. attachRules = 1,0,1,1,0 bulkheadProfiles = size1 tags = #autoLOC_500471 //#autoLOC_500471 = aircraft ascent closed cycle dual fuel hybrid jet liquid main mode plane propuls rapier rocket ssto 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_aeroSpike 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/shockExhaust_blue_small 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 } } power_open { AUDIO { channel = Ship clip = sound_rocket_spurts volume = 0.0 0.0 volume = 0.05 0.0 volume = 1.0 1.0 pitch = 0.0 0.2 pitch = 1.0 1.0 loop = true } MODEL_MULTI_PARTICLE { modelName = Squad/FX/shockExhaust_red_small 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 } } running_open { AUDIO { channel = Ship clip = sound_jet_deep volume = 0.0 0.0 volume = 0.05 0.6 volume = 1.0 1.0 pitch = 0.0 0.7 pitch = 1.0 1.4 loop = true } PREFAB_PARTICLE { prefabName = fx_smokeTrail_aeroSpike 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 } } 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 = MultiModeEngine primaryEngineID = AirBreathing primaryEngineModeDisplayName = #autoLOC_6001897 //#autoLOC_6001897 = AirBreathing secondaryEngineID = ClosedCycle secondaryEngineModeDisplayName = #autoLOC_6001898 //#autoLOC_6001898 = ClosedCycle } MODULE { name = ModuleEnginesFX engineID = AirBreathing powerEffectName = power_open //runningEffectName = running_open thrustVectorTransformName = thrustTransform exhaustDamage = True ignitionThreshold = 0.33 minThrust = 0 maxThrust = 105 heatProduction = 60 useEngineResponseTime = True engineAccelerationSpeed = 0.2 engineDecelerationSpeed = 0.35 useVelocityCurve = False spoolEffectName = running_open engineSpoolIdle = 0.05 engineSpoolTime = 2.0 EngineType = Turbine exhaustDamageMultiplier = 50 exhaustDamageDistanceOffset = 0.19 clampPropReceived = True PROPELLANT { name = IntakeAir ignoreForIsp = True ratio = 6 } PROPELLANT { name = LiquidFuel resourceFlowMode = STAGE_STACK_FLOW_BALANCE ratio = 1 DrawGauge = True } atmosphereCurve { key = 0 3200 0 0 } // Jet params atmChangeFlow = True useVelCurve = True useAtmCurve = True flowMultCap = 3.0 // no mach (heat) limit velCurve { key = 0 1 0 0.08333334 key = 0.2 0.98 0.42074 0.42074 key = 0.7 1.8 2.290406 2.290406 key = 1.4 4.00 3.887193 3.887193 key = 3.75 8.5 0 0 key = 4.5 7.3 -2.831749 -2.831749 key = 5.5 3 -5.260566 -5.260566 key = 6 0 -0.02420209 0 } atmCurve { // higher thrust at altitude than even TRJ key = 0 0 0 0 key = 0.018 0.09 7.914787 7.914787 key = 0.08 0.3 1.051923 1.051923 key = 0.35 0.5 0.3927226 0.3927226 key = 1 1 1.055097 0 } } MODULE { name = ModuleEnginesFX engineID = ClosedCycle runningEffectName = running_closed thrustVectorTransformName = thrustTransform exhaustDamage = True ignitionThreshold = 0.1 minThrust = 0 maxThrust = 180 heatProduction = 133 fxOffset = 0, 0, 0.25 EngineType = LiquidFuel exhaustDamageDistanceOffset = 0.19 PROPELLANT { name = LiquidFuel resourceFlowMode = STAGE_STACK_FLOW_BALANCE ratio = 0.9 DrawGauge = True } PROPELLANT { name = Oxidizer resourceFlowMode = STAGE_STACK_FLOW_BALANCE ratio = 1.1 } atmosphereCurve { key = 0 305 key = 1 275 key = 9 0.001 } } MODULE { name = FXModuleAnimateThrottle animationName = HeatAnimationEmissiveRapier responseSpeed = 0.001 dependOnEngineState = True dependOnThrottle = True preferMultiMode = True // bind to the parent multimode module, not the actual engines. } MODULE { name = ModuleGimbal gimbalTransformName = obj_gimbal gimbalRange = 3 } 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 = 1 fxMax = 0.5 maxDistance = 20 falloff = 2 thrustTransformName = thrustTransform } MODULE { name = ModuleSurfaceFX thrustProviderModuleIndex = 2 fxMax = 0.6 maxDistance = 30 falloff = 1.6 thrustTransformName = thrustTransform } }