Jump to content

The KROMBUS Project


Thorenn

Recommended Posts

On 4/12/2023 at 12:10 PM, Thorenn said:

 

Inspired by Phil Bono's ROMBUS / ITHACUS / ICARUS concept.

Open for testing.

Suggestions for improvement, balancing, are welcome.

 

Currently available Parts:

Fairing, Maintank, External Tanks, Engine and Heatshield.

Not balanced.

Spacedock Link

krombuswdcnl.jpg

Looks really cool!

I'll look at it today and see if I can make any suggestions :)

Link to comment
Share on other sites

Here's my suggestion for the external tank:

Spoiler

PART
{
    name = KROMBUSExternalTank
    module = Part
    author = AnuBieL, AtomicTech
    model = RET1.mu
    rescaleFactor = 1
    node_attach = 1.25, 0.0, 0.0, 1.0, 0.0, 0.0, 1
    TechRequired = advFuelSystems
    entryCost = 24200
    cost = 7760
    category = FuelTank
    subcategory = 0
    title = KPKR-RET "Edge Evans" KROMBUS External Tank
  //Named after David "The Edge" Evans of U2.
    manufacturer = KonopropKorp
    description = A powerful rocket engine needs all the fuel that it can get. When the KROMBUS's main tank doesn't suffice, try adding a few of these!
    attachRules = 1,1,1,1,0
    mass = 6
    crashTolerance = 6
    breakingForce = 200
    breakingTorque = 200
    maxTemp = 2200 // = 2900
    bulkheadProfiles = size2, srf
    tags = fueltank ?lfo liquid oxidizer propellant rocket fuel KonopropKorp AtomicTech Kono Konoprop extra KROMBUS
    RESOURCE
    {
        name = LiquidFuel
        amount = 4320
        maxAmount = 4320
    }
    RESOURCE
    {
        name = Oxidizer
        amount = 5280
        maxAmount = 5280
    }
    MODULE
    {
        name = ModuleAnchoredDecoupler
        anchorName = anchor
        ejectionForce = 500
        explosiveNodeID = srf
    }
    MODULE
    {
        name = ModuleToggleCrossfeed
        crossfeedStatus = true
        toggleEditor = true
        toggleFlight = true
        techRequired = fuelSystems
    }
}
 

 

I'll, hopefully, finish the rest of my suggestions by the end of the week :)

Edited by AtomicTech
Link to comment
Share on other sites

My suggestion for the fairing:

Spoiler

