Skip to content

Instantly share code, notes, and snippets.

@LambdaSix
Last active April 17, 2019 10:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LambdaSix/f43aac45632f0069555209db4df14d15 to your computer and use it in GitHub Desktop.
Save LambdaSix/f43aac45632f0069555209db4df14d15 to your computer and use it in GitHub Desktop.
Attempt to 'fix' various bits of all the scout parts + fuels when using a system rescale + RealFuels
/*
* Fix an issue with RealFuels where it breaks tankage weights arbritrarily and also multiplies SolidFuel amounts by
* 4x if not set explicitly.
*
* TODO:
* - Proper scaling for system sizes other than 3.2x
* - Setting min+max thrusts makes the SRM's work for ignition but also stops the Thrust Limiter from working
* - Tweak the nitrogen tanks to a reasonable amount of dV for full/empty SRM
* - Try and find any other variants and add them if relevant (i.e, a meaningful difference)
*/
FUELScaleConfig {
systemScale = 1.0
// values for a 1.0x system
algolSolidFuel = 605
castorSolidFuel = 120.3125
antaresSolidFuel = 21
altairSolidFuel = 9.375
// Not sure if these should change, tweak to self contentment
// ~50m/s dV for each stage
castorNitrogen = 50000
antaresNitrogen = 50000
}
@FUELScaleConfig:NEEDS[SigmaDimensions,RealFuels,!RealismOverhaul]:BEFORE[z_RealFuels_StockEngines]
{
@systemScale = #$@SigmaDimensions/Resize$
}
@FUELScaleConfig:NEEDS[SigmaDimensions,RealFuels,!RealismOverhaul]:BEFORE[z_RealFuels_StockEngines] {
@algolSolidFuel *= #$@systemScale$
@castorSolidFuel *= #$@systemScale$
@antaresSolidFuel *= #$@systemScale$
// These should be independent from the scale, since they only have to deal
// with the weight of the tank.
//castorNitrogen *= #$@systemScale$
//antaresNitrogen *= #$@systemScale$
}
/*
* Algol Series
* Fuel: HTPB
*/
@PART[bluedog_Scout_Algol_Inline]:NEEDS[RealFuels,!RealismOverhaul]:AFTER[z_RealFuels_StockEngines] {
%title = Algol Series Solid Rocket Motor
%manufacturer = Aerojet
!RESOURCE,*{}
@MODULE[ModuleEngines*]
{
%EngineType = SolidBooster
%allowShutdown = True
%throttleLocked = True
%exhaustDamage = True
}
MODULE
{
name = ModuleFuelTanks
volume = #$@FUELRescaleConfig/algolSolidFuel$
type = HTPB
basemass = -1
TANK {
name = HTPB
amount = full
maxAmount = 100%
}
}
!MODULE[ModuleEngineConfigs],*{}
MODULE
{
name = ModuleEngineConfigs
type = ModuleEngines
configuration = Algol-1
modded = false
origMass = #$/mass$
CONFIG
{
name = Algol-1
minThrust = 162.38
maxThrust = 162.38
PROPELLANT
{
name = HTPB
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 236
key = 1 214
}
curveResource = HTPB
chamberNominalTemp = 1500
maxEngineTemp = 2040
}
CONFIG
{
name = Algol-2
minThrust = 137.93
maxThrust = 137.93
PROPELLANT
{
name = HTPB
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 293
key = 1 214
}
curveResource = HTPB
// guesses (note: max is above nominal * thrust_curve_max)
chamberNominalTemp = 1500
maxEngineTemp = 2040
}
CONFIG
{
name = Algol-3
minThrust = 162.72
maxThrust = 162.72
PROPELLANT
{
name = HTPB
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 284
key = 1 238
}
curveResource = HTPB
// guesses (note: max is above nominal * thrust_curve_max)
chamberNominalTemp = 1500
maxEngineTemp = 2040
}
}
}
/*
* Castor Series
* Fuel: PSPC + Nitrogen
*/
@PART[bluedog_Scout_Castor_Inline]:NEEDS[RealFuels,!RealismOverhaul]:AFTER[z_RealFuels_StockEngines] {
%category = Engine
%title = Castor Series Solid Rocket Motor
%manufacturer = Thiokol
// fix bug where a Hydrazine tank is added, upsetting the weights.
!MODULE[ModuleFuelTanks]{}
!RESOURCE,*{}
@MODULE[ModuleEngines*]
{
%EngineType = SolidBooster
%allowShutdown = True
%throttleLocked = True
%exhaustDamage = True
}
// Remove the default RCS system and replace with Nitrogen
@MODULE[ModuleRCSFX] {
%engineID = RCS
@resourceName = Nitrogen
!PROPELLANT[*],* {}
PROPELLANT
{
name = Nitrogen
ratio = 1
}
}
// Add nitrogen for the control thrusters
MODULE
{
name = ModuleFuelTanks
volume = #$@FUELRescaleConfig/castorNitrogen$
type = ServiceModule
basemass = -1
TANK {
name = Nitrogen
amount = full
maxAmount = 100%
}
}
MODULE
{
name = ModuleFuelTanks
volume = #$@FUELRescaleConfig/castorSolidFuel$
type = PSPC
basemass = -1
TANK {
name = PSPC
amount = full
maxAmount = 100%
}
}
!MODULE[ModuleEngineConfigs],*{}
MODULE
{
name = ModuleEngineConfigs
type = ModuleEngines
configuration = Castor-1
modded = false
origMass = #$/mass$
// TODO: Scale the ISP + kN thrust values
CONFIG
{
name = Castor-1
minThrust = 92.258
maxThrust = 92.258
PROPELLANT
{
name = PSPC
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 247
key = 1 232
}
curveResource = PSPC
chamberNominalTemp = 1500
maxEngineTemp = 2040
}
CONFIG
{
name = Castor-2
minThrust = 92.225
maxThrust = 92.225
PROPELLANT
{
name = PSPC
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 262
key = 1 232
}
curveResource = PSPC
// guesses (note: max is above nominal * thrust_curve_max)
chamberNominalTemp = 1500
maxEngineTemp = 2040
}
}
}
/*
* Antares Series
* Fuel: PBAN + Nitrogen
*/
@PART[bluedog_Scout_Antares_Inline]:NEEDS[RealFuels,!RealismOverhaul]:BEFORE[RealFuels_StockEngines] {
%title = Antares Series Solid Rocket Motor
%manufacturer = Allegany Ballistics Laboratory
!MODULE[ModuleFuelTanks]{}
!RESOURCE,*{}
@MODULE[ModuleEngines*]
{
%EngineType = SolidBooster
%allowShutdown = True
%throttleLocked = True
%exhaustDamage = True
}
// Remove the default RCS system and replace with Nitrogen
@MODULE[ModuleRCSFX] {
%engineID = RCS
@resourceName = Nitrogen
!PROPELLANT[*],* {}
PROPELLANT
{
name = Nitrogen
ratio = 1
}
}
// Add nitrogen for the control thrusters
MODULE
{
name = ModuleFuelTanks
volume = #$@FUELRescaleConfig/antaresNitrogen$
type = ServiceModule
basemass = -1
TANK {
name = Nitrogen
amount = full
maxAmount = 100%
}
}
MODULE
{
name = ModuleFuelTanks
type = PBAN
volume = #$@FUELRescaleConfig/antaresSolidFuel$
basemass = -1
TANK {
name = PBAN
amount = full
maxAmount = 100%
}
}
MODULE
{
name = ModuleEngineConfigs
type = ModuleEngines
modded = false
configuration = Antares-1A
origMass = #$/mass$
CONFIG {
name = Antares-1A
minThrust = 11.63
maxThrust = 11.63
massMult = 1
ullage = False
pressureFed = False
ignitions = 1
PROPELLANT
{
name = PBAN
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 256
key = 1 200
}
curveResource = PBAN
}
CONFIG {
name = Antares-2
minThrust = 17.9
maxThrust = 17.9
massMult = 1.0204
ullage = False
pressureFed = False
ignitions = 1
PROPELLANT
{
name = PBAN
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 256
key = 1 200
}
curveResource = PBAN
}
CONFIG {
name = Antares-3
minThrust = 15.38
maxThrust = 15.38
massMult = 0.33
ullage = False
pressureFed = False
ignitions = 1
PROPELLANT
{
name = PBAN
ratio = 1.0
DrawGauge = True
}
atmosphereCurve {
key = 0 294
key = 1 100
}
}
CONFIG {
name = Antares-3A
minThrust = 11.63
maxThrust = 11.63
massMult = 1.197
ullage = False
pressureFed = False
ignitions = 1
PROPELLANT
{
name = PBAN
ratio = 1.0
DrawGauge = True
}
atmosphereCurve {
key = 0 294
key = 1 100
}
}
}
}
/*
* Altair Series
* Fuel: PSPC
*/
@PART[bluedog_UpperSolids_Altair]:NEEDS[RealFuels,!RealismOverhaul]:BEFORE[RealFuels_StockEngines] {
%title = Altair Series Solid Rocket Motor
%manufacturer = Allegany Ballistics Laboratory
!MODULE[ModuleFuelTanks]{}
!RESOURCE,*{}
@MODULE[ModuleEngines*]
{
%EngineType = SolidBooster
%allowShutdown = True
%throttleLocked = True
%exhaustDamage = True
}
MODULE
{
name = ModuleFuelTanks
type = PSPC
volume = #$@FUELRescaleConfig/altairSolidFuel$
basemass = -1
TANK {
name = PSPC
amount = full
maxAmount = 100%
}
}
MODULE
{
name = ModuleEngineConfigs
type = ModuleEngines
modded = false
configuration = Altair-I
origMass = #$/mass$
CONFIG {
name = Altair-I
minThrust = 5.9
maxThrust = 5.9
massMult = 1
ullage = False
pressureFed = False
ignitions = 1
PROPELLANT
{
name = PSPC
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 256
key = 1 233
}
curveResource = PSPC
}
CONFIG {
name = Altair-IA
minThrust = 6.57
maxThrust = 6.57
massMult = 6.03
ullage = False
pressureFed = False
ignitions = 1
PROPELLANT
{
name = PSPC
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 256
key = 1 232
}
curveResource = PSPC
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment