EngineMode
This module data's C# type is: KSP.Modules.Data_Engine+EngineMode
.
This module data's element type is: engineMode
.
This module data object has the following classes:
.engineID
.EngineDisplayName
.thrustVectorTransformName
.ThrustTransformNamesMultipliers
.throttleLocked
.ignitionThreshold
.clampPropReceived
.clampPropReceivedMinLowerAmount
.allowRestart
.allowShutdown
.shieldedCanActivate
.atmosphereCurve
.useThrustCurve
.thrustCurve
.disableUnderwater
.nonThrustMotor
.minThrust
.maxThrust
.engineType
.propellant
.useEngineResponseTime
.engineAccelerationSpeed
.engineDecelerationSpeed
.GenerateHeat
.HeatAtmosphereCurve
.NormalizeHeatForFlow
.exhaustDamage
.exhaustDamageRadiusMultiplier
.ExhaustDamageValue
.exhaustDamageLogEvent
.exhaustSplashbackDamage
.exhaustDamageFalloffPower
.exhaustDamageSplashbackFallofPower
.exhaustDamageSplashbackMult
.exhaustDamageSplashbackMaxMutliplier
.exhaustDamageDistanceOffset
.exhaustDamageMaxRange
.exhaustDamageMaxMutliplier
.exhaustShockwave
.exhaustShockwaveLogEvent
.exhaustShockwaveInterval
.exhaustShockwaveMultiplier
.exhaustShockwaveFalloffPower
.exhaustShockwaveDistanceOffset
.exhaustShockwaveMaxRange
.exhaustShockwaveMaxMultiplier
.throttleUseAlternate
.throttleResponseRate
.throttleIgniteLevelMult
.throttleStartupMult
.throttleStartedMult
.throttleInstantShutdown
.throttleShutdownMult
.throttleInstant
.throttlingBaseRate
.throttlingBaseClamp
.throttlingBaseDivisor
.atmChangeFlow
.atmCurve
.useAtmCurve
.velCurve
.useVelCurve
.CLAMP
.atmCurveIsp
.useAtmCurveIsp
.velCurveIsp
.useVelCurveIsp
.flameoutBar
.flowMultCap
.flowMultCapSharpness
.multFlow
.multIsp
.engineSpoolTime
.engineSpoolIdle
.ModeExitWaitTime
.ModeExitRunningWaitTime
.ModeEnterWaitTime
.ModeEnterRunningWaitTime
.DeactivateEngineWaitTime
.ActivateEngineWaitTime
.RunAnimationOnActivateDeactivate
.useThrottleIspCurve
.throttleIspCurveAtmStrength
.throttleIspCurve
Uncategorized
engineID
type: string
The Engine ID. should be in English.
EngineDisplayName
type: string
The Engine ID display name, should be a localization tag to get localized engine mode in the UI.
This only appears in the UI for multi-mode engines.
thrustVectorTransformName
type: string
The Thrust Transform name in the model for this engine mode.
This is only used to find the thrust transforms if ThrustTransformNamesMultipliers list below is left empty.
ThrustTransformNamesMultipliers
type: list[dictionary[any]]
The Thrust Transform names and Thrust multipliers in the model for this engine mode.
This will override the thrustVectorTransformName field above.
throttleLocked
type: boolean
Is the throttle locked in this engine mode? EG: SRB or can be changed by the player.
ignitionThreshold
type: real
When will the engine fail from lack of propellants?
Default = 0.1 or at 10% of required fuel or less the engine flames out.
clampPropReceived
type: boolean
Do we clamp the return percent to the min ratio (and never request more on followups) or do we request all always, and average?
clampPropReceivedMinLowerAmount
type: real
There is no tooltip attached to this field, please investigate and fill in this field if you can.
allowRestart
type: boolean
Can the engine be restarted in this mode? eg: SRB would be false.
allowShutdown
type: boolean
Can the engine be shut down in this mode? eg: SRB would be false.
shieldedCanActivate
type: boolean
Can the engine be be activated when shielded from airstream? ie: inside a fairing?
atmosphereCurve
type: dictionary[any]
A curve to determine loss or gain of thrust due to changes in atmosphere vs vacuum values are based on ISP to ATM Pressure
useThrustCurve
type: boolean
should we use a thrust curve (based on resource remaining) ?
thrustCurve
type: dictionary[any]
The thrust curve to use if useThrustCurve is true.
disableUnderwater
type: boolean
Is this engine disabled when under water?
nonThrustMotor
type: boolean
If set to true this engine mode will not be included in Delta-V calculations.
minThrust
type: real
Minimum Thrust in kN this engine produces at 0% throttle.
maxThrust
type: real
Maximum Thrust in kN this engine produces at 100% throttle.
engineType
type: string (enum: KSP.Modules.EngineType)
What type of engine is this?
propellant
type: dictionary[any]
There is no tooltip attached to this field, please investigate and fill in this field if you can.
useEngineResponseTime
type: boolean
Whether to apply the engine acceleration and deceleration speed variables.
engineAccelerationSpeed
type: real
How quickly the engine can increase its thrust production, as a fraction of maximum/second.
engineDecelerationSpeed
type: real
How quickly the engine can decrease its thrust production, as a fraction of maximum/second.
Heat Variables
GenerateHeat
type: boolean
Does this engine generate heat at all?
HeatAtmosphereCurve
type: dictionary[any]
Curve to adjust heat produced based on atmosphere pressure key (coordinate)
X: Atmospheric Pressure. 1 = Kerbin Atmosphere at sea level.
Y: Defines the heat production at the given atmosphere of pressure.
NormalizeHeatForFlow
type: boolean
Do we divide the heat produced by the flow multiplier to get the final flux?
i.e. do we always produce the same heat for the same throttle setting?
Exhaust Damage Variables
exhaustDamage
type: boolean
Determines whether the engine heats up and pushes on parts that are arranged in its exhaust path.
exhaustDamageRadiusMultiplier
type: real
A multiplier to the exhaust damage radius.
The radius is calculated from the Part Size category * this multiplier
ExhaustDamageValue
type: real
The amount of heat added from exhaust to a part, in kW.
exhaustDamageLogEvent
type: boolean
Whether damage from the engine exhaust is logged for debugging.
exhaustSplashbackDamage
type: boolean
Whether the engine will receive heating from the exhaust splashing back.
exhaustDamageFalloffPower
type: real
Adjusts the exponent of the exhaust damage distance falloff curve.
exhaustDamageSplashbackFallofPower
type: real
Adjusts the exponent of the exhaust splashback damage distance falloff curve.
exhaustDamageSplashbackMult
type: real
Adjusts the splashback damage multiplier per Newton of force produced.
exhaustDamageSplashbackMaxMutliplier
type: real
The maximum amount of splashback damage that can occur.
exhaustDamageDistanceOffset
type: real
Distance from the thrust transform where exhaust damage starts to occur.
exhaustDamageMaxRange
type: real
Maximum range in meters that the exhaust damage is applied.
exhaustDamageMaxMutliplier
type: real
Cap on the maximum multiplier to above factors that the exhaust damage can be at.
Exhaust Shockwave Variables
exhaustShockwave
type: boolean
Whether this engine creates a shockwave.
exhaustShockwaveLogEvent
type: boolean
Whether damage from shockwave events are logged for debugging.
exhaustShockwaveInterval
type: real
Period of time between shockwaves. A value of -1 means this shockwave always occurs.
exhaustShockwaveMultiplier
type: real
Adjusts the force in Newtons a shockwave produces for damage purposes.
exhaustShockwaveFalloffPower
type: real
Adjusts the exponent of the shockwave damage distance falloff curve.
exhaustShockwaveDistanceOffset
type: real
Distance from the thrust transform that the shockwave starts.
exhaustShockwaveMaxRange
type: real
Maximum range in meters that shockwave damage is applied.
exhaustShockwaveMaxMultiplier
type: real
Cap on the maximum multiplier that shockwave damage can be at.
AlternateThrottle Variables
throttleUseAlternate
type: boolean
There is no tooltip attached to this field, please investigate and fill in this field if you can.
throttleResponseRate
type: real
There is no tooltip attached to this field, please investigate and fill in this field if you can.
throttleIgniteLevelMult
type: real
There is no tooltip attached to this field, please investigate and fill in this field if you can.
throttleStartupMult
type: real
There is no tooltip attached to this field, please investigate and fill in this field if you can.
throttleStartedMult
type: real
There is no tooltip attached to this field, please investigate and fill in this field if you can.
throttleInstantShutdown
type: boolean
There is no tooltip attached to this field, please investigate and fill in this field if you can.
throttleShutdownMult
type: real
There is no tooltip attached to this field, please investigate and fill in this field if you can.
throttleInstant
type: boolean
There is no tooltip attached to this field, please investigate and fill in this field if you can.
throttlingBaseRate
type: real
There is no tooltip attached to this field, please investigate and fill in this field if you can.
throttlingBaseClamp
type: real
There is no tooltip attached to this field, please investigate and fill in this field if you can.
throttlingBaseDivisor
type: real
There is no tooltip attached to this field, please investigate and fill in this field if you can.
Jet Variables
atmChangeFlow
type: boolean
Atmospheric density will change fuel flow (and thus thrust)
atmCurve
type: dictionary[any]
Normally thrust is proportional to density, but we allow tuning.
Tuning is especially needed because there's no stratosphere, so temperature keeps decreasing and thus speed of sound keeps decreasing.
useAtmCurve
type: boolean
Do we use the atm curve? If not, and atmChangeFlow is true, just use atm linearly.
velCurve
type: dictionary[any]
replacement for the existing module's velocityCurve.
Note that its x value is Mach, not m/s velocity.
High-bypass turbofans will see thrust decrease steadily from static.
Low-bypass turbofans and turbojets will see thrust decrease slightly up to about 0.2 Mach then increase steadily until the limit is reached (both in terms of heat, and incoming compression vs compressor compression).
Ramjets have 0 static thrust, and do not light until 0.3 Mach or so, but once lit have steadily increasing thrust until Mach 5, when the incoming air can no longer be slowed to subsonic (combustion must be subsonic for ramjets). Thermal limits also apply, of course.
useVelCurve
type: boolean
If false, we don't use the new velCurve above.
CLAMP
type: real
tunable clamp. The flow multiplier will never go below this.
atmCurveIsp
type: dictionary[any]
Same as atmCurve, but changes Isp not flow
useAtmCurveIsp
type: boolean
Whether to use the atmCurveIsp curve above.
velCurveIsp
type: dictionary[any]
Same as velCurve but changes Isp not flow.
useVelCurveIsp
type: boolean
Whether to use the velCurveIsp curve above.
flameoutBar
type: real
When the flow multiplier goes below this, we Flameout the engine. NOTE: THIS FIXES ASYMMETRIC FLAMEOUTS.
flowMultCap
type: real
cap beyond which increases to flow multiplier aren't fully felt (start to taper off)
flowMultCapSharpness
type: real
Sharpness of the tapering off of flow increase beyond cap.
multFlow
type: real
Multiplier to final flow as calculated.
multIsp
type: real
Multiplier to final Isp as calculated.
Turbine Variables
engineSpoolTime
type: real
This is the Turbine Spool Up time used for Spool Up Engine FX.
engineSpoolIdle
type: real
There is no tooltip attached to this field, please investigate and fill in this field if you can.
Wait Time Variables
ModeExitWaitTime
type: real
The time to wait when exiting this engine mode in seconds.
ModeExitRunningWaitTime
type: real
The time to wait when exiting running state in this engine mode in seconds.
ModeEnterWaitTime
type: real
The time to wait when entering this engine mode in seconds.
ModeEnterRunningWaitTime
type: real
The time to wait when entering running state in this engine mode in seconds.
DeactivateEngineWaitTime
type: real
The time to wait when deactivating this engine mode in seconds.
ActivateEngineWaitTime
type: real
The time to wait when activating this engine mode in seconds.
RunAnimationOnActivateDeactivate
type: boolean
Set this to true will run the Deploy/Retract animation on Activation and Deactivation of the engine.
Other Variables
useThrottleIspCurve
type: boolean
Should we use the Throttle ISP curve?
throttleIspCurveAtmStrength
type: dictionary[any]
Modifies Isp based on throttle.
Time is pressure in atm, value is how much throttling affects Isp
(i.e. Isp = input * Lerp(1, throttleIspCurve, throttleIspCurveAtmStrength)
throttleIspCurve
type: dictionary[any]
Modifies Isp based on throttle. time is throttle, value is multiplier to Isp