PART
{
    name = KROMBUSFairings
    module = Part
    author = Squad, AnuBieL, AtomicTech
    model = RF1.mu    
    rescaleFactor = 1    
    node_stack_interstage01a = 0.0, 1.68, 0.0, 0.0, -1.0, 0.0, 2
    node_stack_interstage01b = 0.0, 1.76, 0.0, 0.0, 1.0, 0.0, 2 
    
    node_stack_interstage02a = 0.0, 3.18, 0.0, 0.0, -1.0, 0.0, 2 
    node_stack_interstage02b = 0.0, 3.26, 0.0, 0.0, 1.0, 0.0, 2 

    node_stack_interstage03a = 0.0, 4.68, 0.0, 0.0, -1.0, 0.0, 2 
    node_stack_interstage03b = 0.0, 4.76, 0.0, 0.0, 1.0, 0.0, 2 
    
    node_stack_interstage04a = 0.0, 6.18, 0.0, 0.0, -1.0, 0.0, 2 
    node_stack_interstage04b = 0.0, 6.26, 0.0, 0.0, 1.0, 0.0, 2 

    node_stack_interstage05a = 0.0, 7.68, 0.0, 0.0, -1.0, 0.0, 2 
    node_stack_interstage05b = 0.0, 7.76, 0.0, 0.0, 1.0, 0.0, 2 

    node_stack_interstage06a = 0.0, 9.18, 0.0, 0.0, -1.0, 0.0, 2 
    node_stack_interstage06b = 0.0, 9.26, 0.0, 0.0, 1.0, 0.0, 2 
    
    node_stack_top = 0.0, 0.5, 0.0, 0.0, 1.0, 0.0, 2
    node_stack_bottom = 0.0, 0.1, 0.0, 0.0, -1.0, 0.0, 2
    
    fx_gasBurst_white = 0.0, 0.3, 0.0, 0.0, 1.0, 0.0, deploy
    sound_vent_large = deploy
    
    TechRequired = composites
    entryCost = 9200
    cost = 2200
    category = Payload
    subcategory = 0
    title = KPKR-RF1 "Clayton" KROMBUS Structural Fairing
  //Named after Adam Clayton of U2.
    manufacturer = KonopropKorp
    description = With all of the payload cargo that the KROMBUS provides, the engineers at KonopropKorp have designed this state of the art fairing to cover and protect your space-bound modules during ascent.
    attachRules = 1,0,1,1,0
    mass = 2.25
    thermalMassModifier = 2.0
    skinMassPerArea = 4.0
    skinInternalConductionMult = 0.25
    // heatConductivity = 0.06 // half default
    emissiveConstant = 0.8
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.2
    angularDrag = 2
    crashTolerance = 9
    maxTemp = 2600 // = 3400
    fuelCrossFeed = True
    stageOffset = 1
    childStageOffset = 1
    inverseStageCarryover = false
    bulkheadProfiles = size3
    tags = #autoLOC_500177 //#autoLOC_500177 = aero )cap cargo cone contain drag fairing hollow inter nose payload protect rocket shroud stage (stor transport
    MODULE
    {
        name = ModuleProceduralFairing
        
        nSides = 36
        nArcs = 6
        nCollidersPerXSection = 12
        TextureURL = Squad/Parts/Aero/fairings/fairings_diff
        CapTextureURL = Squad/Parts/Aero/fairings/fairingsCap
        TextureNormalURL = Squad/Parts/Aero/fairings/fairings_normals
        DefaultBaseTextureURL = Squad/Parts/Aero/fairings/FairingBase
        DefaultBaseNormalsURL = Squad/Parts/Aero/fairings/FairingBaseNormals
        BaseModelTransformName = Mesh
        
        panelGrouping = 3
        pivot = 0,0.17,0
        axis = 0,1,0
        
        baseRadius = 3.75
        maxRadius = 4
        capRadius = 0.375
        snapThreshold = 0.25
        snapThresholdFineAdjust = 0.02
        xSectionHeightMin = 0.5
        xSectionHeightMax = 10
        xSectionHeightMinFineAdjust = 0.09
        xSectionHeightMaxFineAdjust = 8
        aberrantNormalLimit = 12
        minHeightRadiusRatio = 0.11
        
        edgeSlide = 0.15
        edgeWarp = 0.02
        noseTip = 0.5
        
        UnitAreaMass = 0.016
        UnitAreaCost = 18
        
        stagingToggleEnabledEditor = True
        stagingToggleEnabledFlight = False
        stagingEnableText = #autoLOC_502000 //#autoLOC_502000 = Fairing Not Staged
        stagingDisableText = #autoLOC_502001 //#autoLOC_502001 = Fairing Staged
    }
    MODULE
    {
        name = ModuleCargoBay
        DeployModuleIndex = 0
        closedPosition = 0
        lookupRadius = 2.5
        partTypeName = Fairing
        
        // nodeOuterAftID = bottom
        // nodeInnerAftID = top
    }
    MODULE
    {
        name = ModuleTestSubject
        useStaging = True
        useEvent = False
        situationMask = 127
        CONSTRAINT
        {
            type = ATMOSPHERE
            value = True
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ALWAYS
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = BODYANDSITUATION
            prestige = Significant
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ONCEPERPART
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = ALTITUDE
            test = GT
            value = 0 // this just registers altitude as something to care about
            situationMask = 8
        }
        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 = SPEED
            test = LT
            value = 2000
            situationMask = 8
        }
        CONSTRAINT
        {
            type = ALTITUDE
            test = LT
            value = 300000
            situationMask = 16
            body = _NotSun
        }
        CONSTRAINT
        {
            type = ALTITUDE
            test = LT
            value = 600000
            situationMask = 32
            body = _NotSun
        }
    }
    
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Cap1
        attachNodeNames = interstage01a,interstage01b
    }    
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Cap2
        attachNodeNames = interstage02a,interstage02b
    }
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Cap3
        attachNodeNames = interstage03a,interstage03b
    }
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Cap4
        attachNodeNames = interstage04a,interstage04b
    }
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Cap5
        attachNodeNames = interstage05a,interstage05b
    }
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Cap6
        attachNodeNames = interstage06a,interstage06b
    }    

    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Truss1
        attachNodeNames = interstage01a,interstage01b,interstage02a,interstage02b,interstage03a,interstage03b,interstage04a,interstage04b,interstage05a,interstage05b,interstage06a,interstage06b
    }    
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Truss2
        attachNodeNames = interstage02a,interstage02b,interstage03a,interstage03b,interstage04a,interstage04b,interstage05a,interstage05b,interstage06a,interstage06b
    }
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Truss3
        attachNodeNames = interstage03a,interstage03b,interstage04a,interstage04b,interstage05a,interstage05b,interstage06a,interstage06b
    }
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Truss4
        attachNodeNames = interstage04a,interstage04b,interstage05a,interstage05b,interstage06a,interstage06b
    }
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Truss5
        attachNodeNames = interstage05a,interstage05b,interstage06a,interstage06b
    }
    MODULE
    {
        name = ModuleStructuralNode
        rootObject = Truss6
        attachNodeNames = interstage06a,interstage06b
    }    

    MODULE 
    {
        name = ModuleStructuralNodeToggle
        MeshMenuName = #autoLOC_502002 //#autoLOC_502002 = Truss Structure
        NodeMenuName = #autoLOC_502003 //#autoLOC_502003 = Interstage Nodes
        showNodes = false
    }
    MODULE
    {
        name = ModulePartVariants
        useMultipleDragCubes = false        
        baseVariant = White
        VARIANT
        {
            name = White
            displayName = #autoLOC_8007119
            themeName = White
            description = #autoLOC_8003040
            primaryColor = #ffffff
            secondaryColor = #ffffff
            TEXTURE
            {
                materialName=FairingsMat
                mainTextureURL = Squad/Parts/Aero/fairings/fairings_diff
            }
            EXTRA_INFO
            {
                FairingsTextureURL=Squad/Parts/Aero/fairings/fairings_diff
                FairingsNormalURL=Squad/Parts/Aero/fairings/fairings_normals
                BaseMaterialName=FairingBase
                BaseTextureName=Squad/Parts/Aero/fairings/FairingBase
                BaseNormalsName=Squad/Parts/Aero/fairings/FairingBaseNormals
            }
        }
        VARIANT
        {
            name = BlackAndWhite
            displayName = #autoLOC_8007120
            themeName = BlackAndWhite
            description = #autoLOC_8003041
            primaryColor = #000000
            secondaryColor = #ffffff
            TEXTURE
            {
                materialName=FairingsMat
                mainTextureURL = Squad/Parts/Aero/fairings/fairings_diff_grey
            }
            EXTRA_INFO
            {
                FairingsTextureURL=Squad/Parts/Aero/fairings/fairings_diff_grey
                FairingsNormalURL=Squad/Parts/Aero/fairings/fairings_grey_normals
                BaseMaterialName=FairingBase
                BaseTextureName=Squad/Parts/Aero/fairings/FairingBase_bw
                BaseNormalsName=Squad/Parts/Aero/fairings/FairingBaseNormals_bw
            }
        }
        VARIANT
        {
            name = Orange
            displayName = #autoLOC_8007100
            themeName = Orange
            description = #autoLOC_8003045
            primaryColor = #f49841
            secondaryColor = #f49841
            TEXTURE
            {
                materialName=FairingsMat
                mainTextureURL = Squad/Parts/Aero/fairings/fairings_diff_orange
            }
            EXTRA_INFO
            {
                FairingsTextureURL=Squad/Parts/Aero/fairings/fairings_diff_orange
                FairingsNormalURL=Squad/Parts/Aero/fairings/fairings_orange_normals
                BaseMaterialName=FairingBase
                BaseTextureName=Squad/Parts/Aero/fairings/FairingBase_orange
                BaseNormalsName=Squad/Parts/Aero/fairings/FairingBaseNormals_orange
            }
        }
        VARIANT
        {
            name = Gold
            displayName = #autoLOC_8007118
            themeName = Gold
            description = #autoLOC_8003046
            primaryColor = #fccb0a
            TEXTURE
            {
                materialName=FairingsMat
                mainTextureURL = Squad/Parts/Aero/fairings/fairings_diff
            }
            EXTRA_INFO
            {
                FairingsTextureURL=Squad/Parts/Aero/fairings/fairings_diff
                FairingsNormalURL=Squad/Parts/Aero/fairings/fairings_normals
                BaseMaterialName=FairingBase
                shaderName=KSP/Bumped Specular (Mapped)
                BaseTextureName=Squad/Parts/Aero/fairings/FairingBase_goldDiffuse
                BaseNormalsName=Squad/Parts/Aero/fairings/FairingBaseNormals_goldSilver
                _SpecMap=Squad/Parts/Aero/fairings/FairingBase_goldSpecular
                _Shininess= 0.82
                _Opacity= 1.0
                _RimFalloff= 2.0
                _AmbientMultiplier= 0.3
                
            }
        }
        VARIANT
        {
            name = Silver
            displayName = #autoLOC_6005005
            themeName = Silver
            description = #autoLOC_6005006
            primaryColor = #cecece
            TEXTURE
            {
                materialName=FairingsMat
                mainTextureURL = Squad/Parts/Aero/fairings/fairings_diff
            }
            EXTRA_INFO
            {
                FairingsTextureURL=Squad/Parts/Aero/fairings/fairings_silverDiffuse
                FairingsNormalURL=Squad/Parts/Aero/fairings/fairings_normals
                FairingsSpecularURL=Squad/Parts/Aero/fairings/fairings_silverSpecular
                BaseMaterialName=FairingBase
                shaderName=KSP/Bumped Specular (Mapped)
                BaseTextureName=Squad/Parts/Aero/fairings/FairingBase_silverDiffuse
                BaseNormalsName=Squad/Parts/Aero/fairings/FairingBaseNormals_goldSilver
                _SpecMap=Squad/Parts/Aero/fairings/FairingBase_silverSpecular
                _SpecMap=Squad/Parts/Aero/fairings/FairingsMat_silverSpecular
                _Shininess= 0.41
                _Opacity= 1.0
                _RimFalloff= 2.0
                _AmbientMultiplier= 0.3
            }        
        }
    }
}
 

 

