Jump to content

Random Part reconfigs to create new wonders.


Recommended Posts

The following are reconfigs required to build a pod racer. The first requires the "moon Buggy" from the @MajorTom69 Space 1999 parts pack. The rest is all made from stock parts. The buggy and nacelles have node attachments for the hover jets. They are full on or off, no throttle and calibrated for the set up you will see in the pictures.

In the folder structure GameData/MT-Eagle/Parts/Rover/  create a blank config file called HoverCat.cfg then copy and paste this.

Spoiler

 

PART
{
    // --- general parameters ---
    name = HoverCat
    module = Part
    author = MajorTom, ColdJ

    // --- asset parameters ---
    MODEL
    {
        model = MT-Eagle/Parts/Rover/buggy
    }
    MODEL
    {
        model = Squad/Parts/Engine/miniJet/SmallJet
        scale = 0.2
    }
    rescaleFactor = 1
    Buoyancy = 1
// fractions of up parameter give angles 0.5 is 45degrees
    // --- node definitions: Position X, Position Y, Position Z, Up X, Up Y, Up Z
    node_stack_wheel1 = 0.29841, 0.58088, -0.1, 0.0, 0.0, 1.0, 0
    node_stack_wheel2 = 0.29841, 0.0, -0.1, 0.0, 0.0, 1.0, 0
    node_stack_wheel3 = 0.29841, -0.58088, -0.1, 0.0, 0.0, 1.0, 0
    node_stack_wheel4 = -0.29841, 0.58088, -0.1, 0.0, 0.0, 1.0, 0
    node_stack_wheel5 = -0.29841, 0.0, -0.1, 0.0, 0.0, 1.0, 0
    node_stack_wheel6 = -0.29841, -0.58088, -0.1, 0.0, 0.0, 1.0, 0
    node_stack_back = 0.0, -0.49225, -0.18187, 0.0, 0.0, -1.0, 0
    node_stack_front = 0.0, 0.0, 0.26109, 0.0, 0.0, 1.0, 0
    node_stack_tail = 0.0, 1.02225, 0.0, 0.0, 1.0, 0.0, 0
    node_stack_nose = 0.0, -0.82935, 0.0, 0.0, -1.0, 0.0, 0
    // --- editor parameters ---
    TechRequired  = fieldScience
    entryCost = 10000
    cost = 9500
    category = Pods
    subcategory = 0
    title = HoverCat
    manufacturer = Alpha Engineering and CJ Aerospace
    description = A compact ATV with mounting points for winches, tow bars, docking ports or even other ATVs

    // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
    attachRules = 1,0,1,1,0

    // --- standard part parameters ---
    mass = 0.50
    dragModelType = default
    maximum_drag = 0.20
    minimum_drag = 0.15
    angularDrag = 2
    crashTolerance = 450
    breakingForce = 2072
    breakingTorque = 2072
    maxTemp = 2000
    vesselType = Rover
    CoMOffset = 0.0, 0.0, 2.0
    CrewCapacity = 1
    bulkheadProfiles = size1, srf
    tags = rover buggy moonbuggy eagle transporter Aquacat car
    
    // internals, resources, effects, modules
        MODULE

        {

            name = ModuleCommand

            minimumCrew = 0        
        
        }


    MODULE
    {
        name = ModuleLight
        lightName = spotlight
        useAnimationDim = true
        lightBrightenSpeed = 2.5
        lightDimSpeed = 2.5
        animationName = Moonbuggy_lights
        resourceAmount = 0.03
        useResources = true
    }    
    MODULE
    {
        name = KerbalSeat
        seatPivotName = seatPivot
        ejectDirection = -1.5, 0, 0
        offset = 1.0,0,0
    }
    //MODULE
    //{
        //name = KerbalSeat
        //seatPivotName = seatPivot
        //ejectDirection = 1, 0, 0
        //offset = -1.0,0,0
        //position = -1.0,0,0
    //}
    RESOURCE
    {
        name = ElectricCharge
        amount = 2000
        maxAmount = 2000
    }
    RESOURCE
    {
        name = IntakeAir
        amount = 10
        maxAmount = 10
    }
    MODULE
    {
        name = ModuleReactionWheel
        
        PitchTorque = 15
        YawTorque = 5
        RollTorque = 15
        
        RESOURCE
        {
            name = ElectricCharge
            rate = 0.24
        }
    }    
    MODULE
    {
        name = ModuleScienceExperiment    
        
        experimentID = crewReport
        
        experimentActionName = Crew Report
        resetActionName = Discard Crew Report
        reviewActionName = Review Report
        
        useStaging = False    
        useActionGroups = True
        hideUIwhenUnavailable = True    
        rerunnable = True
        
        xmitDataScalar = 1.0
        
        usageReqMaskInternal = 5
        usageReqMaskExternal = -1
    }
    MODULE
    {
        name = ModuleScienceContainer
        
        reviewActionName = Review Stored Data
        storeActionName = Store Experiments
        evaOnlyStorage = True
        storageRange = 1.3
    }
//    MODULE
//    {
//        name = ModuleDataTransmitter
//        antennaType = DIRECT
//        packetInterval = 0.10
//        packetSize = 2
//        packetResourceCost = 20.0
//        requiredResource = ElectricCharge
//        DeployFxModules = 0
//        antennaPower = 1000000
//        antennaCombinable = False
//    }
    MODULE
    {
        name = ModuleGPS
    }
    //MODULE
    //{
        //name = ModuleDockingNode
        //referenceAttachNode = front
        //nodeTransformName = dockingNode
            //controlTransformName = controlNode
        //nodeType = size0, size1
    //}
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = true
        OUTPUT_RESOURCE
        {
            name = ElectricCharge
            rate = 0.3
        }
    }
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = true
        OUTPUT_RESOURCE
        {
            name = IntakeAir
            rate = 5
        }
    }
    MODULE
    {
        name = ModuleEnginesFX
        engineID = Cruise
        thrustVectorTransformName = thrustTransform
        exhaustDamage = False
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 5
        heatProduction = 0.01
        useEngineResponseTime = True
        engineAccelerationSpeed = 0.12
        engineDecelerationSpeed = 0.5
        fxOffset = 0, 0, 0.74
        spoolEffectName = running_turbine
        engineSpoolIdle = 0.05
        engineSpoolTime = 2.0
        EngineType = Turbine
        exhaustDamageMultiplier = 1
        clampPropReceived = True
        PROPELLANT
        {
            name = IntakeAir
            ignoreForIsp = True
            ratio = 22
        }
        PROPELLANT
        {
            name = ElectricCharge
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 1
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 0 6400 0 0
        }
        // Jet params
        atmChangeFlow = True
        useVelCurve = True
        useAtmCurve = True
        machLimit = 0.75
        machHeatMult = 3.5
        velCurve
        {
            key = 0 1 0 0
            key = 0.44 0.897 0 0
            key = 1 1 0.1988732 0.1988732
            key = 1.3 1.03 0 0
            key = 2 0.68 -1.065708 -1.065708
            key = 2.4 0 0 0
        }
        atmCurve
        {
            key = 0 0 0 0.7448742
            key = 0.072 0.13 2.075459 2.075459
            key = 0.16 0.28 1.464173 1.464173
            key = 0.42 0.578 0.93687 0.93687
            key = 1 1 0.5529748 0
        }
    }
    MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = ElectricCharge
            rate = 1
        }
    }
    EFFECTS
    {        

        running_turbine
        {
            AUDIO
            {
                channel = Ship
                clip = sound_jet_deep
                volume = 0.0 0.0
                volume = 0.05 0.35
                volume = 1.0 0.5
                pitch = 0.0 0.6
                pitch = 0.05 0.8
                pitch = 1.0 1.5
                loop = true
            }
        }

    }
    MODULE
    {
        name = ModulePartVariants
        useMultipleDragCubes = false
        baseVariant = Yellow
        VARIANT
        {
            name = Yellow
            displayName = Yellow
            themeName = Yellow
            primaryColor = #cdad00
            secondaryColor = #cdad00
            TEXTURE
            {
                shader=KSP/Emissive Specular
                mainTextureURL = MT-Eagle/Parts/Rover/Moonbuggy_lamps
                mainTextureURL = MT-Eagle/Parts/Rover/Moonbuggy_lamps_litv
            
                mainTextureURL = MT-Eagle/Parts/Rover/Moonbuggy_textures
            }
        }
        VARIANT
        {
            name = Canada
            displayName = Canada
            themeName = Canada
            primaryColor = #ffffff
            secondaryColor = #1874cd

            TEXTURE
            {
                shader=KSP/Emissive Specular
                mainTextureURL = MT-Eagle/Parts/Rover/Moonbuggy_texturesC
            }


        }
        VARIANT
        {
            name = BlueLightning
            displayName = BlueLightning
            themeName = BlueL
            primaryColor = #cdad00
            secondaryColor = #0000ff
            TEXTURE
            {
                shader=KSP/Emissive Specular
                mainTextureURL = MT-Eagle/Parts/Rover/Moonbuggy_texturesB            
            }
    
        }
        VARIANT
        {
            name = Santa
            displayName = Santa
            themeName = Santa
            primaryColor = #cdad00
            secondaryColor = #0000ff
            TEXTURE
            {
                shader=KSP/Emissive Specular
                mainTextureURL = MT-Eagle/Parts/Rover/Moonbuggy_texturesR            
            }
    
        }

    }
    MODULE
    {
        name = ModuleInventoryPart        
        InventorySlots = 1
    }
}

 

In the folder structure GameData/Squad/Parts/Engine/miniJet/   create SmallJetHover.cfg and paste in this.

Spoiler

 

PART
{
    name = miniJethover
    module = Part
    author = Porkjet
    MODEL
    {
        model = Squad/Parts/Engine/miniJet/SmallJet
    }
    //MODEL
    //{
    //    model = Squad/Parts/Engine/jetEngines/turbineInside
    //    //position = 0.0, 0.0, 0.0
    //    scale = 0.5, 0.5, 0.5
    //    //rotation = 0, 0, 0
    //}
    rescaleFactor = 0.2
    node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0
    CoMOffset = 0.0, 0.01, 0.0
    TechRequired = aviation
    entryCost = 2000
    cost = 450
    category = Engine
    subcategory = 0
    title = Hover Jet
    manufacturer = #autoLOC_501624 //#autoLOC_501624 = C7 Aerospace Division
    description = #autoLOC_500464 //#autoLOC_500464 = A small turbojet. Not very efficient, anemic thrust, but hey--it's cheap! And it's so cute...look at the little thing!
    attachRules = 1,1,1,1,0
    mass = 0.25
    // heatConductivity = 0.06 // half default
    emissiveConstant = 0.8 // engine nozzles are good at radiating.
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.2
    angularDrag = 2
    crashTolerance = 450
    maxTemp = 2000 // = 3600
    bulkheadProfiles = size0
    tags = hover
    MODULE
    {
        name = ModuleEnginesFX
        engineID = Cruise
        thrustVectorTransformName = thrustTransform
        exhaustDamage = False
        ignitionThreshold = 0.1
        minThrust = 3.687
        maxThrust = 3.687
        heatProduction = 15
        useEngineResponseTime = True
        engineAccelerationSpeed = 0.12
        engineDecelerationSpeed = 0.5
        fxOffset = 0, 0, 0.74
        flameoutEffectName = flameout
        powerEffectName = running_thrust
        engageEffectName = engage
        disengageEffectName = disengage
        spoolEffectName = running_turbine
        engineSpoolIdle = 0.05
        engineSpoolTime = 2.0
        EngineType = Turbine
        exhaustDamageMultiplier = 4
        clampPropReceived = True
        PROPELLANT
        {
            name = IntakeAir
            ignoreForIsp = True
            ratio = 22
        }
        PROPELLANT
        {
            name = ElectricCharge
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 1
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 0 6400 0 0
        }
        // Jet params
        atmChangeFlow = True
        useVelCurve = True
        useAtmCurve = True
        machLimit = 0.75
        machHeatMult = 3.5
        velCurve
        {
            key = 0 1 0 0
            key = 0.44 0.897 0 0
            key = 1 1 0.1988732 0.1988732
            key = 1.3 1.03 0 0
            key = 2 0.68 -1.065708 -1.065708
            key = 2.4 0 0 0
        }
        atmCurve
        {
            key = 0 0 0 0.7448742
            key = 0.072 0.13 2.075459 2.075459
            key = 0.16 0.28 1.464173 1.464173
            key = 0.42 0.578 0.93687 0.93687
            key = 1 1 0.5529748 0
        }
    }
    //MODULE
    //{
    //    name = ModuleAnimateHeat
    //    ThermalAnim = HeatAnimationEmissiveJet
    //}


    MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = ElectricCharge
            rate = 1
        }
    }
    MODULE
    {
        name = ModuleTestSubject
        useStaging = True
        useEvent = True
        situationMask = 15
        CONSTRAINT
        {
            type = OXYGEN
            value = True
        }
        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
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 300
            situationMask = 8
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 50
            situationMask = 8
        }
        CONSTRAINT
        {
            type = DENSITY
            test = GT
            value = 0.3
            situationMask = 8
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = DENSITY
            test = GT
            value = 0.1
            situationMask = 8
            prestige = Significant
        }
        CONSTRAINT
        {
            type = DENSITY
            test = GT
            value = 0.05
            situationMask = 8
            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 = 1000
            prestige = Significant
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 2000
            prestige = Significant
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 500
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 1000
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ALWAYS
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = BODYANDSITUATION
            prestige = Significant
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ONCEPERPART
            prestige = Exceptional
        }
    }
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 0
        fxMax = 0.5
        maxDistance = 10
        falloff = 2
        thrustTransformName = thrustTransform
    }
    EFFECTS
    {        

        running_turbine
        {
            AUDIO
            {
                channel = Ship
                clip = sound_jet_deep
                volume = 0.0 0.0
                volume = 0.01 0.03
                volume = 0.3 0.1
                pitch = 0.0 0.03
                pitch = 0.4 0.01
                loop = true
            }
                    MODEL_MULTI_PARTICLE
                    {
                        modelName = Squad/FX/IonPlume
                        transformName = thrustTransform
                emission = 0.0 0.0

                emission = 0.2 0.1
                emission = 0.3 0.12
                        //speed = 0.0 0.0
                        //speed = 1.0 1.0
                        localPosition = 0, 0, 0.12
                     }
        }
}

 

