@PART[nuclearEngine]:NEEDS[ReStock,!WaterfallRestock]:AFTER[ReStock] { !EFFECTS {} } //Patch for ReStock NERV without Kerbal Atomics Installed @PART[nuclearEngine]:NEEDS[RealPlume,SmokeScreen,ReStock,!KerbalAtomics,!WaterfallRestock] // LV-N "Nerv" Atomic Rocket Motor { PLUME { name = Nuclear_SolidCore_LH2 transformName = thrustTransform localRotation = 0,0,0 localPosition = 0,0,0 alphaMult = 2 saturationMult = 1 energy = 1 speed = 1 emissionMult = 1 corePosition = 0,0,0 coreScale = 0.3 plumePosition = 0,0,0.1 plumeScale = 0.25 } @MODULE[ModuleEngines*] { %powerEffectName = Nuclear_SolidCore_LH2 !runningEffectName = DELETE } } //Vernier FX @PART[nuclearEngine]:NEEDS[RealPlume,SmokeScreen,ReStock,!KerbalAtomics,!WaterfallRestock]:FOR[zzRealPlume] { @EFFECTS { @Nuclear_SolidCore_LH2 { MODEL_MULTI_SHURIKEN_PERSIST { //Get the inputs from the other config. transformName = fxTransformTurbo localRotation = 90,0,0 localPosition = 0,0,0 fixedScale = 0.7 energy = 1 speed = 1 name = VernierExhaust modelName = RealPlume/Nertea_FX_New/KerbalAtomics/fx-gc-open-25-turbo fixedEmissions = false sizeClamp = 50 decluster = true emitOnUpdate = true randomInitalVelocityOffsetMaxRadius = 0 speed { power = 0.0 0.35 power = 0.001 0.35 power = 0.1 0.5 power = 0.2 0.6 power = 1.0 2 } emission { power = 0.0 0.0 power = 0.001 0.7 power = 0.1 0.7 power = 0.2 0.7 power = 1.0 1.0 } linGrow { density = 0.7 -1 density = 0.02 20 } } } } } //Patch for ReStock NERV with Kerbal Atomics and nucelar engines use LF patch Installed @PART[nuclearEngine]:NEEDS[RealPlume,SmokeScreen,ReStock,KerbalAtomics,NTRsUseLF,!WaterfallRestock] // LV-N "Nerv" Atomic Rocket Motor { PLUME { name = Nuclear_SolidCore_LH2 transformName = thrustTransform localRotation = 0,0,0 localPosition = 0,0,0 alphaMult = 2 saturationMult = 1 energy = 1 speed = 1 emissionMult = 1 corePosition = 0,0,0 coreScale = 0.3 plumePosition = 0,0,0.1 plumeScale = 0.25 } @MODULE[ModuleEngines*] { %powerEffectName = Nuclear_SolidCore_LH2 !runningEffectName = DELETE } } //Vernier FX @PART[nuclearEngine]:NEEDS[RealPlume,SmokeScreen,ReStock,KerbalAtomics,NTRsUseLF,!WaterfallRestock]:FOR[zzRealPlume] { @EFFECTS { @Nuclear_SolidCore_LH2 { MODEL_MULTI_SHURIKEN_PERSIST { //Get the inputs from the other config. transformName = fxTransformTurbo localRotation = 90,0,0 localPosition = 0,0,0 fixedScale = 0.7 energy = 1 speed = 1 name = VernierExhaust modelName = RealPlume/Nertea_FX_New/KerbalAtomics/fx-gc-open-25-turbo fixedEmissions = false sizeClamp = 50 decluster = true emitOnUpdate = true randomInitalVelocityOffsetMaxRadius = 0 speed { power = 0.0 0.35 power = 0.001 0.35 power = 0.1 0.5 power = 0.2 0.6 power = 1.0 2 } emission { power = 0.0 0.0 power = 0.001 0.7 power = 0.1 0.7 power = 0.2 0.7 power = 1.0 1.0 } linGrow { density = 0.7 -1 density = 0.02 20 } } } } } //Patch for ReStock NERV with Kerbal atomics installed and no NTR uses LF patch. // at AFTER:[zKerbalAtomics] KA makes NERV multimode so that it has LF and LH2 modes. It also inserts dedicated plume effects at this point. // This patch runs after that and manually creates the plume as normal RealPlume patching would attempt to make the plume at FOR:[zRealPlume] @PART[nuclearEngine]:NEEDS[RealPlume,SmokeScreen,KerbalAtomics,ReStock,!NTRsUseLF,!WaterfallRestock]:FOR[zzKerbalAtomics] // LV-N "Nerv" Atomic Rocket Motor { @EFFECTS { !fx-nerv-running-lf {} !fx-nerv-running {} Nuclear_SolidCore_LH2 { MODEL_MULTI_SHURIKEN_PERSIST { //Get the inputs from the other config. transformName = thrustTransform localRotation = 0,0,0 localPosition = 0,0,0 fixedScale = 0.3 energy = 1 speed = 1 emissionMult = 0.5 alphaMult = 2 saturationMult = 1 // name = core modelName = RealPlume/Nertea_FX_New/KerbalAtomics/fx-sc-25-core fixedEmissions = false sizeClamp = 50 randomInitalVelocityOffsetMaxRadius = 0 emitOnUpdate = true decluster = true alphaMult { density = 0.7 0.7 density = 0.02 0.7 } speed { power = 0.0 0.35 power = 0.001 0.35 power = 0.1 0.5 power = 0.2 0.6 power = 1.0 1.0 } emission { power = 0.0 0.0 power = 0.001 0.7 power = 0.1 0.7 power = 0.2 0.7 power = 1.0 1.0 } linGrow { density = 0.7 -1 density = 0.02 1 } } MODEL_MULTI_SHURIKEN_PERSIST { //Get the inputs from the other config. transformName = thrustTransform localRotation = 0,0,0 localPosition = 0,0,0.1 fixedScale = 0.25 energy = 1 speed = 1 emissionMult = 0.5 alphaMult = 2 saturationMult = 1 // name = plume modelName = RealPlume/Nertea_FX_New/KerbalAtomics/fx-sc-25-plume fixedEmissions = false sizeClamp = 50 randomInitalVelocityOffsetMaxRadius = 0 emitOnUpdate = true decluster = true alphaMult { density = 1.0 1.3 density = 0.0 1.3 } emission { power = 0.0 0.0 power = 0.001 0.7 power = 0.1 0.7 power = 0.2 0.7 power = 1.0 1.0 } linGrow { density = 0.7 -2 density = 0.52 -1.5 density = 0.19 -1 density = 0.07 -0.5 density = 0.02 0 } speed { power = 0.0 0.35 power = 0.001 0.45 power = 0.1 0.5 power = 0.2 0.6 power = 1.0 1.0 } size { density = 0.7 0.8 density = 0.19 1 } } MODEL_MULTI_SHURIKEN_PERSIST { //Get the inputs from the other config. transformName = fxTransformTurbo localRotation = 90,0,0 localPosition = 0,0,0 fixedScale = 0.7 energy = 1 speed = 1 name = VernierExhaust modelName = RealPlume/Nertea_FX_New/KerbalAtomics/fx-gc-open-25-turbo fixedEmissions = false sizeClamp = 50 decluster = true emitOnUpdate = true randomInitalVelocityOffsetMaxRadius = 0 speed { power = 0.0 0.35 power = 0.001 0.35 power = 0.1 0.5 power = 0.2 0.6 power = 1.0 2 } emission { power = 0.0 0.0 power = 0.001 0.7 power = 0.1 0.7 power = 0.2 0.7 power = 1.0 1.0 } linGrow { density = 0.7 -1 density = 0.02 20 } } AUDIO { name = audio channel = Ship clip = sound_rocket_hard volume = 0.0 0.0 volume = 1.0 1 pitch = 0.0 0.5 pitch = 1.0 0.7 loop = true } } Nuclear_SolidCore_LH2_2 { MODEL_MULTI_SHURIKEN_PERSIST { //Get the inputs from the other config. transformName = thrustTransform localRotation = 0,0,0 localPosition = 0,0,0 fixedScale = 0.3 energy = 1 speed = 1 emissionMult = 0.5 alphaMult = 1 saturationMult = 0.7 // name = core modelName = RealPlume/Nertea_FX_New/KerbalAtomics/fx-sc-25-core fixedEmissions = false sizeClamp = 50 randomInitalVelocityOffsetMaxRadius = 0 emitOnUpdate = true decluster = true alphaMult { density = 0.7 0.7 density = 0.02 0.7 } speed { power = 0.0 0.35 power = 0.001 0.35 power = 0.1 0.5 power = 0.2 0.6 power = 1.0 1.0 } emission { power = 0.0 0.0 power = 0.001 0.7 power = 0.1 0.7 power = 0.2 0.7 power = 1.0 1.0 } linGrow { density = 0.7 -1 density = 0.02 1 } } MODEL_MULTI_SHURIKEN_PERSIST { //Get the inputs from the other config. transformName = thrustTransform localRotation = 0,0,0 localPosition = 0,0,0.1 fixedScale = 0.25 energy = 1 speed = 1 emissionMult = 0.5 alphaMult = 1.8 saturationMult = 0.7 // name = plume modelName = RealPlume/Nertea_FX_New/KerbalAtomics/fx-sc-25-plume fixedEmissions = false sizeClamp = 50 randomInitalVelocityOffsetMaxRadius = 0 emitOnUpdate = true decluster = true alphaMult { density = 1.0 1.3 density = 0.0 1.3 } emission { power = 0.0 0.0 power = 0.001 0.7 power = 0.1 0.7 power = 0.2 0.7 power = 1.0 1.0 } linGrow { density = 0.7 -2 density = 0.52 -1.5 density = 0.19 -1 density = 0.07 -0.5 density = 0.02 0 } speed { power = 0.0 0.35 power = 0.001 0.45 power = 0.1 0.5 power = 0.2 0.6 power = 1.0 1.0 } size { density = 0.7 0.8 density = 0.19 1 } } MODEL_MULTI_SHURIKEN_PERSIST { //Get the inputs from the other config. transformName = fxTransformTurbo localRotation = 90,0,0 localPosition = 0,0,0 fixedScale = 0.7 energy = 1 speed = 1 saturationMult = 0.7 name = VernierExhaust modelName = RealPlume/Nertea_FX_New/KerbalAtomics/fx-gc-open-25-turbo fixedEmissions = false sizeClamp = 50 decluster = true emitOnUpdate = true randomInitalVelocityOffsetMaxRadius = 0 speed { power = 0.0 0.35 power = 0.001 0.35 power = 0.1 0.5 power = 0.2 0.6 power = 1.0 2 } emission { power = 0.0 0.0 power = 0.001 0.7 power = 0.1 0.7 power = 0.2 0.7 power = 1.0 1.0 } linGrow { density = 0.7 -1 density = 0.02 20 } } AUDIO { name = audio channel = Ship clip = sound_rocket_hard volume = 0.0 0.0 volume = 1.0 1 pitch = 0.0 0.5 pitch = 1.0 0.7 loop = true } } } @MODULE[ModuleEnginesFX]:HAS[#engineID[LH2]] { @runningEffectName = ! %powerEffectName = Nuclear_SolidCore_LH2 } @MODULE[ModuleEnginesFX]:HAS[#engineID[LF]] { @runningEffectName = ! %powerEffectName = Nuclear_SolidCore_LH2_2 } }