GTI Multi Mode Engines - WarezCrawler/Guybrush101 GitHub Wiki
The purpose is to introduce a Multi Mode Engine module, which can handle more than two configurations.
###Features:
- GTI Multi Mode Engines
- Select which engine ID to affect
- Availability (Flight, Editor)
- Propellants, Ratios, IgnoreForISP, DrawGauge etc. is set up like stock through the alternative ModuleEngineFX modules
- Custom naming of Engine configuration
- Set Engine Type [LiquidFuel, Nuclear, SolidBooster, Turbine, MonoProp, ScramJet, Electric, Generic, Piston]
- Thrust
- Heat production
- Curves: atmosphereCurve, velCurve, atmCurve
Field description:
"GTI_MultiModeEngine"
name = GTI_MultiModeEngine **The name of the module is always needed
messagePosition = UPPER_RIGHT **This changes where in screen the message is put : Default = UPPER_CENTER
availableInFlight = false ** Set if it is available in flight : Default = true
availableInEditor = true ** Set if it is available in VAB: Default = true
GUIengineModeNames = ** semi colon separated list of mode names for gui. If empty the propellant names are used
propellantNames = ** semi colon separated list of propellants. For each mode the propellants are separated by comma.
propellantRatios = ** semi colon separated list of ratios. For each mode the propellants are separated by comma.
propIgnoreForISP = ** semi colon separated list of true/false. For each mode the propellants are separated by comma.
propDrawGauge = ** semi colon separated list of true/false. For each mode the propellants are separated by comma.
useEngineResponseTime = ** semi colon separated list of true/false
engineAccelerationSpeed = ** semi colon separated list of time (float)
engineDecelerationSpeed = ** semi colon separated list of time (float)
atmChangeFlows = ** semi colon separated list of true/false
useVelCurves = ** semi colon separated list of true/false
useAtmCurves = ** semi colon separated list of true/false
maxThrust = ** semi colon separated list of thrust
heatProduction = ** semi colon separated list of heat production
**Curves are added as if it was a ModuleEngines module. It is important the if the are two modes then if a curve is used, then the number of that curve is the same, namely two. **This means that e.g. atmosphereCurve would be there twice in a row. When switching modes the curve will be replaced in the moduleEngine.
atmosphereCurve{}
velCurve{}
atmCurve{}
Example
@PART[engineLargeSkipper]
{
@description = The smaller sibling of the Mainsail, the Skipper's power rivals that of... large cities. Combining high thrust with reasonable efficiency, this engine excels when used as a mid-stage booster. This upgraded version also feature a liftoff version, which uses intakeair instead of oxidizer. This is much more efficient, but also only works inside the atmosphere.
MODULE
{
name = GTI_MultiModeEngine
messagePosition = UPPER_RIGHT
availableInFlight = true
availableInEditor = true
GUIengineModeNames = Liquid Fuel & Oxidizer;Liquid Fuel & Intake Oxygen
//EngineTypes =
propellantNames = LiquidFuel,Oxidizer;LiquidFuel,Oxidizer
propellantRatios = 0.9,1.1;0.9,1.1
propIgnoreForISP = False,False;False,False
propDrawGauge = True,True;True,True
resourceFlowMode = STAGE_STACK_FLOW_BALANCE,STAGE_STACK_FLOW_BALANCE;STAGE_STACK_FLOW_BALANCE,STAGE_STACK_FLOW_BALANCE
useEngineResponseTime = false;false
//engineAccelerationSpeed =
//engineDecelerationSpeed =
//atmChangeFlows =
useVelCurves = False;False
useAtmCurves = False;False
useGTIthrottleISPCurves = true;true
maxThrust = 650;700
heatProduction = 350;600
atmosphereCurve
{
key = 0 280
key = 1 100
key = 6 0.001
}
atmosphereCurve
{
key = 0 320
key = 1 280
key = 6 0.001
}
throttleISPCurve
{
key = 0 3
key = 1 1
}
throttleISPCurve
{
key = 0 2
key = 1 1
}
}
}