In the same folder create SmallJetHoverThrust.cfg  and paste in

Spoiler

 

PART
{
    name = miniJethoveralso
    module = Part
    author = Porkjet
    MODEL
    {
        model = Squad/Parts/Engine/miniJet/SmallJet
    }
    //MODEL
    //{
    //    model = Squad/Parts/Engine/jetEngines/turbineInside
    //    //position = 0.0, 0.0, 0.0
    //    scale = 0.5, 0.5, 0.5
    //    //rotation = 0, 0, 0
    //}
    rescaleFactor = 1
    node_stack_top = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0
    CoMOffset = 0.0, 0.3, 0.0
    TechRequired = aviation
    entryCost = 2000
    cost = 450
    category = Engine
    subcategory = 0
    title = Pod nacelle thruster
    manufacturer = #autoLOC_501624 //#autoLOC_501624 = C7 Aerospace Division
    description = #autoLOC_500464 //#autoLOC_500464 = A small turbojet. Not very efficient, anemic thrust, but hey--it's cheap! And it's so cute...look at the little thing!
    attachRules = 1,1,1,1,0
    mass = 0.25
    // heatConductivity = 0.06 // half default
    emissiveConstant = 0.8 // engine nozzles are good at radiating.
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.2
    angularDrag = 2
    crashTolerance = 450
    maxTemp = 2000 // = 3600
    bulkheadProfiles = size0
    tags = hover
    MODULE
    {
        name = ModuleEnginesFX
        engineID = Cruise
        thrustVectorTransformName = thrustTransform
        exhaustDamage = False
        ignitionThreshold = 0.1
        minThrust = 0.0
        maxThrust = 30.0
        heatProduction = 15
        useEngineResponseTime = True
        engineAccelerationSpeed = 0.12
        engineDecelerationSpeed = 0.5
        fxOffset = 0, 0, 0.74
        flameoutEffectName = flameout
        powerEffectName = running_thrust
        engageEffectName = engage
        disengageEffectName = disengage
        spoolEffectName = running_turbine
        engineSpoolIdle = 0.05
        engineSpoolTime = 2.0
        EngineType = Turbine
        exhaustDamageMultiplier = 4
        clampPropReceived = True
        PROPELLANT
        {
            name = IntakeAir
            ignoreForIsp = True
            ratio = 22
        }
        PROPELLANT
        {
            name = ElectricCharge
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 1
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 0 6400 0 0
        }
        // Jet params
        atmChangeFlow = True
        useVelCurve = True
        useAtmCurve = True
        machLimit = 0.75
        machHeatMult = 3.5
        velCurve
        {
            key = 0 1 0 0
            key = 0.44 0.897 0 0
            key = 1 1 0.1988732 0.1988732
            key = 1.3 1.03 0 0
            key = 2 0.68 -1.065708 -1.065708
            key = 2.4 0 0 0
        }
        atmCurve
        {
            key = 0 0 0 0.7448742
            key = 0.072 0.13 2.075459 2.075459
            key = 0.16 0.28 1.464173 1.464173
            key = 0.42 0.578 0.93687 0.93687
            key = 1 1 0.5529748 0
        }
    }
    //MODULE
    //{
    //    name = ModuleAnimateHeat
    //    ThermalAnim = HeatAnimationEmissiveJet
    //}


    MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = ElectricCharge
            rate = 1
        }
    }
    MODULE
    {
        name = ModuleTestSubject
        useStaging = True
        useEvent = True
        situationMask = 15
        CONSTRAINT
        {
            type = OXYGEN
            value = True
        }
        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
        }
        CONSTRAINT
        {
            type = SPEED
            test = LT
            value = 300
            situationMask = 8
        }
        CONSTRAINT
        {
            type = SPEED
            test = GT
            value = 50
            situationMask = 8
        }
        CONSTRAINT
        {
            type = DENSITY
            test = GT
            value = 0.3
            situationMask = 8
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = DENSITY
            test = GT
            value = 0.1
            situationMask = 8
            prestige = Significant
        }
        CONSTRAINT
        {
            type = DENSITY
            test = GT
            value = 0.05
            situationMask = 8
            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 = 1000
            prestige = Significant
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 2000
            prestige = Significant
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = GT
            value = 500
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = ALTITUDEENV
            test = LT
            value = 1000
            prestige = Exceptional
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ALWAYS
            prestige = Trivial
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = BODYANDSITUATION
            prestige = Significant
        }
        CONSTRAINT
        {
            type = REPEATABILITY
            value = ONCEPERPART
            prestige = Exceptional
        }
    }
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 0
        fxMax = 0.5
        maxDistance = 10
        falloff = 2
        thrustTransformName = thrustTransform
    }
    EFFECTS
    {        

        running_turbine
        {
            AUDIO
            {
                channel = Ship
                clip = sound_jet_deep
                volume = 0.0 0.0
                volume = 0.01 0.03
                volume = 0.3 0.1
                pitch = 0.0 0.03
                pitch = 0.4 0.01
                loop = true
            }
                    MODEL_MULTI_PARTICLE
                    {
                        modelName = Squad/FX/IonPlume
                        transformName = thrustTransform
                emission = 0.0 0.0

                emission = 0.2 0.1
                emission = 0.3 0.12
                        //speed = 0.0 0.0
                        //speed = 1.0 1.0
                        localPosition = 0, 0, 0.12
                     }
        }
}

 

in Squad/Parts/Structural/mk1Parts/ create   mk0podnace.cfg and paste in

 

Spoiler

PART
{
    name = Mk0FusePodRaceNacelle
    module = Part
    author = Porkjet
    rescaleFactor = 0.5
    node_stack_top = 0.0, 0.9375, 0.0, 0.0, 1.0, 0.0
    node_stack_bottom = 0.0, -0.9375, 0.0, 0.0, -1.0, 0.0
    node_attach = 0.0, 0.0, -0.625, 0.0, 0.0, 1.0, 1
    node_stack_FrntR = 0.5, 0.9365, 0.3, 0.0, 0.0, 1, 0
    node_stack_FrntL = -0.5, 0.9365, 0.3, 0.0, 0.0, 1, 0
    node_stack_backR = 0.5, -0.9365, 0.3, 0.0, 0.0, 1, 0
    node_stack_backL = -0.5, -0.9365, 0.3, 0.0, 0.0, 1, 0
    TechRequired = generalConstruction
    entryCost = 2500
    cost = 380
    category = Structural
    subcategory = 0
    title = Pod Nacelle
    manufacturer = #autoLOC_501624 //#autoLOC_501624 = C7 Aerospace Division
    description = #autoLOC_500737 //#autoLOC_500737 = A standard fuselage. Carries no fuel; is there merely as a structural element. As such, it's lighter and more solid due to reinforcements.
    attachRules = 1,1,1,1,0
    mass = 0.1
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.3
    angularDrag = 2
    crashTolerance = 450
    breakingForce = 500
    breakingTorque = 500
    maxTemp = 2000 // = 3000
    fuelCrossFeed = True
    bulkheadProfiles = size1, srf
    tags = pod nacelle hover
    DRAG_CUBE
    {
        cube = Default, 2.418281,0.7749683,0.6994118, 2.418281,0.7749683,0.6994118, 1.213026,0.9717144,0.1341177, 1.213026,0.9717144,0.1341177, 2.418281,0.7723047,0.6994124, 2.418281,0.7723256,0.6994124, 0,0,0, 1.25,1.937501,1.250001
    }
    MODEL
    {
        model = Squad/Parts/Structural/mk1Parts/StructuralHollow
    }
    RESOURCE
    {
        name = ElectricCharge
        amount = 2000
        maxAmount = 2000
    }
    MODULE
    {
        name = ModuleReactionWheel
        
        PitchTorque = 15
        YawTorque = 10
        RollTorque = 15
        
        RESOURCE
        {
            name = ElectricCharge
            rate = 0.24
        }
}

In Squad/Parts/Utility/rcsBlockRV-105/ create  HoverRCS.cfg and paste in

Spoiler

 

PART

{


    name = HoverRCS
    module = Part

    author = NovaSilisko, Pablo, ColdJ
    scale = 0.1
    MODEL

    {

        model = Squad/Parts/Utility/rcsBlockRV-105/model
        scale = 1.0, 1.0, 1.0
    }

    MODEL
    {
    model = Squad/Parts/Utility/linearVernorRCS/Assets/linearRCS
    scale = 0.5
        rotation = 0, 0, 90
    }
    rescaleFactor = 1

    // --- node definitions ---

    // definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z

    node_attach = 0.45212, -0.0000, -0.0000, 1.0, 0.0, 0.0
    
    
    
    
    // --- editor parameters ---

    TechRequired = precisionEngineering

    entryCost = 4500

    cost = 750

    category = Control

    subcategory = 0

    title = Hover RCS Block
    manufacturer = STEADLER, Reaction Systems, CJ Marine
    description = An RCS thruster block for medium to large Submarines.
    
    // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision

    attachRules = 0,1,0,1,0

    
    // --- standard part parameters ---

    mass = 0.0001
    dragModelType = defaul

    maximum_drag = 0.001
    minimum_drag = 0.001

    angularDrag = 0.001

    crashTolerance = 2000
    breakingForce = 5000
    breakingTorque = 5000

    maxTemp = 2000

    
bulkheadProfiles = srf

    tags = hover RCS thrusters
    
//MODULE

    //{

    //    name = ModuleRCS

    //    thrusterTransformName = RCSthruster

    //    thrusterPower = 0.3

    //    resourceName = MonoPropellant

    //    atmosphereCurve

    //     {

    //       key = 0 250

    //     key = 1 80

    //     key = 3 0.001

    //     }

    //}

    // --- rcs module parameters ---


    EFFECTS

    {

        running
    
    {

            AUDIO

            {

                channel = Ship

                clip = sound_IonEngine
                volume = 0.0 0.0

                volume = 0.02 0.2

                volume = 0.2 0.2

                volume = 0.4 0.2

                pitch = 0.0 0.7

                pitch = 1.0 1.5

                loop = true

            }

            MODEL_MULTI_PARTICLE

            {

                modelName = Squad/FX/IonPlume
                transformName = RCSthruster

                emission = 0.0 0.0

                emission = 0.1 0.0

                emission = 0.4 0.04
                speed = 0.0 0.8

                speed = 1.0 1.0
    
                localRotation = -90, 0, 0

            }

        }
    }

    MODULE

    {

        name = ModuleRCSFX

        thrusterTransformName = RCSthruster

        thrusterPower = 0.8
        resourceName = IntakeAir
        runningEffectName = running

        atmosphereCurve

        {

            key = 0 250

             key = 1 5000
             key = 5 1000
        }

    }

    RESOURCE

    {

        name = IntakeAir
        amount = 10
        maxAmount = 10
    }

}

 

The rest is a standard small circular intake and some fuel line.

T9BvH3e.pngs23DT1F.pngN8O4tuH.png

@Caerfinon@Dientus@Astrion@Martian Emigrant@Lisias@Kerminator K-100

Link to comment
Share on other sites

For those who don't know, the other skins can be found in the What did you do in KSP today thread. Except for Santa's Sleigh. Here. Rename it to   Moonbuggy_texturesR.png

ADPeD93.png

Edited by ColdJ
Link to comment
Share on other sites

1 hour ago, ColdJ said:

The buggy and nacelles have node attachments for the hover jets. They are full on or off, no throttle and calibrated for the set up you will see in the pictures.

LoL That's just two kewl!

Link to comment
Share on other sites

7 hours ago, Astrion said:

@ColdJ Could I make a video promoting this? I'll give you credit for it.

Feel free. I can't make videos myself so it is appreciated. And to lower number of posts I will add for all. If you hit the front of the nacelles too often then pop in to the C:\Kerbal Space Program\GameData\Squad\Parts\Aero\miniIntake/ folder and make a copy of the SmallIntake.cfg with the  "name =" changed to  name = miniIntakeHover and then go down and change the     crashTolerance = 7 to   crashTolerance = 450 and save as SmallIntakeHover.cfg

Oh and change the "tags =" to include Hover , so that all the hover parts turn up together when you type hover in the parts search. That will mean you can use that part at the front and have more minor crashes without them going boom. And as @Spaceman.Spiff has expressed an interest, here is your pointer to this  thread with the configs. :)