Link to comment
Share on other sites

 
 
welcome aboard AtomicTech (thanks for the feedback & suggestions).
Changes implemented & a few sweets packed. 
a Landrecan Heatshield added (didn't pay enough attention to the little tin can). 
1M RCS Tank (Integrated Thrusters) 
2M RCS Tank (Integrated Thrusters)
Link to comment
Share on other sites

Suggestion for the small heat shield:

Spoiler

PART
{
    name = HSLC
    module = Part
    author = AnuBieL, AtomicTech
    rescaleFactor = 1
    node_stack_bottom = 0.0, -0.10, 0.0, 0.0, 1.0, 0.0, 1
    node_stack_top = 0.0, -0.49, 0.0, 0.0, -1.0, 0.0, 1
    node_stack_top1 = 0.0, -0.99, 0.0, 0.0, -1.0, 0.0, 1
    node_stack_top2 = 0.0, -0.249, 0.0, 0.0, -1.0, 0.0, 1
    sound_vent_medium = decouple
    CoPOffset = 0.0, 0.5, 0.0
    CoLOffset = 0.0, -0.075, 0.0
    TechRequired = advFlightControl
    entryCost = 600
    cost = 175
    category = Thermal
    subcategory = 0
    title = KPKR-HSLC "McCormick" KROMBUS Miniature Structural Heat Shield
    manufacturer = KonopropKorp
    description = A small structural heat shield built by KonopropKorp as a competitor to the Heat Shield (0.625m) built by the O.M.B. Demolition Enterprises.
    attachRules = 1,0,1,0,0
    mass = 0.03
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.2
    angularDrag = 2
    breakingForce = 100
    breakingTorque = 100
    crashTolerance = 9
    maxTemp = 3300
    fuelCrossFeed = False
    PhysicsSignificance = 0
    stageOffset = 1
    childStageOffset = 1
    bulkheadProfiles = size0
    thermalMassModifier = 1.0
    tags = #autoLOC_500180 //#autoLOC_500180 = ablat drag entry insulate protect re- rocket therm

    MODULE
    {
        name = ModuleAblator
        ablativeResource = Ablator
        lossExp = -7500
        lossConst = 0.1
        pyrolysisLossFactor = 6000
        reentryConductivity = 0.01
        ablationTempThresh = 500
        
        useChar = True
        charModuleName = shieldChar
    }
    MODULE
    {
        name = ModuleColorChanger
        moduleID = shieldChar
        shaderProperty = _BurnColor
        useRate = False
        toggleInEditor = False
        toggleInFlight = False
        
        redCurve
        {
            key = 0 0
            key = 1 1
        }
        greenCurve
        {
            key = 0 0
            key = 1 1
        }
        blueCurve
        {
            key = 0 0
            key = 1 1
        }
        alphaCurve
        {
            key = 0 0.8
        }
    }
    
    MODULE
    {
        name = ModuleDecouple
        ejectionForce = 50
        isOmniDecoupler = true
        menuName = #autoLOC_502004 //#autoLOC_502004 = Jettison Heat Shield
        stagingEnabled = False
        stagingEnableText = #autoLOC_502005 //#autoLOC_502005 = HS Jettison Not Staged
        stagingDisableText = #autoLOC_502006 //#autoLOC_502006 = HS Jettison Staged
    }
    MODULE
    {
        name = ModuleJettison
        jettisonName = fairing
        bottomNodeName = top
        isFairing = True
        jettisonedObjectMass = 0.1
        jettisonForce = 5
        jettisonDirection = 0 0 1        
    }
        MODULE
    {
        name = ModuleJettison
        jettisonName = fairing1
        bottomNodeName = top1
        isFairing = True
        jettisonedObjectMass = 0.1
        jettisonForce = 5
        jettisonDirection = 0 0 1        
    }
        MODULE
    {
        name = ModuleJettison
        jettisonName = fairing2
        bottomNodeName = top2
        isFairing = True
        jettisonedObjectMass = 0.1
        jettisonForce = 5
        jettisonDirection = 0 0 1        
    }

    MODULE
    {
        name = ModuleTestSubject
        useStaging = False
        useEvent = True
        situationMask = 15
        CONSTRAINT
        {
            type = ATMOSPHERE
            value = True
        }
        CONSTRAINT
        {
            // prelaunch only at home
            // our main situationMask above includes prelaunch
            // but if nothome, here, and that mask with this value (11)
            // which excludes prelaunch
            type = SITUATION
            value = 11
            body = _NotHome
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = LT
            value = 350
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = GT
            value = 250
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = LT
            value = 500
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = GT
            value = 300
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = LT
            value = 600
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = GT
            value = 400
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 1500
            situationMask = 8
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 1000
            situationMask = 8
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 2500
            situationMask = 8
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 1500
            situationMask = 8
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 6000
            situationMask = 8
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 2000
            situationMask = 8
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = DENSITY
            test = LT
            value = 0.1
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 4000
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 6000
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 8000
            prestige = Significant
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 12000
            prestige = Significant
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 12000
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 16000
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ALWAYS
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = BODYANDSITUATION
            prestige = Significant
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ONCEPERPART
            prestige = Exceptional
        }
    }
    RESOURCE
    {
        name = Ablator
        amount = 55
        maxAmount = 55
    }    
    
    MODULE
    {
        name = ModuleLiftingSurface
        useInternalDragModel = False
        deflectionLiftCoeff = 0.0875
        liftingSurfaceCurve = CapsuleBottom
        disableBodyLift = False
        omnidirectional = False
        perpendicularOnly = True
        transformDir = Y
        transformSign = -1
        nodeEnabled = True
        attachNodeName = bottom
    }

    MODULE
    {
        name = ModuleCargoPart
        packedVolume = 50
    }
}
 

 

Link to comment
Share on other sites

Suggestion for the large heat shield:

Spoiler

PART
{
    name = KROMBUSHeatshield
    module = Part
    author = AnuBieL, AtomicTech
    model = RHS-MK1.mu
    rescaleFactor = 1
    node_stack_bottom = 0.0, -1.5, 0.0, 0.0, -1.0, 0.0, 2
    node_stack_top = 0.0, -0.25, 0.0, 0.0, 1.0, 0.0, 2
    CoPOffset = 0.0, 1.4, 0.0
    CoLOffset = 0.0, -0.5, 0.0
    fx_gasBurst_white = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, decouple
    sound_vent_large = decouple
    TechRequired = advLanding
    entryCost = 1800
    cost = 1200
    category = Thermal
    subcategory = 0
    title = KPKR-RHS "Mullen" KROMBUS Ablative Protective Surface
    manufacturer = KonopropKorp
    description =  This massive heat shield serves to protect the KROMBUS vehicle on re-entry in order to recover it for later use.
    attachRules = 1,1,1,1,0
    mass = 1.1
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.2
    angularDrag = 2
    breakingForce = 200
    breakingTorque = 200
    crashTolerance = 9
    maxTemp = 3300
    fuelCrossFeed = False
    PhysicsSignificance = 0
    stageOffset = 1
    childStageOffset = 1
    bulkheadProfiles = size3
    thermalMassModifier = 1.0
    tags = #autoLOC_500189 //#autoLOC_500189 = ablat drag entry insulate protect re- rocket therm

    MODULE
    {
        name = ModuleJettison
        jettisonName = fairing
        bottomNodeName = bottom
        isFairing = True
        jettisonedObjectMass = 0.5
        jettisonForce = 15
        jettisonDirection = 0 0 1
        stagingEnabled = False
        checkBottomNode = True
    }    
    
    MODULE
    {
        name = ModuleDecouple
        ejectionForce = 100
        isOmniDecoupler = true
        menuName = #autoLOC_502004 //#autoLOC_502004 = Jettison Heat Shield
        stagingEnabled = False
        stagingEnableText = #autoLOC_502005 //#autoLOC_502005 = HS Jettison Not Staged
        stagingDisableText = #autoLOC_502006 //#autoLOC_502006 = HS Jettison Staged
    }
    

    MODULE
    {
        name = ModuleAblator
        ablativeResource = Ablator
        lossExp = -7500
        lossConst = 0.1
        pyrolysisLossFactor = 6000
        reentryConductivity = 0.01
        ablationTempThresh = 500
        
        useChar = True
        charModuleName = shieldChar
    }
    MODULE
    {
        name = ModuleColorChanger
        moduleID = shieldChar
        shaderProperty = _BurnColor
        useRate = False
        toggleInEditor = False
        toggleInFlight = False
        
        redCurve
        {
            key = 0 0
            key = 1 1
        }
        greenCurve
        {
            key = 0 0
            key = 1 1
        }
        blueCurve
        {
            key = 0 0
            key = 1 1
        }
        alphaCurve
        {
            key = 0 0.8
        }
    }
    
    MODULE
    {
        name = ModuleTestSubject
        useStaging = False
        useEvent = True
        situationMask = 15
        CONSTRAINT
        {
            type = ATMOSPHERE
            value = True
        }
        CONSTRAINT
        {
            // prelaunch only at home
            // our main situationMask above includes prelaunch
            // but if nothome, here, and that mask with this value (11)
            // which excludes prelaunch
            type = SITUATION
            value = 11
            body = _NotHome
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = LT
            value = 350
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = GT
            value = 250
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = LT
            value = 500
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = GT
            value = 300
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = LT
            value = 600
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = GT
            value = 400
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 1500
            situationMask = 8
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 1000
            situationMask = 8
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 2500
            situationMask = 8
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 1500
            situationMask = 8
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 6000
            situationMask = 8
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 2000
            situationMask = 8
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = DENSITY
            test = LT
            value = 0.1
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 4000
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 6000
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 8000
            prestige = Significant
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 12000
            prestige = Significant
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 12000
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 16000
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ALWAYS
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = BODYANDSITUATION
            prestige = Significant
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ONCEPERPART
            prestige = Exceptional
        }
    }
    RESOURCE
    {
        name = Ablator
        amount = 1900
        maxAmount = 1900
    }    
    
    MODULE
    {
        name = ModuleLiftingSurface
        useInternalDragModel = False
        deflectionLiftCoeff = 3.375
        liftingSurfaceCurve = CapsuleBottom
        disableBodyLift = False
        omnidirectional = False
        perpendicularOnly = True
        transformDir = Y
        transformSign = -1
        nodeEnabled = True
        attachNodeName = bottom
    }
    RESOURCE
    {
        name = MonoPropellant
        amount = 325
        maxAmount = 325
    }
}

 

Link to comment
Share on other sites

Suggestion for the existing rocket engine:

Spoiler

PART
{
    name = KROMBUSMainEngine
    module = Part
    author = AnuBieL, AtomicTech
    mesh = RME-MK1.mu
    scale = 1.0
    rescaleFactor = 1
    node_stack_top = 0.0,0.15,0.0 , 0.0, 1.0, 0.0, 2
    node_stack_bottom = 0.0, -0.5, 0.0, 0.0, -1.0, 0.0, 2
    mass = 30
    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
    breakingForce = 400
    breakingTorque = 400
    crashTolerance = 20
    maxTemp = 2000 // = 3600
    TechRequired = veryHeavyRocketry
    entryCost = 115000
    cost = 39000
    category = Engine
    subcategory = 0
    title = KPKR-RME "Bono" KROMBUS High Thrust Propulsion Engine
    manufacturer = KonopropKorp
    description  = Although KonopropKorp is new to the Kerbospace Industry, their KPKR-RME "Bono" KROMBUS High Thrust Propulsion Engine has quickly been regarded as one of the best engines for reusable heavy lifters!
    attachRules = 1,0,1,1,0
    bulkheadProfiles = size3
    tags = #autoLOC_500480 //#autoLOC_500480 = ascent launch main (mammoth propuls rocket
    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_veryLarge
                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/ks25_Exhaust
                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
                localPosition = 0, 0, -0.08
            }
        }
        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 = ModuleEnginesFX
        engineID = RME-MK1
        runningEffectName = running_closed
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 10000
        heatProduction = 225
        fxOffset = 0, 0, 0.25
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 1.9
        PROPELLANT
        {
            name = LiquidFuel
            ratio = 0.9
            DrawGauge = True
        }
        PROPELLANT
        {
            name = Oxidizer
            ratio = 1.1
        }
        atmosphereCurve
        {
            key = 0 305
            key = 1 280
      key = 5 200
            key = 12 0.001
        }
    }
    MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = ElectricCharge
            rate = 12.0
        }
    }
    MODULE
    {
        name = ModuleGimbal
        gimbalTransformName = thrustTransform
        gimbalRange = 2.125
    }
    MODULE
    {
        name = FXModuleAnimateThrottle
        animationName = HeatAnimationClusterEngine
        responseSpeed = 0.001
        dependOnEngineState = True
        dependOnThrottle = True
    }
    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 = 0
        fxMax = 1
        maxDistance = 100
        falloff = 1.5
        thrustTransformName = thrustTransform
    }
}
 

 