Link to comment
Share on other sites

3 minutes ago, chadgaskerman said:

ROKjtCb.png

This single ion engine with a -5000% thrust value produces somewhere in the ballpark of 700EC/s

They power all of my newer carriers

How does it produce negative thrust? Can you paste your config in here so we can check it out?

Link to comment
Share on other sites

MODULE
    {
        name = ModuleEnginesFX
        isEnabled = True
        persistentId = 4285758393
        independentThrottle = True
        independentThrottlePercentage = 100
        staged = False
        flameout = False
        EngineIgnited = False
        engineShutdown = False
        currentThrottle = 0
        thrustPercentage = -5000
        manuallyOverridden = False
        includeinDVCalcs = False
        stagingEnabled = True
        EVENTS

 

It's quite simple really, just save the engine as a subassembly and edit it's thrust value to a negative and it will produce electricity and Xenon gas.

For it to work in flight it needs to have independent throttle enabled 

Link to comment
Share on other sites

14 minutes ago, chadgaskerman said:

It's quite simple really, just save the engine as a subassembly and edit it's thrust value to a negative and it will produce electricity and Xenon gas.

Oh I see. you haven't got negative thrust, you have made a generator.

You could just make an Ion engine part with a generator that produces Xenon gas and electricity, if you want a magic engine. Like this. See the bold underline halfway through

PART
{
    name = ionEnginemagic
    module = Part
    author = NovaSilisko
    mesh = model.mu
    scale = 1
    rescaleFactor = 1
    node_stack_top = 0.0, 0.2135562, 0.0, 0.0, 1.0, 0.0, 0
    node_stack_bottom = 0.0, -0.1872844, 0.0, 0.0, -1.0, 0.0, 0
    TechRequired = ionPropulsion
    entryCost = 16800
    cost = 8000
    category = Engine
    subcategory = 0
    title = Magic Dawn Electric Propulsion System
    manufacturer = #autoLOC_501635 //#autoLOC_501635 = Ionic Symphonic Protonic Electronics
    description = #autoLOC_500404 //#autoLOC_500404 = By emitting ionized xenon gas through a small thruster port, Dawn can produce incredibly efficient propulsion, but with a downside of very low thrust and high energy usage. According to ISP Electronics sales reps, the rumours of this engine being powered by "dark magic" are largely exaggerated.
    attachRules = 1,0,1,1,0
    mass = 0.25
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.2
    angularDrag = 2
    crashTolerance = 7
    maxTemp = 2000 // = 3600
    bulkheadProfiles = size0
    tags = #autoLOC_500405 //#autoLOC_500405 = (dawn deep drive efficient engine (ion probe thruster vacuum xenon
    MODULE
    {
        name = ModuleEnginesFX
        engineID = Ion
        thrustVectorTransformName = thrustTransform
        exhaustDamage = False
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 2
        heatProduction = 0
        powerEffectName = IonPlume
        EngineType = Electric
        PROPELLANT
        {
            name = ElectricCharge
            ratio = 1.8
            DrawGauge = True
            minResToLeave = 1.0
        }
        PROPELLANT
        {
            name = XenonGas
            ratio = 0.1
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 0 4200
            key = 1 100
            key = 1.2 0.001
        }
    }

    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = true
        OUTPUT_RESOURCE
        {
            name = ElectricCharge
            rate = 0.75
        }

        OUTPUT_RESOURCE
        {
            name = XenonGas
            rate = 0.75
        }
    }

    MODULE
    {
        name = FXModuleAnimateThrottle
        animationName = colorAnimation
        dependOnEngineState = True
        responseSpeed = 0.5
        engineName = Ion
        dependOnThrottle = True
    }
    EFFECTS
    {        
        IonPlume
        {
            AUDIO
            {
                channel = Ship
                clip = sound_IonEngine
                volume = 0.0 0.0
                volume = 0.05 0.20
                volume = 1.0 0.25
                pitch = 0.0 0.2
                pitch = 1.0 0.8
                loop = true
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/IonPlume
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.25 0.5            
                emission = 1.0 1.0
                //speed = 0.0 0.0
                //speed = 1.0 1.0
                localPosition = 0, 0, 0.12
            }
        }
    }
    MODULE
    {
        name = ModuleTestSubject
        useStaging = True
        useEvent = True
        situationMask = 112
        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 = LT
            value = 300000
            situationMask = 16
            body = _NotSun
        }
        CONSTRAINT
        {
            type = ALTITUDE
            test = LT
            value = 600000
            situationMask = 32
            body = _NotSun
        }
    }
}

Edited by ColdJ
Link to comment
Share on other sites

Been very slowly getting the node attachment points right on a rover probe I built for @Dientus earlier. Been doing it while refining Gerry Anderson models and it took way longer than I thought it would. I think the original mesh didn't use the 1 metre standard. Anyway. Using the Mk2 Lander can v2 (now know that there is a v1 hiding in the folders) here is the config for it. Do the usual in  GameData\Squad\Parts\Command\mk2LanderCan_v2/

Spoiler

 

PART
{
    name = mk2LanderProbe_v2
    module = Part
    author = RoverDude, ColdJ
    MODEL
    {
        model = Squad/Parts/Command/mk2LanderCan_v2/mk2LanderCan
    }
    rescaleFactor = 1
    node_stack_hatch = 0.0,0.174178,-1.32667,0.0,0.0,-1,1
    node_stack_nose = 0.0,0.174178,1.36707,0.0,0.0,1,1
    node_stack_bottom = 0.0, -0.403574, 0.0, 0.0, -1.0, 0.0, 2
    node_stack_top = 0.0, 0.751929, 0.0, 0.0, 1.0, 0.0, 2

    node_stack_FrontR = 0.600000, 0, 1.00000, 1, 0, 0, 1
    node_stack_FrontL = -0.6000000, 0, 1.00000, -1, 0, 0, 1
    node_stack_BackR = 0.600000, 0, -1.00000, 1, 0, 0, 1
    node_stack_BackL = -0.6000000, 0, -1.00000, -1, 0, 0, 1
    node_stack_chinF = 0.0, -0.409574, 1.00000, 0.0, -1.0, 0.0, 1
    node_stack_chinB = 0.0, -0.409574, -1.00000, 0.0, -1.0, 0.0, 1
    node_stack_crownF = 0.0, 0.759929, 1.00000, 0.0, 1.0, 0.0, 1
    node_stack_crownB = 0.0, 0.759929, -1.00000, 0.0, 1.0, 0.0, 1
    node_stack_back = 0.0, 0.0, -1.33067, 0.0, 0.0, -1, 1
    node_stack_eyes = 0.0, 0.0, 1.36907, 0.0, 0.0, 1, 1
    TechRequired = fieldScience
    entryCost = 8200
    cost = 3250
    category = Pods
    subcategory = 0
    title = Dientus Mk2 Lander Probe
    manufacturer = Sean's Cannery and CJ Aerospace
    description = For bigger probing.
    attachRules = 1,0,1,1,0
    mass = 1.355  //Same as the LEM from Making History - less crash tolerance, etc. than a re-entry pod
    dragModelType = default
    maximum_drag = 0.20
    minimum_drag = 0.15
    angularDrag = 2
    crashTolerance = 200
    maxTemp = 1200
    skinMaxTemp = 2000
    vesselType = Probe
    CrewCapacity = 0
    bulkheadProfiles = size2
    tags = #autoLOC_500333 //#autoLOC_500333 = capsule cmg command control ?eva fly gyro ?iva moment pilot pod react rocket space stab steer torque
    //INTERNAL
    //{
        //name = mk2LanderCanInternal
    //}
    MODULE
    {
        name = ModuleCommand
        minimumCrew = 0
        defaultControlPointDisplayName = #autoLOC_6011000 //#autoLOC_6011000 = Up
        CONTROLPOINT
        {
            name = forward
            displayName = #autoLOC_6011001 //#autoLOC_6011001 = Forward
            orientation = 90,0,0
        }
        CONTROLPOINT
        {
            name = reverse
            displayName = #autoLOC_6011004 //#autoLOC_6011004 = Reversed
            orientation = 0,0,180
        }
    }
    RESOURCE
    {
        name = ElectricCharge
        amount = 240
        maxAmount = 240
    }
    MODULE
    {
        name = ModuleReactionWheel
        PitchTorque = 15
        YawTorque = 15
        RollTorque = 15
        RESOURCE
        {
            name = ElectricCharge
            rate = 0.75
        }
    }
    MODULE
    {
        name = ModuleColorChanger
        shaderProperty = _EmissiveColor
        animRate = 0.8
        animState = false
        useRate = true
        toggleInEditor = true
        toggleInFlight = true
        toggleInFlight = true
        unfocusedRange = 5
        toggleName = #autoLOC_502011 //#autoLOC_502011 = Toggle Lights
        eventOnName = #autoLOC_502012 //#autoLOC_502012 = Lights On
        eventOffName = #autoLOC_502013 //#autoLOC_502013 = Lights Off
        toggleAction = True
        defaultActionGroup = Light
        redCurve
        {
            key = 0 0 0 3
            key = 1 1 0 0
        }
        greenCurve
        {
            key = 0 0 0 1
            key = 1 1 1 0
        }
        blueCurve
        {
            key = 0 0 0 0
            key = 1 0.7 1.5 0
        }
        alphaCurve
        {
            key = 0 1
        }
    }
    MODULE
    {
        name = ModuleScienceExperiment
        experimentID = crewReport
        experimentActionName = #autoLOC_502009 //#autoLOC_502009 = Crew Report
        resetActionName = #autoLOC_502010 //#autoLOC_502010 = Discard Crew Report
        reviewActionName = #autoLOC_502200 //#autoLOC_502200 = Review Report
        useStaging = False
        useActionGroups = True
        hideUIwhenUnavailable = True
        rerunnable = True
        xmitDataScalar = 1.0
        usageReqMaskInternal = 5
        usageReqMaskExternal = -1
    }
    MODULE
    {
        name = ModuleScienceContainer
        reviewActionName = #autoLOC_502201 //#autoLOC_502201 = Review Stored Data
        storeActionName = #autoLOC_502202 //#autoLOC_502202 = Store Experiments
        evaOnlyStorage = True
        storageRange = 2.0
    }
    RESOURCE
    {
        name = MonoPropellant
        amount = 40
        maxAmount = 40
    }
    MODULE
    {
        name = FlagDecal
        textureQuadName = Flag
    }
    
    MODULE
    {
        name = ModuleDataTransmitter
        antennaType = INTERNAL
        packetInterval = 1.0
        packetSize = 2
        packetResourceCost = 12.0
        requiredResource = ElectricCharge
        antennaPower = 5000
        optimumRange = 2500
        packetFloor = .1
        packetCeiling = 5
    }
    
    MODULE
    {
        name = ModuleProbeControlPoint
        minimumCrew = 0
        multiHop = False
    }
    
    
    
    MODULE
    {
        name = ModulePartVariants
        baseVariant = Lander
        VARIANT
        {
            name = Rover
            displayName =  #autoLOC_900683
            primaryColor = #aaaaaa
            secondaryColor = #ffffff
            sizeGroup = Can
            disabledAnimations = Mk2Doors
            GAMEOBJECTS
            {
                ColBot = false
                COLPod = true
                COLShell1 = false
                COLShell2 = false
                ColTop = false
                DoorLF = false
                DoorLR = false
                DoorRF = false
                DoorRR = false
                Flag = true
                InnerPod = true
                OuterPod = false
            }
        }        
        VARIANT
        {
            name = Lander
            displayName = #autoLOC_900686
            primaryColor = #ffffff
            secondaryColor = #ffffff
            sizeGroup = Lander
            disabledEvents = FlagDecal.ToggleFlag
            GAMEOBJECTS
            {
                ColBot = true
                COLPod = true
                COLShell1 = true
                COLShell2 = true
                ColTop = true
                DoorLF = true
                DoorLR = true
                DoorRF = true
                DoorRR = true
                Flag = true
                InnerPod = true
                OuterPod = true
            }            
        }    
    }

    MODULE
    {
        name = ModuleAnimateGeneric
        animationName = Mk2Doors
        startEventGUIName = #autoLOC_502058 //#autoLOC_502058 = Open Doors
        endEventGUIName = #autoLOC_502059 //#autoLOC_502059 = Close Doors
        actionGUIName = #autoLOC_502060 //#autoLOC_502060 = Toggle Doors
        evaDistance = 1.85
        useMultipleDragCubes = false
    }
    MODULE
    {
        name = ModuleSAS
    }
    MODULE
    {
        name = ModuleKerbNetAccess
        EnhancedSituationMask = 7
        EnhancedMinimumFoV = 160
        EnhancedMaximumFoV = 179.5
        MinimumFoV = 5
        MaximumFoV = 10
        AnomalyDetection = 1
        DISPLAY_MODES
        {
            Mode = Biome,#autoLOC_438890 //#autoLOC_438890 = Biome
            Mode = Terrain,#autoLOC_438839 //#autoLOC_438839 = Terrain
        }
    }
    MODULE
    {
        name = ModuleInventoryPart        
        InventorySlots = 2
    }    
}

 

VPFx1sL.png

Spoiler

GJX6nCP.pngHUCgefj.pngA827yhw.png

 

Link to comment
Share on other sites

Turned the SHADO Mobile from the Gerry Anderson UFO parts pack into a fully operational mobile laboratory and surveying Rover.

So create  GameData\SHADO\MobileUnit/ShadoMobiLab.cfg and paste.


 

Spoiler

 

PART
{


// --- general parameters ---
name = SHADO_MobileLab
module = Part
author = SkunkWorks

// --- asset parameters ---
//mesh = model.mu
    MODEL
    {
        model = SHADO/MobileUnit/model
    }


    MODEL
    {
        model = Squad/Parts/Engine/miniJet/SmallJet
        scale = 0.2
    }
scale = 1
rescaleFactor = 2
// --- node definitions ---
// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision

attachRules = 1,0,1,1,1
node_stack_top1 = 0, 0.0, 0, 0.0, 1.0, 0.0, 0 //Left
node_stack_top2 = 0, 0.0, 0, 0.0, 1.0, 0.0, 0 //Right
node_stack_top3 = -0.2503169, 1.002641, -0.001004659, 0.0, 1.0, 0.0, 3 //DSeat
node_stack_top3 = 0.2330533, 1.002641, -0.001004659, 0.0, 1.0, 0.0, 3 //PSeat
node_stack_roof = 0, 0.0, -0.85, 0.0, 0.0, -1.0, 1
node_stack_nose = 0.0, 1.4700, 0.0, 0.0, 1.0, 0.0, 1
node_stack_tail = 0.0, -1.4600, 0.0, 0.0, -1.0, 0.0, 1
// --- editor parameters ---
TechRequired = start
entryCost = 0
cost = 600
category = Pods
subcategory = 0
title = S.H.A.D.O. Mobile Lab
manufacturer = Skunk Works
description = Main Fuselage, with built in Reactors and converters for long hauls.

// --- standard part parameters ---
mass = 8.5
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.15
angularDrag = 0
crashTolerance = 5000
maxTemp = 3400
CoMOffset = 0.0, 0.0, 0.80
CrewCapacity = 2
vesselType = Rover
tags = shado mobile rover 1999
// --- internal setup ---
    INTERNAL
    {
        name = MK3_CrewCab_Int2
        offset = 0, 1, 1
    }
    MODULE
    {
        name = ModuleCommand
        minimumCrew = 1    
    }
    MODULE
    {
        name = ModuleGPS
    }
    RESOURCE
    {
    name = ElectricCharge
    amount = 5000
    maxAmount = 5000
    }
    RESOURCE
    {
    name = IntakeAir
    amount = 50
    maxAmount = 50
    }
    MODULE
    {
        name = ModuleReactionWheel
        PitchTorque = 160
        YawTorque = 80
        RollTorque = 100
    
        RESOURCE
        {
            name = ElectricCharge
            rate = 0.024
        }
    }
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = false
        requiresAllinputs = false
        resourceThreshold = 0.01
        activateGUIName = Main Power On
        shutdownGUIName = Main Power Off
        // efficiency = 95
            
            OUTPUT_RESOURCE
            {
               name = ElectricCharge
               rate = 20.05
            }
    }
    MODULE
    {
        name = ModuleDataTransmitter
        antennaType = DIRECT
        packetInterval = 0.35
        packetSize = 2
        packetResourceCost = 12.0
        requiredResource = ElectricCharge
        DeployFxModules = 0
        antennaPower = 2000000000
        antennaCombinable = True
    }
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = true
        OUTPUT_RESOURCE
        {
            name = IntakeAir
            rate = 5
        }
    }
    MODULE
    {
        name = ModuleEnginesFX
        engineID = Cruise
        thrustVectorTransformName = thrustTransform
        exhaustDamage = False
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 20
        heatProduction = 0.01
        useEngineResponseTime = True
        engineAccelerationSpeed = 0.12
        engineDecelerationSpeed = 0.5
        fxOffset = 0, 0, 0.74
        spoolEffectName = running_turbine
        engineSpoolIdle = 0.05
        engineSpoolTime = 2.0
        EngineType = Turbine
        exhaustDamageMultiplier = 1
        clampPropReceived = True
        PROPELLANT
        {
            name = IntakeAir
            ignoreForIsp = True
            ratio = 22
        }
        PROPELLANT
        {
            name = ElectricCharge
            resourceFlowMode = STAGE_STACK_FLOW_BALANCE
            ratio = 1
            DrawGauge = True
        }
        atmosphereCurve
        {
            key = 1 4000 0 0
            key = 2 20000 0 0
        }
        // Jet params
        atmChangeFlow = True
        useVelCurve = False
        useAtmCurve = False
        machLimit = 0.75
        machHeatMult = 3.5
        velCurve
        {
            key = 0 1 0 0
            key = 0.44 0.897 0 0
            key = 1 1 0.1988732 0.1988732
            key = 1.3 1.03 0 0
            key = 2 0.68 -1.065708 -1.065708
            key = 2.4 0 0 0
        }
        atmCurve
        {
            key = 0 0 0 0.7448742
            key = 0.072 0.13 2.075459 2.075459
            key = 0.16 0.28 1.464173 1.464173
            key = 0.42 0.578 0.93687 0.93687
            key = 1 1 0.5529748 0
        }
    }

    
    EFFECTS
    {        

        running_turbine
        {
            AUDIO
            {
                channel = Ship
                clip = sound_jet_deep
                volume = 0.0 0.0
                volume = 0.05 0.35
                volume = 1.0 0.5
                pitch = 0.0 0.6
                pitch = 0.05 0.8
                pitch = 1.0 1.5
                loop = true
            }
        }

    }
    MODULE
    {
        name = ModuleScienceExperiment    
        
        experimentID = crewReport
        
        experimentActionName = Crew Report
        resetActionName = Discard Crew Report
        reviewActionName = Review Report
        
        useStaging = False    
        useActionGroups = True
        hideUIwhenUnavailable = True    
        rerunnable = True
        
        xmitDataScalar = 1.0
        
        usageReqMaskInternal = 5
        usageReqMaskExternal = -1
    }
    MODULE
    {
        name = ModuleScienceContainer
        reviewActionName = #autoLOC_502204 //#autoLOC_502204 = Review Data
        storeActionName = #autoLOC_502202 //#autoLOC_502202 = Store Experiments
        collectActionName = #autoLOC_238018 //#autoLOC_238018 = Take Data
        evaOnlyStorage = True
        storageRange = 2
        allowRepeatedSubjects = True
    }
    MODULE
    {
        name = ModuleScienceLab
        containerModuleIndex = 0
        dataStorage = 750
        crewsRequired = 1
        canResetConnectedModules = True
        canResetNearbyModules = True
        interactionRange = 5
        SurfaceBonus = 0.1
        ContextBonus = 0.25
        homeworldMultiplier = 0.1
        RESOURCE_PROCESS
        {
            name = ElectricCharge
            amount = 10
        }
    }

    MODULE
    {
        name = ModuleScienceConverter
        dataProcessingMultiplier = 0.5 // Multiplier to data processing rate and therefore science rate
        scientistBonus = 0.25    //Bonus per scientist star - need at least one! So 0.25x - 2.5x
        researchTime = 7        //Larger = slower.  Exponential!
        scienceMultiplier = 5    //How much science does data turn into?
        scienceCap = 500        //How much science can we store before having to transmit?        
        powerRequirement = 5    //EC/Sec to research
        ConverterName = #autoLOC_502055 //#autoLOC_502055 = Research
        StartActionName = #autoLOC_502056 //#autoLOC_502056 = Start Research
        StopActionName = #autoLOC_502057 //#autoLOC_502057 = Stop Research
    }

    MODULE
    {
        name = ModuleKerbNetAccess
        EnhancedSituationMask = 7
        EnhancedMinimumFoV = 160
        EnhancedMaximumFoV = 179.5
        MinimumFoV = 5
        MaximumFoV = 10
        AnomalyDetection = 1
        DISPLAY_MODES
        {
            Mode = Biome,#autoLOC_438890 //#autoLOC_438890 = Biome
            Mode = Terrain,#autoLOC_438839 //#autoLOC_438839 = Terrain
        }
    
        REQUIRED_EFFECTS
        {
            Effect = ScienceSkill
        }
    }

    MODULE
    {
            name = ModuleExperienceManagement
            costPerKerbal = 0
    }
    MODULE
    {
        name = ModuleInventoryPart        
        InventorySlots = 9
    }
}

 

0HrlbPh.pnglpAusiA.png

And you will need this to convert the Mk3 crew cabin IVA. place it in SHADO/Spaces/Mobile/MK3_CrewCab_Int/ named  internal_MK3_CrewCab2.cfg

Spoiler

 