Link to comment
Share on other sites

Suggestion for a new engine:

This new engine adds a nuclear engine (only liquid fuel) mode for vacuum operations. I propose that it would be located in the TheKROMBUSProject/KROMBUSMainEngine folder. :)

Spoiler

PART
{
    name = AtomicTechKROMBUSEngine
    module = Part
    author = AnuBieL, AtomicTech
    mesh = RME-MK1.mu
    scale = 1.0
    rescaleFactor = 1
    node_stack_top = 0.0,0.15,0.0 , 0.0, 1.0, 0.0, 2
    node_stack_bottom = 0.0, -0.5, 0.0, 0.0, -1.0, 0.0, 2
    mass = 35
    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
    breakingForce = 400
    breakingTorque = 400
    crashTolerance = 20
    maxTemp = 2000 // = 3600
    TechRequired = veryHeavyRocketry
    entryCost = 115000
    cost = 52000
    category = Engine
    subcategory = 0
    title = AT-RME "Murdoc" KROMBUS High Thrust/Performance Propulsion Engine
    manufacturer = AtomicTech Inc.
    description  = Based off of the success of KonopropKorp's KPKR-RME "Bono" KROMBUS High Thrust Propulsion Engine, AtomicTech Inc. was contracted out to build a variant of the Bono that adds a high efficiency thermonuclear propulsion module for high altitude and vacuum operations. The radioactive core was purchased directly from Kerbin Reactodyne's Event Horizon Laboratory instead of AtomicTech Inc.'s Kodfrey Facility after a undisclosed incident halted production of reactor cores for other contractor's rocket engine. 
    attachRules = 1,0,1,1,0
    bulkheadProfiles = size3
    tags = #autoLOC_500480 //#autoLOC_500480 = ascent launch main (mammoth propuls rocket
    EFFECTS
    {
    running_nuclear
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_hard
                volume = 0.0 0.0
                volume = 0.05 0.6
                volume = 1.0 1.5
                pitch = 0.0 1.2
                pitch = 1.0 2.0
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_light
                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, 0
            }
            MODEL_MULTI_PARTICLE
            {
                //modelName = Squad/FX/ks25_Exhaust
                modelName = Squad/FX/hydroLOXFlame
                transformName = thrustPoint
                emission = 0.0 0.0
                emission = 0.1 0.5
                emission = 1.0 1.0
                speed = 0.0 0.8
                speed = 1.0 1.0
            }
        }
        shockDiamond
        {

//            MODEL_MULTI_PARTICLE
//            {
//                modelName = Squad/FX/diamondBlue
//                transformName = thrustTransform
//                emission = 0.0 0.0
//                //emission = 0.05 0.0
//                //emission = 0.075 0.5
//                emission = 1.0 1.0
//                speed = 0.0 0.2
//                speed = 1.0 1.0
//            }
            PREFAB_PARTICLE
            {
                prefabName = fx_exhaustFlame_blue_small
                transformName = thrustTransformYup
                emission = 0.0 0.0
                emission = 0.05 1.0
                emission = 0.5 3.5
                emission = 1.0 5.0
                speed = 0.0 0.5
                speed = 1.0 0.8
                localOffset = 0, 0, 0
            }
        }
        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 = thrustTransform
                oneShot = true
            }
            AUDIO
            {
                channel = Ship
                clip = sound_explosion_low
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
        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_veryLarge
                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/ks25_Exhaust
                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
                localPosition = 0, 0, -0.08
            }
        }
        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 = RME-MK1
        secondaryEngineID = ClosedCycle
    }
    MODULE
    {
        name = ModuleEnginesFX
        engineID = RME-MK1
        runningEffectName = running_closed
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 10000
        heatProduction = 225
        fxOffset = 0, 0, 0.25
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 1.9
        PROPELLANT
        {
            name = LiquidFuel
            ratio = 0.9
            DrawGauge = True
        }
        PROPELLANT
        {
            name = Oxidizer
            ratio = 1.1
        }
        atmosphereCurve
        {
            key = 0 305
            key = 1 280
      key = 5 200
            key = 12 0.001
        }
    }
 MODULE
    {
        name = ModuleEnginesFX
        engineID = RME-Nuke
        runningEffectName = running_nuclear
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 5000
        heatProduction = 300
        fxOffset = 0, 0, 0.25
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 1.9
        PROPELLANT
        {
            name = LiquidFuel
            ratio = 0.9
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 0 1000
      key = 0.5 500
            key = 1 250
            key = 5 0.001
        }
    }
    MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = ElectricCharge
            rate = 12.0
        }
    }
    MODULE
    {
        name = ModuleGimbal
        gimbalTransformName = thrustTransform
        gimbalRange = 2.125
    }
    MODULE
    {
        name = FXModuleAnimateThrottle
        animationName = HeatAnimationClusterEngine
        responseSpeed = 0.001
        dependOnEngineState = True
        dependOnThrottle = True
    }
    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 = 0
        fxMax = 1
        maxDistance = 100
        falloff = 1.5
        thrustTransformName = thrustTransform
    }
}
 

 