INTERNAL
{
    name = MK3_CrewCab_Int2
    MODEL
    {
        model = SHADO/Spaces/Mobile/MK3_CrewCab_Int
        scale = 0.8, 1, 1
    }

    MODEL
    {
        model = Squad/Spaces/OverlayMasks/Mk3CabinMask
        scale = 0.7950, 1, 1
        //rotation = 0, 180, 0
    }
    MODEL
    {
        model = Squad/Spaces/OverlayMasks/Mk3CabinBorder
        scale = 0.75, 1, 1
        //rotation = 0, 180, 0
    }
    MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Left001
        portraitCameraName = Camera_Left001
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002196 //#autoLoc_6002196 = Left Seat <<1>>
        displayseatIndex = 1
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Left002
        portraitCameraName = Camera_Left002
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002196 //#autoLoc_6002196 = Left Seat <<1>>
        displayseatIndex = 2
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Left003
        portraitCameraName = Camera_Left003
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002196 //#autoLoc_6002196 = Left Seat <<1>>
        displayseatIndex = 3
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Left004
        portraitCameraName = Camera_Left004
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002196 //#autoLoc_6002196 = Left Seat <<1>>
        displayseatIndex = 4
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Left005
        portraitCameraName = Camera_Left005
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002196 //#autoLoc_6002196 = Left Seat <<1>>
        displayseatIndex = 5
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Left006
        portraitCameraName = Camera_Left006
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002196 //#autoLoc_6002196 = Left Seat <<1>>
        displayseatIndex = 6
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Left007
        portraitCameraName = Camera_Left007
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002196 //#autoLoc_6002196 = Left Seat <<1>>
        displayseatIndex = 7
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Left008
        portraitCameraName = Camera_Left008
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002196 //#autoLoc_6002196 = Left Seat <<1>>
        displayseatIndex = 8
    }
    MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Right001
        portraitCameraName = Camera_Right001
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002195 //#autoLoc_6002195 = Right Seat <<1>>
        displayseatIndex = 1
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Right002
        portraitCameraName = Camera_Right002
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002195 //#autoLoc_6002195 = Right Seat <<1>>
        displayseatIndex = 2
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Right003
        portraitCameraName = Camera_Right003
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002195 //#autoLoc_6002195 = Right Seat <<1>>
        displayseatIndex = 3
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Right004
        portraitCameraName = Camera_Right004
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002195 //#autoLoc_6002195 = Right Seat <<1>>
        displayseatIndex = 4
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Right005
        portraitCameraName = Camera_Right005
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002195 //#autoLoc_6002195 = Right Seat <<1>>
        displayseatIndex = 5
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Right006
        portraitCameraName = Camera_Right006
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002195 //#autoLoc_6002195 = Right Seat <<1>>
        displayseatIndex = 6
    }
    MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Right007
        portraitCameraName = Camera_Right007
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002195 //#autoLoc_6002195 = Right Seat <<1>>
        displayseatIndex = 7
    }
        MODULE
    {
        name = InternalSeat
        seatTransformName = Seat_Right008
        portraitCameraName = Camera_Right008
        allowCrewHelmet = false
        displayseatName = #autoLoc_6002195 //#autoLoc_6002195 = Right Seat <<1>>
        displayseatIndex = 8
    }


}

 

Make sure to copy in to that folder all the dependencies from the original Squad folder.

 

 

Left panel for Mobile.

 

Gp3CDBc.png

 

Right panelyMgMX7x.png

 

model000.png

qK7FHl9.png

model001.png

CAd3eXF.png

model002.png

rNgwpdd.pngrNgwpdd.png

model004.png

K2NBRga.png

model006.png

ksZo44Q.png

Link to comment
Share on other sites

So much for "Mostly Stock"

The config for the UFO interceptor .

GameData/SHADO/Interceptor/Fuselage/Shadow2.cfg


 

Spoiler

 

PART
{
    // --- general parameters ---
    name = SHADO_INTERCEPTOR_FUSELAGE2
    module = Part
    author = SkunkWorks, ColdJ

    // --- asset parameters ---
    // mesh = model.mu
    MODEL
    {
        model = SHADO/Interceptor/Fuselage/model
        scale = 0.9, 0.9,0.85
    }
    // scale = 1
    // rescaleFactor = 0.9

     fx_exhaustFlame_blue = 0.0, -3, 0.0, 0.0, 1.0, 0.0, running
    fx_exhaustLight_blue = 0.0, -3, 0.0, 0.0, 0.0, 1.0, running
    fx_smokeTrail_light = 0.0, 0.0, -3, 0.0, 1.0, 0.0, running
    fx_exhaustSparks_flameout = 0.0, -3, 0.0, 0.0, 1.0, 0.0, flameout
    sound_vent_medium = engage
    sound_rocket_hard = running
    sound_vent_soft = disengage
    sound_explosion_low = flameout

    // --- node definitions ---
    // definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
    // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
    attachRules = 1,0,1,1,1
    node_stack_top1 = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 3  //Engines
    node_stack_top2 = 0.0, 2.65938, 0.518000, 0.0, 1.0, 0.0, 2  //Weapon
    node_stack_top3 = -0.008264065, 0.8433656, 0.6483052, 0.0, 1.0, 0.0, 3  //Seat
    node_stack_RCSR = 0.55, 0.0, 0.0, 1.0, 0.0, 0.0, 1  //RCS Right
    node_stack_RCSL = -0.55, 0.0, 0.0, -1.0, 0.0, 0.0, 1  //RCS Left
    // --- editor parameters ---
    TechRequired = start
    entryCost = 0
    cost = 600
    category = Pods
    subcategory = 0
    title = S.H.A.D.O. Interceptor Hull 2
    manufacturer = Skunk Works
    description = Main Fuselage, with built in Reactors and converters for long hauls.

    // --- standard part parameters ---
    mass = 8.5
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.15
    angularDrag = 0
    crashTolerance = 5000
    maxTemp = 3400
    CrewCapacity = 1
    stagingIcon = LIQUID_ENGINE
    vesselType = Ship
    tags = shado interceptor 1999

// --- internal setup ---
// internal offset rules +right-left,+down-up,+back-forward
        INTERNAL

        {

            name = ShadowCockIVA
        offset = 0, -0.76, -1.1
        }
    MODULE
    {
        name = ModuleCommand
        minimumCrew = 1    
    }
    MODULE
    {
        name = ModuleRCSFX
        thrusterTransformName = RCSthruster
        thrusterPower = 89
        resourceName = MonoPropellant
        resourceFlowMode = STAGE_PRIORITY_FLOW
        runningEffectName = funning

        atmosphereCurve
         {
            key = 0 260
           key = 1 100
         }
    }
    EFFECTS
    {
        funning
        {
            AUDIO_MULTI_POOL
            {
                channel = Ship
                transformName = RCSthruster
                clip = sound_rocket_mini
                volume = 0.0 0.0
                volume = 0.02 0.1
                volume = 0.5 0.1
                volume = 1.0 0.1
                pitch = 0.0 0.75
                pitch = 1.0 1.5
                loop = true
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/Monoprop_small
                transformName = RCSthruster
                emission = 0.0 0.0
                emission = 0.1 0.0
                emission = 1.0 1.0
                speed = 0.0 0.8
                speed = 1.0 1.0
                localRotation = -90, 0, 0
            }
        }        
    }

    MODULE
    {
        name = ModuleReactionWheel
        PitchTorque = 850
        YawTorque = 850
        RollTorque = 850
    
        RESOURCE
        {
            name = ElectricCharge
            rate = 0.24
        }
    }
    //MODULE
    //{
    //name = ModuleRCS
    //thrusterTransformName = RCSthruster
    //thrusterPower = 89
    //resourceName = MonoPropellant
    //resourceFlowMode = STAGE_PRIORITY_FLOW
    //atmosphereCurve
         //{
               // key = 0 260
              // key = 1 100
         //}
    //}
    RESOURCE
    {
        name = ElectricCharge
        amount = 500
        maxAmount = 50
    }
    RESOURCE
    {
        name = LiquidFuel
        amount = 5000
        maxAmount = 5000
    }
    RESOURCE
    {
        name = MonoPropellant
        amount = 5000
        maxAmount = 5000
    }
    RESOURCE
    {
        name = Oxidizer
        amount = 5000
        maxAmount = 5000
    }
    MODULE
    {
        name = ModuleEngines
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 1500
        heatProduction = 196
        fxOffset = 0, 0, 0
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 0.56
        PROPELLANT
        {
            name = LiquidFuel
            ratio = 0.9
            DrawGauge = True
        }
        PROPELLANT
        {
            name = Oxidizer
            ratio = 1.1
        }
        atmosphereCurve
        {
            key = 0 4200
            key = 1 3650
            key = 9 0.101
        }
    }    
    MODULE
    {
        name = ModuleGimbal
        gimbalTransformName = thrustTransform
        gimbalRange = 2
    }
    MODULE
    {
        name = FXModuleAnimateThrottle
        animationName = overheat
        responseSpeed = 0.001
        dependOnEngineState = True
        dependOnThrottle = True
    }
    MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = ElectricCharge
            rate = 12.0
        }
    }
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 0
        fxMax = 0.8
        maxDistance = 50
        falloff = 1.8
        thrustTransformName = thrustTransform
    }
    EFFECTS
    {
        Thrust
        {
            AUDIO
            {
                clip = Squad/Sounds/sound_rocket_mini
                volume = 0.0 0.0
                volume = 1.0 1.0
                pitch = 0.0 0.8
                pitch = 1.0 1.0
                loop = true
            }
        }
    }
    MODULE
    {
        name = ModuleLiftingSurface
        useInternalDragModel = False
        deflectionLiftCoeff = 4.6
        dragAtMaxAoA = 0.1
        dragAtMinAoA = 0.03
    }
    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 = ModuleGenerator
        isAlwaysActive = false
        requiresAllinputs = false
        resourceThreshold = 0.01
        activateGUIName = Main Power On
        shutdownGUIName = Main Power Off
        efficiency = 95
            
            OUTPUT_RESOURCE
            {
               name = ElectricCharge
               rate = 10.05
            }   
    }
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = false
        requiresAllinputs = false
        resourceThreshold = 0.01
        activateGUIName = Fuel Reactor On
        shutdownGUIName = Fuel Reactor Off
        efficiency = 95
            
            OUTPUT_RESOURCE
            {
               name = LiquidFuel
               rate = 1000
            }
    }
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = false
        requiresAllinputs = false
        resourceThreshold = 0.01
        activateGUIName = Cold Fusion On
        shutdownGUIName = Cold Fusion Off
        efficiency = 95
            
            OUTPUT_RESOURCE
            {
               name = Oxidizer
               rate = 1000
            }  
    }
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = false
        requiresAllinputs = false
        resourceThreshold = 0.01
        activateGUIName = Main Bus On
        shutdownGUIName = Main Bus Off
        efficiency = 950
            
            OUTPUT_RESOURCE
            {
               name = MonoPropellant
               rate = 100.05
            }  
    }
    MODULE
    {
        name = ModuleDataTransmitter
        antennaType = DIRECT
        packetInterval = 0.35
        packetSize = 2
        packetResourceCost = 12.0
        requiredResource = ElectricCharge
        DeployFxModules = 0
        antennaPower = 2000000000
        antennaCombinable = True
    }

}

 

The config for the engine,

GameData/SHADO/Interceptor/Engines/IncepEngine.cfg

Spoiler

 

PART
{


// --- general parameters ---
name = SHADO_INTERCEPTOR_ENGINES2
module = Part
author = SkunkWorks

// --- asset parameters ---
// mesh = model.mu
    MODEL
    {
        model = SHADO/Interceptor/Engines/model
        scale = 0.9, 0.9, 0.9
    }
//scale = 1
//rescaleFactor = 1
         fx_exhaustFlame_blue = 0.0, -2, 0.0, 0.0, 1.0, 0.0, running
    fx_exhaustLight_blue = 0.0, -2, 0.0, 0.0, 0.0, 1.0, running
    fx_smokeTrail_light = 0.0, -2, 0.0, 0.0, 1.0, 0.0, running
    fx_exhaustSparks_flameout = 0.0, -2, 0.0, 0.0, 1.0, 0.0, flameout
    sound_vent_medium = engage
    sound_rocket_hard = running
    sound_vent_soft = disengage
    sound_explosion_low = flameout

// --- node definitions ---
// definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,0,1,1,1

node_stack_top = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1

// --- editor parameters ---
TechRequired = nuclearPropulsion
entryCost = 4200
cost = 2200
category = Engine
subcategory = 0
title = S.H.A.D.O. Interceptor Main Engines 2
manufacturer = Skunk Works
description = Main Thrust Engines, Powerful, yet economical!

// --- standard part parameters ---
mass = 8.5
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.15
angularDrag = 0
crashTolerance = 999999999
maxTemp = 3400
stagingIcon = LIQUID_ENGINE
tags = shado 1999 ufo interceptor
MODULE
    {
        name = ModuleEngines
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 1500
        heatProduction = 196
        fxOffset = 0, 0, 0
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 0.56
        PROPELLANT
        {
            name = LiquidFuel
            ratio = 0.9
            DrawGauge = True
        }
        PROPELLANT
        {
            name = Oxidizer
            ratio = 1.1
        }
        atmosphereCurve
        {
            key = 0 4200
            key = 1 3650
            key = 9 0.101
        }
    }
    
    MODULE
    {
        name = ModuleGimbal
        gimbalTransformName = thrustTransform
        gimbalRange = 2
    }
    MODULE
    {
        name = FXModuleAnimateThrottle
        animationName = overheat
        responseSpeed = 0.001
        dependOnEngineState = True
        dependOnThrottle = True
    }
    MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = ElectricCharge
            rate = 12.0
        }
    }
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 0
        fxMax = 0.8
        maxDistance = 50
        falloff = 1.8
        thrustTransformName = thrustTransform
    }
    EFFECTS
    {
        Thrust
        {
            AUDIO
            {
                clip = Squad/Sounds/sound_rocket_mini
                volume = 0.0 0.0
                volume = 1.0 1.0
                pitch = 0.0 0.8
                pitch = 1.0 1.0
                loop = 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
                {
                   moduleID = 0
                               name = FSswitchEngineThrustTransform
                               defaultTTName = thrustTransform
                               useNamedAlternate = 0
                               animateThrottleRange = 0, 1
                }
    MODULE
    {
        name = ModulePartVariants
        useMultipleDragCubes = false
        baseVariant = MedCock
        toggleEditor = true
        toggleFlight = true
        VARIANT
        {
            name = Bell
            displayName = Bell
            themeName = Bell
            primaryColor = #A8A8A8
            secondaryColor = #000000
            TEXTURE
            {
                mainTextureURL = SHADO/Interceptor/Engines/model000bel
                
            }
        }
        VARIANT
        {
            name = Red
            displayName = Red
            themeName = Red
            primaryColor = #8b2500
            secondaryColor = #A8A8A8
            TEXTURE
            {
                shader=KSP/Emissive Specular
                mainTextureURL = SHADO/Interceptor/Engines/model000red
                
            }
        }
        VARIANT
        {
            name = Silver
            displayName = Silver
            themeName = Silver
            primaryColor = #A8A8A8
            secondaryColor = #87A3D8
            TEXTURE
            {
                shader=KSP/Emissive Specular
                mainTextureURL = SHADO/Interceptor/Engines/model000sil
                
            }
        }
        VARIANT
        {
            name = Gold
            displayName = Gold
            themeName = Gold
            primaryColor = #ffb326
            secondaryColor = #A8A8A8
            TEXTURE
            {
                shader=KSP/Emissive Specular
                mainTextureURL = SHADO/Interceptor/Engines/model000gold
                _SpecTint= 0.05
                _Shininess= 0.5
                _AmbientMultiplier= 0.6    
            }
        }
        VARIANT
        {
            name = Creme
            displayName = Creme
            themeName = Creme
            primaryColor = #DAD7CB
            secondaryColor = #DAD7CB
            TEXTURE
            {
                shader=KSP/Emissive Specular
                mainTextureURL = SHADO/Interceptor/Engines/model000cre
                
            }
        }

}

 

The config for the IVA

 

C:\Kerbal Space Program\GameData\Squad\Spaces\mk1InlineInternal/ShadowCock.cfg

 

Spoiler

INTERNAL
{
    name = ShadowCockIVA
    MODEL
    {
        model = Squad/Spaces/mk1InlineInternal/Mk1InlineIVA
        texture = CockpitGeneric, Squad/Spaces/sharedAssets/CockpitGeneric
        texture = CockpitGeneric_NRM, Squad/Spaces/sharedAssets/CockpitGeneric_NRM
        scale = 1.3, 1.1, 0.8
    }
    MODEL
    {
        model = Squad/Spaces/OverlayMasks/Mk1InlineMask2
    }
    MODULE
    {
        name = InternalSeat
        seatTransformName = Seat
        portraitCameraName = PilotCam
        allowCrewHelmet = False
        kerbalEyeOffset = 0, 0.055, 0
        displayseatName = #autoLoc_6002190 //#autoLoc_6002190 = Pilot Seat
    }
    MODULE
    {
        name = InternalCameraSwitch
        colliderTransformName = Cam1
        cameraTransformName = Cam1
    }
    MODULE
    {
        name = InternalCameraSwitch
        colliderTransformName = Cam2
        cameraTransformName = Cam2
    }
    MODULE
    {
        name = InternalCameraSwitch
        colliderTransformName = Cam3
        cameraTransformName = Cam3
    }
    MODULE
    {
        name = InternalCameraSwitch
        colliderTransformName = Cam4
        cameraTransformName = Cam4
    }
    MODULE
    {
        name = InternalCameraSwitch
        colliderTransformName = Cam5
        cameraTransformName = Cam5
    }
    MODULE
    {
        name = InternalCameraSwitch
        colliderTransformName = Cam6
        cameraTransformName = Cam6
    }
    PROP
    {
        name = genericSquareButton
        position = -0.0619,0.6486,-0.561
        rotation = 0.4449967,0.5495251,0.4449968,0.549525
        scale = 1.483437,1.483437,1.483437
    }
    PROP
    {
        name = genericSquareButton
        position = -0.0619,0.6907,-0.57
        rotation = 0.4449967,0.5495251,0.4449968,0.549525
        scale = 1.483437,1.483437,1.483437
    }
    PROP
    {
        name = genericSquareButton
        position = 0.0619,0.6907,-0.57
        rotation = 0.4449967,0.5495251,0.4449968,0.549525
        scale = 1.483437,1.483437,1.483437
    }
    PROP
    {
        name = genericClusterSwitches05
        position = -0.0594,0.4392,-0.4875
        rotation = 3.091991E-07,-0.9002057,-0.4354649,6.963531E-07
        scale = 0.91,0.91,0.9100001
    }
    PROP
    {
        name = Hatch_Plane
        position = 0,0,-0.9375
        rotation = -1.192093E-07,-0.7071068,-0.7071068,-1.053671E-08
        scale = 1,1,1
    }
    PROP
    {
        name = Hatch_Plane
        position = 0,0,0.9375
        rotation = 0.7071068,-1.377734E-07,-1.292402E-07,-0.7071068
        scale = 1,1,1
    }
    PROP
    {
        name = Seat_Pilot
        position = 0,0.15045,-0.144425
        rotation = 0,1,0,-1.629207E-07
        scale = 1,1,1
    }
    PROP
    {
        name = IndicatorPanel
        position = -0.0015,0.4445,-0.4803
        rotation = 0.4353056,0,0,0.9002827
        scale = 0.95,0.95,0.95
    }
    PROP
    {
        name = NavBall
        position = 0,0.6766,-0.5699
        rotation = 0.6293204,0,0,0.777146
        scale = 1.5,1.5,1.5
    }
    PROP
    {
        name = AltimeterThreeHands
        position = -0.1499,0.6162,-0.5435
        rotation = 0.6293204,0,0,0.777146
        scale = 1.5,1.5,1.5
    }
    PROP
    {
        name = AtmosphereDepth
        position = 0.15,0.63,-0.5629
        rotation = 0.4449968,0.5495251,0.4449967,0.5495253
        scale = 1.4,1.4,1.4
    }
    PROP
    {
        name = AxisIndicatorPitch
        position = 0.1149,0.5416,-0.5391
        rotation = -2.384186E-07,-0.777146,-0.6293204,1.667622E-07
        scale = 1.25,0.9,0.9
    }
    PROP
    {
        name = AxisIndicatorRoll
        position = 0.1681,0.5238,-0.5355
        rotation = 0.4449968,-0.5495253,-0.4449969,0.549525
        scale = 1.25,0.9,0.9
    }
    PROP
    {
        name = AxisIndicatorYaw
        position = 0.1678,0.5595,-0.5429
        rotation = 0.4449968,-0.549525,-0.4449968,0.5495253
        scale = 1.25,0.9,0.9
    }
    PROP
    {
        name = ledPanelSpeed
        position = 0,0.6007,-0.5532
        rotation = 0.6293204,0,0,0.777146
        scale = 2,2,2
    }
    PROP
    {
        name = throttle
        position = -0.2943,0.4761,-0.3981
        rotation = 0.01645024,-0.04859821,-0.2077469,0.9768362
        scale = 0.6600001,0.66,0.66
    }
    PROP
    {
        name = VSI
        position = 0.038,0.5425,-0.5317
        rotation = 0.6293204,0,0,0.777146
        scale = 1.2,1.2,1.2
    }
    PROP
    {
        name = Compass
        position = 0.1508,0.5949,-0.5575
        rotation = 0.4449967,-0.5495253,-0.4449968,0.549525
        scale = 0.6999999,0.7,0.7
    }
    PROP
    {
        name = RadarAltimeter
        position = -0.038,0.5425,-0.5317
        rotation = 0.6293204,0,0,0.777146
        scale = 1.2,1.2,1.2
    }
    PROP
    {
        name = genericClusterSwitches05
        position = 0.0594,0.4392,-0.4875
        rotation = 0.4354649,0,0,0.9002057
        scale = 0.91,0.91,0.91
    }
    PROP
    {
        name = genericClusterKnobs2
        position = -0.1494,0.5322,-0.5362
        rotation = 0.6293204,0,-3.040299E-07,0.777146
        scale = 0.9241717,0.9241716,0.9241717
    }
    PROP
    {
        name = genericSquareButton
        position = 0.0619,0.6486,-0.561
        rotation = 0.4449967,0.5495251,0.4449968,0.549525
        scale = 1.483437,1.483437,1.483437
    }
    PROP
    {
        name = genericCircularButton
        position = 0.1177,0.6718,-0.566
        rotation = 0.6293205,0,9.996432E-08,0.7771459
        scale = 1.256826,1.256826,1.256826
    }
}

The texture files for the engine.

model000bel.png

6T8acnL.png

model000cre.png

KozJ8OP.png

model000gold.png

hylEeOC.png

model000red.png

yQK5fMf.png

model000sil.png

rUT1CUH.png

Fuselage

model000.png

21WZFA7.png

model001.png

XFm5qxZ.png

model004.png

EXs4M8t.png

Edited by ColdJ
Link to comment
Share on other sites

Just realised I forgot to give you the RCS block for the nodes. It is the same one I use for the Eagles. It can go wherever you like. Hopefully the folder still exists in 1.11.1 onwards. If it doesn't just go back to an older version and copy the folder across from

C:\Kerbal Space Program\GameData\Squad\Parts\Utility\rcsBlockRV-105

Called it EagleRCSBlock.cfg

Spoiler

 

PART

{


    name = EagleRock
    module = Part

    author = Sam Hall, Pablo, ColdJ

    MODEL

    {

        model = Squad/Parts/Utility/rcsBlockRV-105/model
        scale = 1.5, 1.0, 1.0
    }

    MODEL
    {
    model = Squad/Parts/Utility/linearVernorRCS/Assets/linearRCS
    scale = 0.5
        rotation = 0, 0, 90
    }
    rescaleFactor = 1

 


    // --- node definitions ---

    // definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z

    node_stack_bottom = 0.11, 0, 0, 1.0, 0.0, 0.0, 1
    
    
    
    
    // --- editor parameters ---

    TechRequired = precisionEngineering

    entryCost = 4500

    cost = 450

    category = Control

    subcategory = 0

    title = The Eagle Block
    manufacturer = STEADLER, Reaction Systems, CJ Aerospace.
    description = A large node attach RCS thruster block with its own built-in monopropellant supply. Designed with huge spacecraft in mind.

    
    // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision

    attachRules = 1,0,1,0,0

    
    // --- standard part parameters ---

    mass = 0.01

    dragModelType = default

    maximum_drag = 0.001
    minimum_drag = 0.001

    angularDrag = 2

    crashTolerance = 100
    maxTemp = 2000

    
bulkheadProfiles = size0, srf

    tags = eagle cobra hawk rcs
    
    
//MODULE

    //{

    //    name = ModuleRCS

    //    thrusterTransformName = RCSthruster

    //    thrusterPower = 50
    //    resourceName = MonoPropellant

    //    atmosphereCurve

    //     {

    //       key = 0 250

    //     key = 1 100

    //     key = 3 0.101

    //     }

    //}

    // --- rcs module parameters ---


    EFFECTS

    {

        running
    
    {

            AUDIO

            {

                channel = Ship

                clip = sound_rocket_mini

                volume = 0.0 0.0

                volume = 0.02 0.2

                volume = 0.2 0.2

                volume = 0.4 0.2

                pitch = 0.0 0.7

                pitch = 1.0 1.5

                loop = true

            }

            MODEL_MULTI_PARTICLE

            {

                modelName = Squad/FX/Monoprop_small

                transformName = RCSthruster

                emission = 0.0 0.0

                emission = 0.1 0.0

                emission = 0.4 1.0

                speed = 0.0 0.8

                speed = 1.0 1.0
    
            localRotation = -90, 0, 0

            }

        }
    }

    MODULE

    {

        name = ModuleRCSFX

        thrusterTransformName = RCSthruster

        thrusterPower = 50
        resourceName = MonoPropellant

        runningEffectName = running

        atmosphereCurve

        {

            key = 0 250

             key = 1 100

             key = 3 0.101

        }

    }

    RESOURCE

    {

        name = MonoPropellant

        amount = 5

        maxAmount = 5

    }

}

 

 

Link to comment
Share on other sites

Using the @MajorTom69 Space 1999 parts pack. This is a place any node LFO engine. I use it as retro rockets to slow the Eagle fuselages, for those who don't use firespitter, as I have nodes on the front of the landing gear pods. And it can be used instead of the rear RCS block on the UFO that I am about to put up as a push engine to fly the UFO sideways through the atmosphere if you don't want to use the RSC forward by throttle method.

So in GameData\MT-Eagle\Parts\Engine\AnyNodeLFO.cfg

Spoiler

 

PART
{
    // --- general parameters ---
    name = AnyNodeLFO
    module = Part
    author = MajorTom, ColdJ

    // --- asset parameters ---
    MODEL
    {
        model = MT-Eagle/Parts/Engine/vtol
    }
    scale = 1
    rescaleFactor = 1

    // --- node definitions: Position X, Position Y, Position Z, Up X, Up Y, Up Z ---
    node_stack_back = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0

    // --- FX definitions ---
    fx_exhaustFlame_yellow_tiny = 0.0, -0.0, 0.0, 0.0, 1.0, 0.0, running
    fx_exhaustLight_yellow = 0.0, -0.0, 0.0, 0.0, 0.0, 1.0, running
    fx_smokeTrail_light = 0.0, -0.0, 0.0, 0.0, 1.0, 0.0, running
    fx_exhaustSparks_flameout = 0.0, -0.0, 0.0, 0.0, 1.0, 0.0, flameout

    // --- Sound FX definitions ---    
    sound_vent_medium = engage
    sound_rocket_hard = running
    sound_vent_soft = disengage
    sound_explosion_low = flameout

    // --- editor parameters ---
    TechRequired = heavierRocketry
    entryCost = 14000
    cost = 5300
    category = Engine
    subcategory = 0
    title = Place any node LFO engine
    manufacturer = Alpha and CJ Aerospace
    description = A node attached engine useful for vtol and reverse thrust applications.

    // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
    attachRules = 1,0,1,0,0

    // --- standard part parameters ---
    mass = 0.5
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.2
    angularDrag = 2
    crashTolerance = 3000
    breakingForce = 3000
    breakingTorque = 3000
    maxTemp = 4000
    //heatConductivity = 0.03
    skinInternalConductionMult = 4.0
    emissiveConstant = 0.8 // engine nozzles are good at radiating.
    bulkheadProfiles = size1, mk3
    tags = eagle transporter reverse thrust vtol engine shado ufo
    
    // internals, resources, effects, modules
    MODULE
    {
        name = ModuleEngines
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 200
        heatProduction = 100
        fxOffset = 0, 0, 0
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 1.25
        PROPELLANT
        {
            name = LiquidFuel
            ratio = 0.9
            DrawGauge = True
        }
        PROPELLANT
        {
            name = Oxidizer
            ratio = 1.1
        }
        atmosphereCurve
        {
            key = 0 4100
            key = 1 3550
            key = 9 0.101
        }
    }
    MODULE
    {
        name = FXModuleAnimateThrottle
        animationName = ksp_l_midrangeEngine_anim
        responseSpeed = 0.001
        dependOnEngineState = True
        dependOnThrottle = True
    }
    MODULE
    {
        name = ModuleAlternator
        RESOURCE
        {
            name = ElectricCharge
            rate = 5.0
        }
    }
    MODULE
    {
        name = ModuleGimbal
        gimbalTransformName = thrustTransform
        gimbalRange = 2
    }
    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 0
        fxMax = 0.6
        maxDistance = 40
        falloff = 1.7
        thrustTransformName = thrustTransform
    }
}

 

RCS Block that uses the same Squad set up as before but with different texture and effects to blend in with the UFO.

C:\Kerbal Space Program\GameData\SHADO\UFO\UFORCS\UFORCS.cfg

You will need to copy the model.mu from  GameData\Squad\Parts\Utility\rcsBlockRV-105\ into the above folder and put the following texture file in there as well.

Spoiler

 

PART

{


    name = UFORCS
    module = Part

    author = Sam Hall, Pablo, ColdJ

    MODEL

    {

        model = SHADO/UFO/UFORCS/model
        scale = 1.5, 1.0, 1.0
        texture = SHADO/UFO/UFORCS/rcs
    }

    MODEL
    {
    model = Squad/Parts/Utility/linearVernorRCS/Assets/linearRCS
    scale = 0.5
        rotation = 0, 0, 90
    }
    rescaleFactor = 1

 


    // --- node definitions ---

    // definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z

    node_stack_bottom = 0.11, 0, 0, 1.0, 0.0, 0.0, 1
    
    
    
    
    // --- editor parameters ---

    TechRequired = precisionEngineering

    entryCost = 4500

    cost = 450

    category = Control

    subcategory = 0

    title = UFO RCS
    manufacturer = STEADLER, Reaction Systems, CJ Aerospace.
    description = A large node attach RCS thruster block with its own built-in monopropellant supply. Designed with huge spacecraft in mind.

    
    // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision

    attachRules = 1,0,1,0,0

    
    // --- standard part parameters ---

    mass = 0.01

    dragModelType = default

    maximum_drag = 0.001
    minimum_drag = 0.001

    angularDrag = 2

    crashTolerance = 100
    maxTemp = 2000

    
bulkheadProfiles = size0, srf

    tags = eagle cobra hawk viper rcs shado ufo
    
    
//MODULE

    //{

    //    name = ModuleRCS

    //    thrusterTransformName = RCSthruster

    //    thrusterPower = 50
    //    resourceName = MonoPropellant

    //    atmosphereCurve

    //     {

    //       key = 0 250

    //     key = 1 100

    //     key = 3 0.101

    //     }

    //}

    // --- rcs module parameters ---


    EFFECTS

    {

        running
    
    {

            AUDIO

            {

                channel = Ship

                clip = sound_IonEngine

                volume = 0.0 0.0

                volume = 0.02 0.2

                volume = 0.2 0.2

                volume = 0.4 0.2

                pitch = 0.0 0.7

                pitch = 1.0 1.5

                loop = true

            }

            MODEL_MULTI_PARTICLE

            {

                modelName = Squad/FX/IonPlume
                transformName = RCSthruster

                emission = 0.0 0.0

                emission = 0.1 0.0

                emission = 0.4 1.0

                speed = 0.0 0.8

                speed = 1.0 1.0
    
            localRotation = -90, 0, 0

            }

        }
    }

    MODULE

    {

        name = ModuleRCSFX

        thrusterTransformName = RCSthruster

        thrusterPower = 50
        resourceName = MonoPropellant

        runningEffectName = running

        atmosphereCurve

        {

            key = 0 250

             key = 1 100

             key = 3 0.101

        }

    }

    RESOURCE

    {

        name = MonoPropellant

        amount = 5

        maxAmount = 5

    }

}

 

ODhW5rD.pngrcs.png

The next is a capsule that sits on the roof. It makes the UFO slightly taller but means you can actually get out and get back in. Though on the ground you will need to use the reaction wheels to put the UFO on it's side to allow your kerbal to reach the hatch.

You need to make a copy of the folder for the original Mk1 pod from Squad.

GameData\Squad\Parts\Command\mk1pod\ or simply take it over if you aren't using it for something else. Then in whichever you chose create mk1PodC.cfg and paste in. The original has some good info on node parameters.

Spoiler

 

PART
{
    // this is a sample config file, for determining a good file format for defining part parameters
    // comment line - ignored by cfg parser
    // empty lines, or lines without a '=' sign are also ignored
    // all other lines are split at the '=' sign, and the left operand is used to know what parameter we are setting
    // diferent parameters require data in different formats (see docs), and each module has it's own parameters (again, see docs)
    // each assignment must be in a single line. Lines without assignments will be ignored. (You CAN turn on word wrap, though)
    // each keyword here relates to an existing variable in the assigned module. If the keyword isn't found, it is ignored.
    // conversely, if a keyword is left unassigned (as in not in the file), it will be initialized with it's default value
    // This is done automatically, so any public variable defined in the loaded module can be accessed this way (provided it's value can be parsed)


    // --- general parameters ---
    name = mk1podC
    module = Part
    author = NovaSilisko, ColdJ

    // --- asset parameters ---
    mesh = model.mu
    scale = 1
    rescaleFactor = 0.8

    // --- node definitions ---
    // definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z, [node size], [crossfeed, def=1 i.e. true], [rigid attach, def=0 i.e. false]
    node_stack_bottom = 0.0, -0.4050379, 0.0, 0.0, -1.0, 0.0, 1
    node_stack_top = 0.0, 0.6493756, 0.0, 0.0, 1.0, 0.0, 2
    bulkheadProfiles = size1, size0
    CoPOffset = 0.0, 0.5, 0.0
    CoLOffset = 0.0, -0.35, 0.0
    CenterOfBuoyancy = 0.0, 0.5, 0.0
    CenterOfDisplacement = 0.0, -0.3, 0.0
    buoyancy = 1.5
    buoyancyUseSine = False

    // --- editor parameters ---
    TechRequired = start
    entryCost = 0
    cost = 600
    TechHidden = False
    category = Pods
    subcategory = 0
    title = SHADO UFO Top
    manufacturer = Kerlington and CJ Aerospace
    description = The top or nose for UFO EVA
    tags = shado ufo CJ
    // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
    attachRules = 1,0,1,1,0
    
    bodyLiftOnlyUnattachedLift = True
    bodyLiftOnlyAttachName = bottom

    // --- standard part parameters ---
    mass = 0.8

    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.15
    angularDrag = 0
    crashTolerance = 450
    maxTemp = 3700
    skinMaxTemp = 3700

    skinInternalConductionMult = 0.625
    heatConductivity = 0.1 // 5/6ths default

    vesselType = Ship

    // --- internal setup ---
    CrewCapacity = 1
    tags = #autoLOC_500321 //#autoLOC_500321 = capsule cmg control ?eva fly gyro ?iva moment pilot react rocket space stab steer torque
    MODULE
    {
        name = ModuleDockingNode
        referenceAttachNode = top
        nodeType = size2
        aquireForce = 20.5
        aquireRange = 15
        captureRange = 10
        stagingEnabled = False
        ejectionForce = 10
    }
    INTERNAL
    {
      name = mk1PodCockpit
    }

    MODULE
    {
        name = ModuleCommand
        minimumCrew = 1    
    }
    RESOURCE
    {
        name = ElectricCharge
        amount = 50
        maxAmount = 50
    }

    MODULE
    {
        name = ModuleReactionWheel
        
        PitchTorque = 5
        YawTorque = 5
        RollTorque = 5
        
        RESOURCE
        {
            name = ElectricCharge
            rate = 0.24
        }
    }
    MODULE
    {
        name = ModuleColorChanger
        shaderProperty = _EmissiveColor
        animRate = 0.8
        animState = false
        useRate = true
        toggleInEditor = true
        toggleInFlight = true
        toggleInFlight = true
        unfocusedRange = 5
        toggleName = #autoLOC_502011 //#autoLOC_502011 = Toggle Lights
        eventOnName = #autoLOC_502012 //#autoLOC_502012 = Lights On
        eventOffName = #autoLOC_502013 //#autoLOC_502013 = Lights Off
        toggleAction = True
        defaultActionGroup = Light
        redCurve
        {
            key = 0 0 0 3
            key = 1 1 0 0
        }
        greenCurve
        {
            key = 0 0 0 1
            key = 1 1 1 0
        }
        blueCurve
        {
            key = 0 0 0 0
            key = 1 0.7 1.5 0
        }
        alphaCurve
        {
            key = 0 1
        }
    }
    MODULE
    {
        name = ModuleScienceExperiment    
        
        experimentID = crewReport
        
        experimentActionName = #autoLOC_502009 //#autoLOC_502009 = Crew Report
        resetActionName = #autoLOC_502010 //#autoLOC_502010 = Discard Crew Report
        reviewActionName = #autoLOC_502200 //#autoLOC_502200 = Review Report
        
        useStaging = False    
        useActionGroups = True
        hideUIwhenUnavailable = True    
        rerunnable = True
        
        xmitDataScalar = 1.0
        
        usageReqMaskInternal = 5
        usageReqMaskExternal = -1
    }
    MODULE
    {
        name = ModuleScienceContainer
        
        reviewActionName = #autoLOC_502201 //#autoLOC_502201 = Review Stored Data
        storeActionName = #autoLOC_502202 //#autoLOC_502202 = Store Experiments
        evaOnlyStorage = True
        storageRange = 1.3
    }

    RESOURCE
    {
        name = MonoPropellant
        amount = 10
        maxAmount = 10
    }

    MODULE
    {
          name = FlagDecal
          textureQuadName = flagTransform
    }

    MODULE
    {
        name = ModuleConductionMultiplier
        modifiedConductionFactor = 0.003
        convectionFluxThreshold = 3000
    }

    MODULE
    {
        name = ModuleDataTransmitter
        antennaType = INTERNAL
        packetInterval = 1.0
        packetSize = 2
        packetResourceCost = 12.0
        requiredResource = ElectricCharge
        antennaPower = 5000
        optimumRange = 2500
        packetFloor = .1
        packetCeiling = 5
    }
    
    MODULE
    {
        name = ModuleLiftingSurface
        useInternalDragModel = False
        deflectionLiftCoeff = 0.35
        liftingSurfaceCurve = CapsuleBottom
        disableBodyLift = False
        omnidirectional = False
        perpendicularOnly = True
        transformDir = Y
        transformSign = -1
        nodeEnabled = True
        attachNodeName = bottom
    }
}

 

You will need the following textures.

hatch.png

laLNh07.png

ladderrung.png

oBii39G.png

outer shell.png

1CVoF8K.png

Edited by ColdJ
Link to comment
Share on other sites

Now for the actual UFO. Adjusted nodes and added 4 at compass points for the RCS. The landing pads are now defaulted to the landing gear binding.

Best to assign the main engine to independant throttle when in atmosphere and use RCS forward on throttle or the Place any node engine from above to push you along.

GameData\SHADO\UFO\Ufo2.cfg


 

Spoiler

 

PART
{


    // --- general parameters ---
    name = SHADO_UFO2
    module = Part
    author = SkunkWorks

    // --- asset parameters ---
    //mesh = model.mu
    MODEL
    {
        model = SHADO/UFO/model
    }
    MODEL
    {
        MODEL = Squad/Parts/Command/mk2LanderCan/model
    }

    scale = 1
    //rescaleFactor = 2.6

 

    // --- node definitions ---
    // definition format is Position X, Position Y, Position Z, Up X, Up Y, Up Z
    // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision

    attachRules = 1,1,1,1,1


    node_stack_bottom = 0.0, -1.7, 0.0, 0.0, -1.0, 0.0, 3  //Engines
    node_stack_top2 = 0.001, 1.78, 0.01, 0.0, 1.0, 0.0, 3  //Weapon
    node_stack_RCSUP = 0.0, 0.0, -2.3, 0.0, 0.0, -1.0, 1  //RCS Up
    node_stack_RCSDWN = 0.0, 0.0, 2.3, 0.0, 0.0, 1.0, 1  //RCS Down
    node_stack_RCSR = 2.3, 0.0, 0.0, 1.0, 0.0, 0.0, 1  //RCS Right
    node_stack_RCSL = -2.3, 0.0, 0.0, -1.0, 0.0, 0.0, 1  //RCS Right

     fx_exhaustFlame_blue = 0.0, -3, 0.0, 0.0, 1.0, 0.0, running
    // --- editor parameters ---
    TechRequired = start
    entryCost = 0
    cost = 600
    category = Pods
    subcategory = 0
    title = S.H.A.D.O. Alien UFO2
    manufacturer = Skunk Works
    description = Main Fuselage, with built in Reactors and converters for long hauls.

    // --- standard part parameters ---
    mass = 8
    dragModelType = default
    maximum_drag = 0.2
    minimum_drag = 0.15
    angularDrag = 0
    crashTolerance = 5000
    maxTemp = 3400
    CrewCapacity = 2
    stagingIcon = LIQUID_ENGINE
    tags = shado ufo
    // --- internal setup ---
    MODULE
    {
        name = ModuleAnimateGeneric
        animationName = Pads
        startEventGUIName = Retract Pads
        endEventGUIName = Extend Pads
        actionGUIName = LandingGear
        defaultActionGroup = Gear
    }
    INTERNAL
    {
        name = landerCabinInternals
    }
    MODULE
    {
        name = ModuleReactionWheel
    
        PitchTorque = 850
        YawTorque = 850
        RollTorque = 850
    
        RESOURCE
        {
            name = ElectricCharge
            rate = 0.24
        }
    }
    MODULE
    {
        name = ModuleCommand
        minimumCrew = 1
        defaultControlPointDisplayName = #autoLOC_6011000 //#autoLOC_6011000 = Up
        CONTROLPOINT
        {
            name = forward
            displayName = #autoLOC_6011001 //#autoLOC_6011001 = Forward
            orientation = 90,0,0
        }
        CONTROLPOINT
        {
            name = reverse
            displayName = #autoLOC_6011004 //#autoLOC_6011004 = Reversed
            orientation = 0,0,180
        }
    }
    RESOURCE
    {
        name = ElectricCharge
        amount = 500
        maxAmount = 500
    }
    RESOURCE
    {
        name = Oxidizer
        amount = 2000
        maxAmount = 2000
    }
    RESOURCE
    {
        name = LiquidFuel
        amount = 2000
        maxAmount = 2000
    }
    RESOURCE
    {
        name = MonoPropellant
        amount = 2000
        maxAmount = 2000
    }
    MODULE
    {
        name = ModuleEnginesFX
        thrustVectorTransformName = thrustTransform
        exhaustDamage = False
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 1500
        heatProduction = 196
        fxOffset = 0, 0, 0.74
        EngineType = LiquidFuel
        exhaustDamageDistanceOffset = 0.56
        flameoutEffectName = flameout
        powerEffectName = running_thrust
        engageEffectName = engage
        disengageEffectName = disengage
        spoolEffectName = running_turbine
        PROPELLANT
        {
            name = LiquidFuel
            ratio = 0.9
            DrawGauge = True
        }
        PROPELLANT
        {
            name = Oxidizer
            ratio = 1.1
        }
        atmosphereCurve
        {
            key = 0 4200
            key = 1 3650
            key = 9 0.101
        }
    }
    MODULE
    {
        name = ModuleGimbal
        gimbalTransformName = thrustTransform
        gimbalRange = 3
    }
    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
        }
    }
    EFFECTS
    {        
        running_thrust
        {            
            AUDIO
            {
                channel = Ship
                clip = sound_jet_deep
                volume = 0.0 0.0
                volume = 0.05 0.4
                volume = 1.0 1.5
                pitch = 0.0 0.3
                pitch = 1.0 0.5
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_light
                transformName = thrustTransformFX
                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
                localRotation = 1, 0, 0, -90
            }                    
        }
        running_turbine
        {
            AUDIO
            {
                channel = Ship
                clip = sound_jet_low
                volume = 0.0 0.0
                volume = 0.05 0.2
                volume = 1.0 0.45
                pitch = 0.0 0.3
                pitch = 0.05 0.5
                pitch = 1.0 0.65
                loop = true
            }
        }
        engage
        {
            AUDIO
            {
                channel = Ship
                clip = sound_vent_medium
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
        disengage
        {
            AUDIO
            {
                channel = Ship
                clip = sound_vent_soft
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
        flameout
        {
            PREFAB_PARTICLE
            {
                prefabName = fx_exhaustSparks_flameout_2
                transformName = thrustTransformFX
                oneShot = true
            }
            AUDIO
            {
                channel = Ship
                clip = sound_explosion_low
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
    }
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = false
        requiresAllinputs = false
        resourceThreshold = 0.01
        activateGUIName = Main Power On
        shutdownGUIName = Main Power Off
        efficiency = 95
            
            OUTPUT_RESOURCE
            {
               name = ElectricCharge
               rate = 10.05
            }
    }
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = false
        requiresAllinputs = false
        resourceThreshold = 0.01
        activateGUIName =  Reactor On
        shutdownGUIName =  Reactor Off
        efficiency = 95
            
            OUTPUT_RESOURCE
            {
               name = Oxidizer
               rate = 1000
            }
    }
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = false
        requiresAllinputs = false
        resourceThreshold = 0.01
        activateGUIName =  Fusion On
        shutdownGUIName =  Fusion Off
        efficiency = 95
            
            OUTPUT_RESOURCE
            {
               name = LiquidFuel
               rate = 1000
            }  
    }
    MODULE
    {
        name = ModuleGenerator
        isAlwaysActive = false
        requiresAllinputs = false
        resourceThreshold = 0.01
        activateGUIName =  Compression On
        shutdownGUIName =  Compression Off
        efficiency = 95
            
            OUTPUT_RESOURCE
            {
               name = MonoPropellant
               rate = 1000
            }  
    }
    MODULE
    {
        name = ModuleDataTransmitter
        antennaType = DIRECT
        packetInterval = 0.35
        packetSize = 2
        packetResourceCost = 12.0
        requiredResource = ElectricCharge
        DeployFxModules = 0
        antennaPower = 2000000000
        antennaCombinable = True
    }

}

 

And this texture.

model000.png

gJsXTqi.png

@Martian Emigrant I don't know if you are popping by to look at this thread every now and then or not, so if not please check out the configs above for the UFO parts pack. There will be Space 1999 coming in the near future. If you are popping by, just let me know and then I won't tag you in the future.

Edited by ColdJ
Link to comment
Share on other sites

The above uses the original Mk2 Lander internal IVA, which fits in very nicely. Hopefully it still exists in 1.11.1 onwards.

The UFO has the ability to change control points of view just like a lander can.

Edited by ColdJ
Link to comment
Share on other sites

I'd lose my head etc.

Use either my micro docking port from Working Underwater Lite or just Change the rescaleFactor = in a Junior to 0.5, to have a docking port on top.

I put pics in.

 

Link to comment
Share on other sites

6 minutes ago, Astrion said:

@ColdJ So I put in the configs and recreated your pod racer, but I can't get it to hover without it falling back to the ground.

It will eventually sink back down if you leave it still long enough, this is by design, because the alternative is that it will rise and keep rising to a height that is not hovering. KSP sticks things to the ground initially until you break the hold. If you have put the RCS blocks on, simply give a quick puff to push the pod racer upwards and it will break the ground lock. Once moving use the pitch control to put yourself at the height you want to travel at.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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...