Link to comment
Share on other sites

On 4/18/2023 at 9:14 PM, AtomicTech said:

Suggestion for a new engine:

This new engine adds a nuclear engine (only liquid fuel) mode for vacuum operations. I propose that it would be located in the TheKROMBUSProject/KROMBUSMainEngine folder. :)

  Reveal hidden contents

PART
{
    name = AtomicTechKROMBUSEngine
    module = Part
    author = AnuBieL, AtomicTech
    mesh = RME-MK1.mu
    scale = 1.0
    rescaleFactor = 1
    node_stack_top = 0.0,0.15,0.0 , 0.0, 1.0, 0.0, 2
    node_stack_bottom = 0.0, -0.5, 0.0, 0.0, -1.0, 0.0, 2
    mass = 35
    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
    breakingForce = 400
    breakingTorque = 400
    crashTolerance = 20
    maxTemp = 2000 // = 3600
    TechRequired = veryHeavyRocketry
    entryCost = 115000
    cost = 52000
    category = Engine
    subcategory = 0
    title = AT-RME "Murdoc" KROMBUS High Thrust/Performance Propulsion Engine
    manufacturer = AtomicTech Inc.
    description  = Based off of the success of KonopropKorp's KPKR-RME "Bono" KROMBUS High Thrust Propulsion Engine, AtomicTech Inc. was contracted out to build a variant of the Bono that adds a high efficiency thermonuclear propulsion module for high altitude and vacuum operations. The radioactive core was purchased directly from Kerbin Reactodyne's Event Horizon Laboratory instead of AtomicTech Inc.'s Kodfrey Facility after a undisclosed incident halted production of reactor cores for other contractor's rocket engine. 
    attachRules = 1,0,1,1,0
    bulkheadProfiles = size3
    tags = #autoLOC_500480 //#autoLOC_500480 = ascent launch main (mammoth propuls rocket
    EFFECTS
    {
    running_nuclear
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_hard
                volume = 0.0 0.0
                volume = 0.05 0.6
                volume = 1.0 1.5
                pitch = 0.0 1.2
                pitch = 1.0 2.0
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_light
                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, 0
            }
            MODEL_MULTI_PARTICLE
            {
                //modelName = Squad/FX/ks25_Exhaust
                modelName = Squad/FX/hydroLOXFlame
                transformName = thrustPoint
                emission = 0.0 0.0
                emission = 0.1 0.5
                emission = 1.0 1.0
                speed = 0.0 0.8
                speed = 1.0 1.0
            }
        }
        shockDiamond
        {

//            MODEL_MULTI_PARTICLE
//            {
//                modelName = Squad/FX/diamondBlue
//                transformName = thrustTransform
//                emission = 0.0 0.0
//                //emission = 0.05 0.0
//                //emission = 0.075 0.5
//                emission = 1.0 1.0
//                speed = 0.0 0.2
//                speed = 1.0 1.0
//            }
            PREFAB_PARTICLE
            {
                prefabName = fx_exhaustFlame_blue_small
                transformName = thrustTransformYup
                emission = 0.0 0.0
                emission = 0.05 1.0
                emission = 0.5 3.5
                emission = 1.0 5.0
                speed = 0.0 0.5
                speed = 1.0 0.8
                localOffset = 0, 0, 0
            }
        }
        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 = thrustTransform
                oneShot = true
            }
            AUDIO
            {
                channel = Ship
                clip = sound_explosion_low
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
        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_veryLarge
                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/ks25_Exhaust
                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
                localPosition = 0, 0, -0.08
            }
        }
        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 = RME-MK1
        secondaryEngineID = ClosedCycle
    }
    MODULE
    {
        name = ModuleEnginesFX
        engineID = RME-MK1
        runningEffectName = running_closed
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 10000
        heatProduction = 225
        fxOffset = 0, 0, 0.25
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 1.9
        PROPELLANT
        {
            name = LiquidFuel
            ratio = 0.9
            DrawGauge = True
        }
        PROPELLANT
        {
            name = Oxidizer
            ratio = 1.1
        }
        atmosphereCurve
        {
            key = 0 305
            key = 1 280
      key = 5 200
            key = 12 0.001
        }
    }
 MODULE
    {
        name = ModuleEnginesFX
        engineID = RME-Nuke
        runningEffectName = running_nuclear
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 5000
        heatProduction = 300
        fxOffset = 0, 0, 0.25
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 1.9
        PROPELLANT
        {
            name = LiquidFuel
            ratio = 0.9
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 0 1000
      key = 0.5 500
            key = 1 250
            key = 5 0.001
        }
    }
    MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = ElectricCharge
            rate = 12.0
        }
    }
    MODULE
    {
        name = ModuleGimbal
        gimbalTransformName = thrustTransform
        gimbalRange = 2.125
    }
    MODULE
    {
        name = FXModuleAnimateThrottle
        animationName = HeatAnimationClusterEngine
        responseSpeed = 0.001
        dependOnEngineState = True
        dependOnThrottle = True
    }
    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 = 0
        fxMax = 1
        maxDistance = 100
        falloff = 1.5
        thrustTransformName = thrustTransform
    }
}
 

 

Although we've got a small nuclear engine at the moment, we will see the inclusion of this beast in a later update :)

Link to comment
Share on other sites

6 hours ago, AtomicTech said:

Suggestion for the RHS.cfg:

  Reveal hidden contents

PART
{
    name = KROMBUSH2HS
    module = Part
    author = AnuBieL, AtomicTech
    model = RHS.mu
    rescaleFactor = 1
    node_stack_bottom = 0.0, -1.1, 0.0, 0.0, -1.0, 0.0, 1
    node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1
    CoPOffset = 0.0, 1.4, 0.0
    CoLOffset = 0.0, -0.5, 0.0
    fx_gasBurst_white = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, decouple
    sound_vent_large = decouple
    TechRequired = advLanding
    entryCost = 1800
    cost = 500
    category = Thermal
    subcategory = 0
    title = KPKR-RHS "BBQ" KROMBUS-2 Ablative Protective Surface
    manufacturer = KonopropKorp
    description =  This heat shield serves to protect the KROMBUS-2 vehicle on re-entry in order to recover it for later use. (Designed to fit the Mk1-3 Command Pod.)
    attachRules = 1,1,1,1,0
    mass = 1.1
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.2
    angularDrag = 2
    breakingForce = 200
    breakingTorque = 200
    crashTolerance = 9
    maxTemp = 3300
    fuelCrossFeed = False
    PhysicsSignificance = 0
    stageOffset = 1
    childStageOffset = 1
    bulkheadProfiles = size2
    tags = #autoLOC_501792   //#autoLOC_501792 = decouple
    fx_gasBurst_white = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, decouple
    sound_decoupler_fire = decouple
    MODULE
    {
        name = ModuleJettison
        jettisonName = fairing1
        bottomNodeName = bottom
        isFairing = True
        jettisonedObjectMass = 0.5
        jettisonForce = 15
        jettisonDirection = 1 0 0
        stagingEnabled = False
        checkBottomNode = True
    }    
    MODULE
    {
        name = ModuleJettison
        jettisonName = fairing2
        bottomNodeName = bottom
        isFairing = True
        jettisonedObjectMass = 0.5
        jettisonForce = 15
        jettisonDirection = -1 0 0
        stagingEnabled = False
        checkBottomNode = True
    }  
    
    MODULE
    {
        name = ModuleDecouple
        ejectionForce = 100
        isOmniDecoupler = true
        menuName = #autoLOC_502004 //#autoLOC_502004 = Jettison Heat Shield
        stagingEnabled = False
        stagingEnableText = #autoLOC_502005 //#autoLOC_502005 = HS Jettison Not Staged
        stagingDisableText = #autoLOC_502006 //#autoLOC_502006 = HS Jettison Staged
    }
    

    MODULE
    {
        name = ModuleAblator
        ablativeResource = Ablator
        lossExp = -7500
        lossConst = 0.1
        pyrolysisLossFactor = 6000
        reentryConductivity = 0.01
        ablationTempThresh = 500
        
        useChar = True
        charModuleName = shieldChar
    }
    MODULE
    {
        name = ModuleColorChanger
        moduleID = shieldChar
        shaderProperty = _BurnColor
        useRate = False
        toggleInEditor = False
        toggleInFlight = False
        
        redCurve
        {
            key = 0 0
            key = 1 1
        }
        greenCurve
        {
            key = 0 0
            key = 1 1
        }
        blueCurve
        {
            key = 0 0
            key = 1 1
        }
        alphaCurve
        {
            key = 0 0.8
        }
    }
    
    MODULE
    {
        name = ModuleTestSubject
        useStaging = False
        useEvent = True
        situationMask = 15
        CONSTRAINT
        {
            type = ATMOSPHERE
            value = True
        }
        CONSTRAINT
        {
            // prelaunch only at home
            // our main situationMask above includes prelaunch
            // but if nothome, here, and that mask with this value (11)
            // which excludes prelaunch
            type = SITUATION
            value = 11
            body = _NotHome
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = LT
            value = 350
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = GT
            value = 250
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = LT
            value = 500
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = GT
            value = 300
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = LT
            value = 600
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = SPEEDENV
            test = GT
            value = 400
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 1500
            situationMask = 8
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 1000
            situationMask = 8
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 2500
            situationMask = 8
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 1500
            situationMask = 8
            prestige = Significant
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 6000
            situationMask = 8
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 2000
            situationMask = 8
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = DENSITY
            test = LT
            value = 0.1
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 4000
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 6000
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 8000
            prestige = Significant
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 12000
            prestige = Significant
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 12000
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 16000
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ALWAYS
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = BODYANDSITUATION
            prestige = Significant
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ONCEPERPART
            prestige = Exceptional
        }
    }
    RESOURCE
    {
        name = Ablator
        amount = 1900
        maxAmount = 1900
    }    
    
    MODULE
    {
        name = ModuleLiftingSurface
        useInternalDragModel = False
        deflectionLiftCoeff = 3.375
        liftingSurfaceCurve = CapsuleBottom
        disableBodyLift = False
        omnidirectional = False
        perpendicularOnly = True
        transformDir = Y
        transformSign = -1
        nodeEnabled = True
        attachNodeName = bottom
    }
    RESOURCE
    {
        name = MonoPropellant
        amount = 75
        maxAmount = 100
    }
}

 

Also, also, I saw that you changed to using .tga files for textures; was there any particular reason?

TGA use less RAM, so i start to optimise all Parts

Link to comment
Share on other sites

  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...