Jump to content

[1.3.0] Community Database of Module Manager Patches for Stock KSP


Alshain

Recommended Posts

AweUmd6.png?1


I frequently see requests for changes or mods that can be done easily using nothing but a module manager patch, often those have already been requested several times.  Rather than copy/paste every in every single request, I thought it might be nice to make a database of module manager patches for the stock game so players can simply scroll through the list and pick out what they like.  If you have a specific MM patch you would like to add to the list, feel free to post it.  If someone else made it for you, please include their name.  I would like to attribute the correct author.I will try to keep the thread up to date and will likely improve the thread organization as it grows.

Instructions For Usage

  1. Install Module Manager.  Many mods already come packaged with this, so you may already have it.  However, it is wise to ensure you have the latest version.
  2. Copy the entire contents of the patch(es) you want into a text editor.  I recommend Notepad++, but any text editor will do.
  3. Save the file in the Kerbal Space Program\GameData folder using a *.cfg extension and any name you wish (example: ServiceBayDeployLimiter.cfg). 
  4. The patches may be almost anywhere in the GameData folder, you may wish to create a "Patches" folder for organization.  The patches can all be in one file or split among many for your convenience (white space is ignored).
  5. Patches that alter the same modules may be combined provided they have the same header, see example below.
    Spoiler
    
    // Combined script to Default fairings to Clamshell, have 3 sides, and allow staging control
    // Author: Alshain
    @PART[*]:HAS[@MODULE[ModuleProceduralFairing]]:FINAL
    {
    	@MODULE[ModuleProceduralFairing]
    	{
    		useClamshell = true
    		nArcs = 3
    		stagingEnableText = Fairing: Enable Staging
    		stagingDisableText = Fairing: Disable Staging
    		stagingToggleEnabledEditor = true
    	}
    }

     

     

Rules for Patches in the Database

  1. Patches in this thread must be for stock KSP.  Mod patches should be posted in their respective threads.
  2. Patches must include the name of the original author or if you do not know, say so.
  3. Patches posted here are assumed to include no reserved rights beyond attribution.

SCPD Patch Manager

You can now download this database formatted for use with @linuxgurugamer's PatchManager mod.  Simply extract the zip file to your GameData folder.

Download

Module Manager Patch Database

Quality of Life Improvements
These patches do not alter the overall difficulties in the game.  In most cases they simply make it easier to do things you can already do through less convenient means.

Add Deploy Limiter to Service Bays
Contributor: @Alshain

Spoiler

// Add a deploy limiter to service bays
// Author: Alshain
@PART[ServiceBay_*]:FINAL
{
	@MODULE[ModuleAnimateGeneric]
	{
		allowDeployLimit = true
		revClampDirection = true
	}
}

 

Add Staging Control to Parachutes, Engines, and Launch Clamps (Advanced Tweakables)
Contributor: @Alshain, @Xyphos, @sebi.zzr
Note: For Multi-Mode Engines (Panther/Rapier) you must toggle staging on both engine modes!

Spoiler

// Add staging control to parachutes
// Author: Alshain
@PART[*]:HAS[@MODULE[ModuleParachute]]:FINAL
{
	@MODULE[ModuleParachute]
	{
		stagingEnableText = Parachute: Enable Staging
		stagingDisableText = Parachute: Disable Staging
		stagingToggleEnabledEditor = true
	}
}

// Add staging control to engines
// Author: Alshain, Xyphos, sebi.zzr
@PART[*]:HAS[@MODULE[ModuleEngines*]]:FINAL
{
	@MODULE[ModuleEngines*],*
	{
		stagingEnableText = Engine: Enable Staging
		stagingDisableText = Engine: Disable Staging
		stagingToggleEnabledEditor = true
	}
	
	@MODULE[ModuleJettison],*
	{
		stagingEnabled = False
	}
}

// Add staging control to launch clamps
// Author: Alshain
@PART[*]:HAS[@MODULE[LaunchClamp]]:FINAL
{
	@MODULE[LaunchClamp]
	{
		stagingEnableText = Clamp: Enable Staging
		stagingDisableText = Clamp: Disable Staging
		stagingToggleEnabledEditor = true
	}
}

Add Class Descriptions to Antennas
Contributor: @tg626

Spoiler

//Add Class Descriptions to Antenna
//Author: tg626
@PART[longAntenna]:FINAL {
	+description ^= :^:<color=orange>Class 1 Antenna.</color> :
}

@PART[SurfAntenna]:FINAL {
	+description ^= :^:<color=orange>Class 1 Antenna.</color> :
}

@PART[HighGainAntenna5]:FINAL {
	+description ^= :^:<color=orange>Class 2 Antenna.</color> :
}

@PART[mediumDishAntenna]:FINAL {
	+description ^= :^:<color=orange>Class 3 Antenna.</color> :
}

@PART[RelayAntenna5]:FINAL {
	+description ^= :^:<color=orange>Class 3 Antenna.</color> :
}

@PART[HighGainAntenna]:FINAL {
	+description ^= :^:<color=orange>Class 4 Antenna.</color> :
}

@PART[RelayAntenna50]:FINAL {
	+description ^= :^:<color=orange>Class 4 Antenna.</color> :
}

@PART[commDish]:FINAL {
	+description ^= :^:<color=orange>Class 5 Antenna.</color> :
}

@PART[RelayAntenna100]:FINAL {
	+description ^= :^:<color=orange>Class 5 Antenna.</color> :
}

 

Allow setting a maximum brightness value for cockpit lights
Contributor: @Iamsodarncool

Spoiler



// Allows setting a maximum brightness value for cabin lights
// Author: Iamsodarncool

@PART[Mark1Cockpit] 
{
    @MODULE[ModuleAnimateGeneric]
    {
        allowDeployLimit = true
        revClampDirection = true
    }
}

@PART[Mark2Cockpit] 
{
    @MODULE[ModuleAnimateGeneric]
    {
        allowDeployLimit = true
        revClampDirection = true
    }
}

@PART[MK1CrewCabin] 
{
    @MODULE[ModuleAnimateGeneric]
    {
        allowDeployLimit = true
        revClampDirection = true
    }
}

@PART[mk2Cockpit_Standard] 
{
    @MODULE[ModuleAnimateGeneric]
    {
        allowDeployLimit = true
        revClampDirection = true
    }
}

@PART[mk2Cockpit_Inline] 
{
    @MODULE[ModuleAnimateGeneric]
    {
        allowDeployLimit = true
        revClampDirection = true
    }
}

@PART[mk2CrewCabin] 
{
    @MODULE[ModuleAnimateGeneric]
    {
        allowDeployLimit = true
        revClampDirection = true
    }
}

@PART[mk3Cockpit_Shuttle] 
{
    @MODULE[ModuleAnimateGeneric]
    {
        allowDeployLimit = true
        revClampDirection = true
    }
}

@PART[mk3CrewCabin] 
{
    @MODULE[ModuleAnimateGeneric]
    {
        allowDeployLimit = true
        revClampDirection = true
    }
}

 

Adjust the Rotation of the HECS core for better alignment
Contributors: @eddiew,

Spoiler

// Adjust the rotation alignment of the HECS probe core
// Authors: eddiew, Aelfhe1m
@PART[probeCoreHex]
{
	-mesh
	%MODEL
	{
	  %model = Squad/Parts/Command/probeCoreHex/model
	  %position = 0.0, 0.0, 0.0
	  %scale = 1.0, 1.0, 1.0
	  %rotation = 0, 30, 0
	}
}

 

Adjust the Attachment Nodes for Heat Shields
Contributor: @Snark

Spoiler

// Tweak the stock heat shields to do two things:
// - Shroud is disabled by default
// - "Direct" attachment node (intended for attaching without shroud) is removed.
// - "Bottom" attachment node (intended for use with shroud) is moved to former location of "direct" node.
// Author: Snark

@PART[HeatShield1] {
    @node_stack_bottom = 0.0, -0.00, 0.0, 0.0, -1.0, 0.0, 1
    -node_stack_direct = nil
    @MODULE[ModuleJettison] {
        %shroudHideOverride = True
    }
}

@PART[HeatShield2] {
    @node_stack_bottom = 0.0, -0.00, 0.0, 0.0, -1.0, 0.0, 2	
    -node_stack_direct = nil
    @MODULE[ModuleJettison] {
        %shroudHideOverride = True
    }
}

@PART[HeatShield3] {
    @node_stack_bottom = 0.0, -0.00, 0.0, 0.0, -1.0, 0.0, 3
    -node_stack_direct = nil
    @MODULE[ModuleJettison] {
        %shroudHideOverride = True
    }
}

 

Add Deployment Limiter to Landing Gear
Contributor: @Mecripp

Spoiler

// Add deployment limiter to landing gear
// Authors: eddiew, Aelfhe1m

@PART[landingLeg1]
{ 
  !MODULE[ModuleWheelBase]{}
  !MODULE[ModuleWheelSuspension]{}
  !MODULE[ModuleWheelDeployment]{}
  !MODULE[ModuleWheelLock]{} 
  !MODULE[ModuleWheelBogey]{}
  !MODULE[ModuleWheelDamage]{}
  !EFFECTS{}
MODULE
{
 name = ModuleAnimateGeneric
 animationName = Deploy
 startEventGUIName = #autoLOC_502051 //#autoLOC_502051 = Extend Legs
 endEventGUIName = #autoLOC_502069 //#autoLOC_502069 = Retract Legs
 actionGUIName = #autoLOC_502077 //#autoLOC_502077 = Toggle Legs
 allowDeployLimit = true
 revClampDirection = false
 revClampSpeed = true
 revClampPercent = true   
}
}
@PART[landingLeg1-2]
{ 
  !MODULE[ModuleWheelBase]{}
  !MODULE[ModuleWheelSuspension]{}
  !MODULE[ModuleWheelDeployment]{}
  !MODULE[ModuleWheelLock]{} 
  !MODULE[ModuleWheelBogey]{}
  !MODULE[ModuleWheelDamage]{}
  !EFFECTS{}
MODULE
{
 name = ModuleAnimateGeneric
 animationName = newlandingleg
 startEventGUIName = #autoLOC_502051 //#autoLOC_502051 = Extend Legs
 endEventGUIName = #autoLOC_502069 //#autoLOC_502069 = Retract Legs
 actionGUIName = #autoLOC_502077 //#autoLOC_502077 = Toggle Legs
 allowDeployLimit = true
 revClampDirection = false
 revClampSpeed = true
 revClampPercent = true   
}
} 
@PART[miniLandingLeg]
{ 
  !MODULE[ModuleWheelBase]{}
  !MODULE[ModuleWheelSuspension]{}
  !MODULE[ModuleWheelDeployment]{}
  !MODULE[ModuleWheelLock]{} 
  !MODULE[ModuleWheelBogey]{}
  !MODULE[ModuleWheelDamage]{}
  !EFFECTS{}
MODULE
{
 name = ModuleAnimateGeneric
 animationName = probeleg
 startEventGUIName = #autoLOC_502051 //#autoLOC_502051 = Extend Legs
 endEventGUIName = #autoLOC_502069 //#autoLOC_502069 = Retract Legs
 actionGUIName = #autoLOC_502077 //#autoLOC_502077 = Toggle Legs
 allowDeployLimit = true
 revClampDirection = false
 revClampSpeed = true
 revClampPercent = true   
}
}    

 

 

Tweakable Defaults

These patches allow you to alter the default state for many part tweakables so that you do not have to remember to do it every time.  These are personal preference items and do no alter gameplay.  In all cases, these can still be altered in-game while the patch is active, it only changes their starting settings.

No Monopropellant in New Command Pods/Cockpits
Contributor: Unknown

Spoiler

 


// Empty monopropellant from new pods/cockpits
// Author: Unknown
@PART[*]:HAS[@MODULE[ModuleCommand],@RESOURCE[MonoPropellant]]:FINAL
{
  @RESOURCE[MonoPropellant] 
        {
            @amount = 0
        }
}

 

RCS to Translate Only
Contributor: @Snark

Spoiler

// Configure RCS to Translate Only by Default
// Author: Snark
@PART[*]:HAS[@MODULE[ModuleRCSFX]]
{
	@MODULE[ModuleRCSFX]
	{
		%enableYaw = false
		%enablePitch = false
		%enableRoll = false
	}
}

 

Clamshell Style Fairings
Contributor: @Alshain

Spoiler

// Default fairings to Clamshell
// Author: Alshain
@PART[*]:HAS[@MODULE[ModuleProceduralFairing]]:FINAL
{
	@MODULE[ModuleProceduralFairing]
	{
		useClamshell = true
	}
}

 

Number of Fairing Sides
Contributor: @Alshain

Spoiler

// Change the default number of fairing sides
// Author: Alshain
@PART[*]:HAS[@MODULE[ModuleProceduralFairing]]:FINAL
{
	@MODULE[ModuleProceduralFairing]
	{
		// Change to any whole number between 2 and 6
		nArcs = 3
	}
}

 

Fairing Ejection Force
Contributor: @Alshain

Spoiler

// Change the default fairing ejection force
// Author: Alshain
@PART[*]:HAS[@MODULE[ModuleProceduralFairing]]:FINAL
{
	@MODULE[ModuleProceduralFairing]
	{
		// Change to any whole number between 0 and 1000
		ejectionForce = 50
	}
}

 

Decoupler, Separator, and Heat Shield Ejection Force
Contributor: @Alshain

Spoiler

// Change the default decoupler, separator, and heat shield ejection force
// Author: Alshain
@PART[*]:HAS[@MODULE[ModuleDecouple]]:FINAL
{
	@MODULE[ModuleDecouple]
	{
		// Change to any whole number between 0 and 100
		ejectionForcePercent = 50
	}
}

 

Hibernate in Warp to Auto
Contributor: @Alshain

Spoiler

//Default Hibernate in Warp to Auto
//Author: Alshain
@PART[*]:HAS[@MODULE[ModuleCommand]:HAS[#hasHibernation[True]]]:FINAL
{
	@MODULE[ModuleCommand] 
	{
		%hibernateOnWarp = true
	}
}

 

Fairing Nodes to Off
Contributor: @JAFO

Spoiler

// Fairing nodes default to off
// Author: JAFO
@PART[*]:HAS[@MODULE[ModuleProceduralFairing]]:FINAL
{
	@MODULE[ModuleStructuralNodeToggle]
	{
		showNodes = false
	}
}

 

Fairing Trusses to Off
Contributor: @JAFO

Spoiler

// Fairing trusses default to off
// Author: JAFO
@PART[*]:HAS[@MODULE[ModuleProceduralFairing]]:FINAL
{
	@MODULE[ModuleStructuralNodeToggle]
	{
		showMesh = false
	}
}

 

Decouplers to Allow Crossfeed
Contributor: @Armisael

Spoiler

//New radial decouplers allow crossfeed
//Author: Armisael
@PART[*]:HAS[@MODULE[ModuleAnchoredDecoupler]]:FINAL
{
  @MODULE[ModuleToggleCrossfeed] 
        {
            @crossfeedStatus = true
        }
}

@PART[*]:HAS[@MODULE[ModuleDecouple]:HAS[#explosiveNodeID[srf]]]:FINAL
{
  @MODULE[ModuleToggleCrossfeed] 
        {
            @crossfeedStatus = true
        }
}

 

Command Pod and Cockpit Lights On
Contributor: @slubman

Spoiler

// Command pods have lights on by default
// Author: slubman
@PART[*]:HAS[@MODULE[ModuleColorChanger]]:FINAL
{
	@MODULE[ModuleColorChanger]
	{
		%animState = true
	}
}

// Cockpits and cabins have lights on by default
// Author: slubman
@PART[*Cabin*|*Cockpit*]:HAS[@MODULE[ModuleAnimateGeneric]]:FINAL
{
	@MODULE[ModuleAnimateGeneric]
	{
		%animSwitch = false
		%animTime = 1
		%animSpeed = 1
	}
}

 

Command Pod and Cockpit Lights Not Bound to Action Group
Contributor: @slubman

Spoiler

// Command pods have lights on not bound to ActionGroup
// Author: slubman
@PART[*]:HAS[@MODULE[ModuleColorChanger]]:FINAL
{
	@MODULE[ModuleColorChanger]
	{
		%defaultActionGroup = None
	}
}

// Cockpits and cabins not bound to ActionGroup
// Author: slubman
@PART[*Cabin*|*Cockpit*]:HAS[@MODULE[ModuleAnimateGeneric]]:FINAL
{
	@MODULE[ModuleAnimateGeneric]
	{
		%defaultActionGroup = None
	}
}

 

Kerbal EVA Lights On
Contributor: @slubman

Spoiler

// Kerbal have lights on when starting EVA
// Author: slubman
@PART[*]:HAS[@MODULE[KerbalEVA]]:FINAL
{
	@MODULE[KerbalEVA]
	{
		%lampOn = true
	}
}

 

Reduce Default Ablator to 20% of full
Contributor: @Foxster

Spoiler

// Set starting ablator to 20% of max for heatshields
// Author: Foxster
@PART[HeatShield*]:FINAL
{
	@RESOURCE[Ablator]
	{
    	@amount *= 0.2
	}
}

 

 

Default Antennas to Allow Partial
Contributor: @Blackline

Spoiler

// Default antennas to allow partial
// Author: Blackline

@PART[*]:HAS[@MODULE[ModuleDataTransmitter]]:FINAL
{
    @MODULE[ModuleDataTransmitter]
    {
        %xmitIncomplete = True
    }
} 

 


Default Flag Decals to Off
Contributor: @Messy Recipe

Spoiler

// Turn off flag decals by default
// Author: Messy Recipe

@PART[*]:HAS[@MODULE[FlagDecal]]:FINAL
{
	@MODULE[FlagDecal]
	{
		%flagDisplayed = false
	}
}

 

Scaled and New Parts
These patches add new parts from existing textures to fill in some of the gaps in stock.

0.625m Fuselage
Contributor: @Psycho_zs

Spoiler

//Add 0.625m Fuselage
//Author: Psycho_zs
+PART[Mk1FuselageStructural]
{
    @name = Mk0FuselageStructural
    @rescaleFactor = 0.5
    @TechRequired = generalConstruction
    @entryCost = 1500
    @cost = 220
    @title = Structural Fuselage (small)
    @description = A substandard 0.625m fuselage. Derived from the early papier-mache mockup of the full-scale fuselage with added reinforcements.
    @mass = 0.0125
    @node_stack_top = 0.0, 0.9375, 0.0, 0.0, 1.0, 0.0, 0
    @node_stack_bottom = 0.0, -0.9375, 0.0, 0.0, -1.0, 0.0, 0
    @node_attach[6] = 0
    @bulkheadProfiles = size0
}

 

1.25m Modular Girder System
Contributor: @Alshain

Spoiler

//Add 1.25m Modular Girder
//Author: Alshain
+PART[trussPiece1x]
{
    @name = largeTrussPiece1x
    @rescaleFactor = 2
    @TechRequired = specializedConstruction
    @entryCost = 5200
    @cost = 50
    @title = Large Modular Girder Segment
    @mass = 0.25
    @node_stack_bottom[6] = 2
    @node_stack_top[6] = 2
    @node_attach = 0.0, -0.5592728, 0.0, 0.0, -1.0, 0.0, 2
    @bulkheadProfiles = size2
}

//Add 1.25m to 2.5 Modular Girder Adapter
//Author: Alshain
+PART[trussAdapter]
{
    @name = largeTrussAdapter
    @rescaleFactor = 2
    @TechRequired = advMetalworks
    @entryCost = 9600
    @cost = 100
    @title = Large Modular Girder Adapter
    @mass = 0.50
    @node_stack_bottom[6] = 2
    @node_stack_top[6] = 2
    @description = This piece allows you to attach Large Modular Girder parts to standard 2.5m attachment points.
    @bulkheadProfiles = size2
}

//Add 1.25m Modular Girder XXL
//Author: Alshain
+PART[trussPiece3x]
{
    @name = largeTrussPiece3x
    @rescaleFactor = 2
    @TechRequired = metaMaterials
    @entryCost = 15600
    @cost = 125
    @title = Modular Girder Segment XXL
    @mass = 0.75
    @node_stack_bottom[6] = 2
    @node_stack_top[6] = 2
    @node_attach = 0.0, -1.475238, 0.0, 0.0, -1.0, 0.0, 2
    @bulkheadProfiles = size2
}

//Add 1.25m Micronode
//Author: Alshain
+PART[structuralMiniNode]
{
    @name = structuralMacroNode
    @rescaleFactor = 4
    @TechRequired = advMetalworks
    @entryCost = 39200
    @cost = 100
    @title = The Not-Rockomax Macronode
    @mass = 0.60
    @node_stack_right[6] = 2
    @node_stack_left[6] = 2
    @node_stack_back[6] = 2
    @node_stack_front[6] = 2
    @node_stack_top[6] = 2
    @node_stack_bottom[6] = 2
    @bulkheadProfiles = size2
}

 

0.313m Modular Girder System
Contributor: @Alshain

Spoiler

//Add 0.313m Modular Girder
//Author: Alshain
+PART[trussPiece1x]
{
    @name = smallTrussPiece1x
    @rescaleFactor = 0.5
    @TechRequired = miniaturization
    @entryCost = 1300
    @cost = 12.5
    @title = Small Modular Girder Segment
    @mass = 0.0625
    @node_stack_bottom[6] = 0
    @node_stack_top[6] = 0
    @node_attach = 0.0, -0.5592728, 0.0, 0.0, -1.0, 0.0, 0
    @bulkheadProfiles = size0
}

//Add 0.313m to 0.625m Modular Girder Adapter
//Author: Alshain
+PART[trussAdapter]
{
    @name = smallTrussAdapter
    @rescaleFactor = 0.5
    @TechRequired = precisionEngineering
    @entryCost = 2400
    @cost = 25
    @title = Small Modular Girder Adapter
    @mass = 0.125
    @node_stack_bottom[6] = 0
    @node_stack_top[6] = 0
    @description = This piece allows you to attach Small Modular Girder parts to standard 0.625m attachment points.
    @bulkheadProfiles = size0
}

//Add 0.313m Modular Girder XS
//Author: Alshain
+PART[trussPiece3x]
{
    @name = smallTrussPiece3x
    @rescaleFactor = 0.5
    @TechRequired = precisionEngineering
    @entryCost = 3900
    @cost = 31.25
    @title = Modular Girder Segment XS
    @mass = 0.1875
    @node_stack_bottom[6] = 0
    @node_stack_top[6] = 0
    @node_attach = 0.0, -1.475238, 0.0, 0.0, -1.0, 0.0, 0
    @bulkheadProfiles = size0
}

//Add 0.625m Micronode
//Author: Alshain
+PART[structuralMiniNode]
{
    @name = structuralNode
    @rescaleFactor = 2
    @TechRequired = advConstruction
    @entryCost = 19600
    @cost = 50
    @title = The Not-Rockomax Node
    @mass = 0.30
    @node_stack_right[6] = 1
    @node_stack_left[6] = 1
    @node_stack_back[6] = 1
    @node_stack_front[6] = 1
    @node_stack_top[6] = 1
    @node_stack_bottom[6] = 1
    @bulkheadProfiles = size1
}

 

0.625m & 2.5m HubMax
Contributor: @Alshain

Spoiler

//Add 2.5m HubMax connector
//Author: Alshain
+PART[stationHub]
{
    @name = stationHubLarge
    @rescaleFactor = 2
    @TechRequired = metaMaterials
    @entryCost = 21600
    @cost = 1800
    @title = Rockomax HubExtreme Multi-Point Connector
    @mass = 3.0
    @node_stack_right[6] = 2
    @node_stack_left[6] = 2
    @node_stack_back[6] = 2
    @node_stack_front[6] = 2
    @node_stack_top[6] = 2
    @node_stack_bottom[6] = 2
    @bulkheadProfiles = size2
}

//Add 0.625m HubMax connector
//Author: Alshain
+PART[stationHub]
{
    @name = stationHubSmall
    @rescaleFactor = 0.5
    @TechRequired = metaMaterials
    @entryCost = 5400
    @cost = 450
    @title = Rockomax HubMin Multi-Point Connector
    @mass = 0.75
	@node_stack_right[6] = 0
	@node_stack_left[6] = 0
	@node_stack_back[6] = 0
	@node_stack_front[6] = 0
	@node_stack_top[6] = 0
	@node_stack_bottom[6] = 0
    @bulkheadProfiles = size0
}

 

1.25m to 0.625m Bi/Tri/Quad Adapters
Contributor: @Alshain

Spoiler

//Add 0.625m - 1.25m Bi-Adapter
//Author: Alshain
+PART[adapterLargeSmallBi]
{
    @name = adapterSmallTinyBi
    @rescaleFactor = 0.5
    @TechRequired = advConstruction
    @entryCost = 3900
    @cost = 200
    @title = TVR-200S Stack Bi-Adapter
    @description = After realizing 'larger circles' wasn't a very patentable concept, O.M.B. Enterprises rolled out a new line of ingenious multi-connector adapters to fit Rockomax sized parts. Lawsuit still pending. Converts a single 1.25m stack into two 0.625m stacks.
    @mass = 0.05
    @node_stack_bottom01[6] = 0
    @node_stack_bottom02[6] = 0
    @node_stack_top[6] = 1
    @bulkheadProfiles = size0
}

//Add 0.625m - 1.25m Tri-Adapter
//Author: Alshain
+PART[adapterLargeSmallTri]
{
    @name = adapterSmallTinyTri
    @rescaleFactor = 0.5
    @TechRequired = advConstruction
    @entryCost = 3200
    @cost = 300
    @title = TVR-300S Stack Bi-Adapter
    @description = After realizing 'larger circles' wasn't a very patentable concept, O.M.B. Enterprises rolled out a new line of ingenious multi-connector adapters to fit Rockomax sized parts. Lawsuit still pending. Converts a single 1.25m stack into three 0.625m stacks.
    @mass = 0.075
    @node_stack_bottom01[6] = 0
    @node_stack_bottom02[6] = 0
    @node_stack_bottom03[6] = 0
    @node_stack_top[6] = 1
    @bulkheadProfiles = size0
}

//Add 0.625m - 1.25m Quad-Adapter
//Author: Alshain
+PART[adapterLargeSmallQuad]
{
    @name = adapterSmallTinyQuad
    @rescaleFactor = 0.5
    @TechRequired = advConstruction
    @entryCost = 3500
    @cost = 400
    @title = TVR-400S Stack Bi-Adapter
    @description = After realizing 'larger circles' wasn't a very patentable concept, O.M.B. Enterprises rolled out a new line of ingenious multi-connector adapters to fit Rockomax sized parts. Lawsuit still pending. Converts a single 1.25m stack into four 0.625m stacks.
    @mass = 0.1
    @node_stack_bottom01[6] = 0
    @node_stack_bottom02[6] = 0
    @node_stack_bottom03[6] = 0
    @node_stack_bottom04[6] = 0
    @node_stack_top[6] = 1
    @bulkheadProfiles = size0
}

 

0.625m, 2.5m, 3.75m Bi/Tri/Quad Couplers
Contributor: @Alshain

Spoiler

//Add 0.625m Bi-Coupler
//Author: Alshain
+PART[stackBiCoupler]
{
    @name = stackTinyBiCoupler
    @rescaleFactor = 0.5
    @TechRequired = specializedConstruction
    @entryCost = 1600
    @cost = 200
    @title = TVR-200T Stack Bi-Coupler
    @description = The TVR-200T Stack Bi-Coupler is a simple method for splitting one rocket into two - WITHOUT the disastrous consequences of doing it the normal (explosive) way.  This unit support 0.625m parts.
    @mass = 0.05
    @node_stack_top = 0, 0.2555655, 0, 0.0, 1.0, 0.0, 0
    @node_stack_bottom1 = 0.6507622, -0.2681665, 0, 0.0, -1.0, 0.0, 0
    @node_stack_bottom2 = -0.6507622, -0.2681665, 0, 0.0, -1.0, 0.0, 0
    @bulkheadProfiles = size0
}

//Add 2.5m Bi-Coupler
//Author: Alshain
+PART[stackBiCoupler]
{
    @name = stackLargeBiCoupler
    @rescaleFactor = 2
    @TechRequired = advConstruction
    @entryCost = 6400
    @cost = 800
    @title = TVR-200M Stack Bi-Coupler
    @description = The TVR-200T Stack Bi-Coupler is a simple method for splitting one rocket into two - WITHOUT the disastrous consequences of doing it the normal (explosive) way.  This unit support 2.5m parts.
    @mass = 0.2
    @node_stack_top = 0, 0.2555655, 0, 0.0, 1.0, 0.0, 2
    @node_stack_bottom1 = 0.6507622, -0.2681665, 0, 0.0, -1.0, 0.0, 2
    @node_stack_bottom2 = -0.6507622, -0.2681665, 0, 0.0, -1.0, 0.0, 2
    @bulkheadProfiles = size2
}

//Add 3.75m Bi-Coupler
//Author: Alshain
+PART[stackBiCoupler]
{
    @name = stackJumboBiCoupler
    @rescaleFactor = 3
    @TechRequired = advMetalworks
    @entryCost = 9600
    @cost = 1200
    @title = TVR-200J Stack Bi-Coupler
    @description = The TVR-200T Stack Bi-Coupler is a simple method for splitting one rocket into two - WITHOUT the disastrous consequences of doing it the normal (explosive) way.  This unit support 3.75m parts.
    @mass = 0.3
    @node_stack_top = 0, 0.2555655, 0, 0.0, 1.0, 0.0, 3
    @node_stack_bottom1 = 0.6507622, -0.2681665, 0, 0.0, -1.0, 0.0, 3
    @node_stack_bottom2 = -0.6507622, -0.2681665, 0, 0.0, -1.0, 0.0, 3
    @bulkheadProfiles = size3
}

//Add 0.625m Tri-Coupler
//Author: Alshain
+PART[stackTriCoupler]
{
    @name = stackTinyTriCoupler
    @rescaleFactor = 0.5
    @TechRequired = specializedConstruction
    @entryCost = 1050
    @cost = 340
    @title = TVR-1180B Mk0 Stack Tri-Coupler
    @description = The Stack Tricoupler! If your stack is lacking in awesomeness, this is the tool for you! Just remember that this is not a decoupler, and won't separate stages. This unit supports 0.625m parts.
    @mass = 0.075
    @node_stack_top = 0.0, 0.5349199, 0.0, 0.0, 1.0, 0.0, 0
    @node_stack_bottom01 = 0, -0.4361493, -0.7233048, 0.0, -1.0, 0.0, 0
    @node_stack_bottom02 = -0.6264005, -0.4361493, 0.3616524, 0.0, -1.0, 0.0, 0
    @node_stack_bottom03 = 0.6264006, -0.4361493, 0.3616522, 0.0, -1.0, 0.0, 0
    @bulkheadProfiles = size0
}

//Add 2.5m Tri-Coupler
//Author: Alshain
+PART[stackTriCoupler]
{
    @name = stackLargeTriCoupler
    @rescaleFactor = 2
    @TechRequired = advConstruction
    @entryCost = 4200
    @cost = 1360
    @title = TVR-1180D Stack Tri-Coupler
    @description = The Stack Tricoupler! If your stack is lacking in awesomeness, this is the tool for you! Just remember that this is not a decoupler, and won't separate stages. This unit supports 2.5m parts.
    @mass = 0.3
    @node_stack_top = 0.0, 0.5349199, 0.0, 0.0, 1.0, 0.0, 2
    @node_stack_bottom01 = 0, -0.4361493, -0.7233048, 0.0, -1.0, 0.0, 2
    @node_stack_bottom02 = -0.6264005, -0.4361493, 0.3616524, 0.0, -1.0, 0.0, 2
    @node_stack_bottom03 = 0.6264006, -0.4361493, 0.3616522, 0.0, -1.0, 0.0, 2
    @bulkheadProfiles = size2
}

//Add 3.75m Tri-Coupler
//Author: Alshain
+PART[stackTriCoupler]
{
    @name = stackJumboTriCoupler
    @rescaleFactor = 3
    @TechRequired = advMetalworks
    @entryCost = 6300
    @cost = 2040
    @title = TVR-1180E Stack Tri-Coupler
    @description = The Stack Tricoupler! If your stack is lacking in awesomeness, this is the tool for you! Just remember that this is not a decoupler, and won't separate stages. This unit supports 3.75m parts.
    @mass = 0.45
    @node_stack_top = 0.0, 0.5349199, 0.0, 0.0, 1.0, 0.0, 3
    @node_stack_bottom01 = 0, -0.4361493, -0.7233048, 0.0, -1.0, 0.0, 3
    @node_stack_bottom02 = -0.6264005, -0.4361493, 0.3616524, 0.0, -1.0, 0.0, 3
    @node_stack_bottom03 = 0.6264006, -0.4361493, 0.3616522, 0.0, -1.0, 0.0, 3
    @bulkheadProfiles = size3
}

//Add 0.625m Quad-Coupler
//Author: Alshain
+PART[stackQuadCoupler]
{
    @name = stackTinyQuadCoupler
    @rescaleFactor = 0.5
    @TechRequired = specializedConstruction
    @entryCost = 2100
    @cost = 1000
    @title = TVR-2160B Stack Quad-Coupler
    @description = What could be more awesome than a Tricoupler? Why, a quadcoupler, of course. Just remember that this is not a decoupler, and will not separate stages. This unit supports 0.625m parts.
    @mass = 0.0875
    @node_stack_top[6] = 0
    @node_stack_bottom01[6] = 0
    @node_stack_bottom02[6] = 0
    @node_stack_bottom03[6] = 0
    @node_stack_bottom04[6] = 0
    @bulkheadProfiles = size0
}

//Add 2.5m Quad-Coupler
//Author: Alshain
+PART[stackQuadCoupler]
{
    @name = stackLargeQuadCoupler
    @rescaleFactor = 2
    @TechRequired = advConstruction
    @entryCost = 8400
    @cost = 4000
    @title = TVR-2160D Stack Quad-Coupler
    @description = What could be more awesome than a Tricoupler? Why, a quadcoupler, of course. Just remember that this is not a decoupler, and will not separate stages. This unit supports 2.5m parts.
    @mass = 0.35
    @node_stack_top[6] = 2
    @node_stack_bottom01[6] = 2
    @node_stack_bottom02[6] = 2
    @node_stack_bottom03[6] = 2
    @node_stack_bottom04[6] = 2
    @bulkheadProfiles = size2
}

//Add 3.75m Quad-Coupler
//Author: Alshain
+PART[stackQuadCoupler]
{
    @name = stackJumboQuadCoupler
    @rescaleFactor = 3
    @TechRequired = advMetalworks
    @entryCost = 12600
    @cost = 6000
    @title = TVR-2160E Stack Quad-Coupler
    @description = What could be more awesome than a Tricoupler? Why, a quadcoupler, of course. Just remember that this is not a decoupler, and will not separate stages. This unit supports 3.75m parts.
    @mass = 0.525
    @node_stack_top[6] = 3
    @node_stack_bottom01[6] = 3
    @node_stack_bottom02[6] = 3
    @node_stack_bottom03[6] = 3
    @node_stack_bottom04[6] = 3
    @bulkheadProfiles = size3
}

 

Extra Landing Gear
Contributor @Vegetal

Spoiler

// Adds an intermediate landing gear between small and medium.
// Author: Vegetal
+PART[GearSmall]
{
    @name = [GearSmall2]
    @title = LY-25 Medium Landing Gear
    @rescaleFactor = 0.8
    @TechRequired = advLanding
    @entryCost = 4800
    @cost = 650
    @description = Smaller version of LY-35 landing gear, not too big, not too small.
    @mass = 0.1
}

 

Additional Launch Clamps
Contributor: @maculator

Spoiler

// Add additional launch clamp sizes
// Author: maculator
+PART[launchClamp1]
{
    @name = [launchClamp2]
	@title = TT18-B Launch Stability Enhancer
    @rescaleFactor = 2 //1 = 100%
    @TechRequired = specializedConstruction
    @entryCost = 3600
    @cost = 400
    @mass = 0.2
    @node_attach = 0.0, 1.354437, 0.8069194, 0.0, 0.0, -1.0, 2
}

+PART[launchClamp1]
{
    @name = [launchClamp0]
    @title = TT18 Launch Stability Enhancer
    @rescaleFactor = 0.5 //1 = 100%
    @TechRequired = start
    @entryCost = 0
    @cost = 100
    @mass = 0.05
    @node_attach = 0.0, 1.354437, 0.8069194, 0.0, 0.0, -1.0, 0
}

+PART[launchClamp1]
{
    @name = [launchClamp3]
	@title = TT18-C Launch Stability Enhancer
    @rescaleFactor = 3 //1 = 100%
    @TechRequired = composites
    @entryCost = 5400
    @cost = 600
    @mass = 0.3
    @node_attach = 0.0, 1.354437, 0.8069194, 0.0, 0.0, -1.0, 3
}

 

Delayed Action Sepatron
Contributor: @Enceos

Spoiler

// Add a delayed action sepatron
// Author: Enceos
+PART[sepMotor1]:Final
{
	@name = delayedRetro    
	@title = Sepratron I-D
	@description = Same as the Sepratron I but with a delayed fuse.
	@MODULE[ModuleEngine*]
	{
		%useThrustCurve = true
		%thrustCurve
		{
			key = 0.00 0.01
			key = 0.05 1.00 0 0
			key = 0.93 1.00 0 0
			key = 0.98 0.10 0 0
			key = 1.00 0.10
		}
	}
}

 

Add a 5m and 7m Fairing
Contributor: @Enceos, @Stone Blue

Spoiler

// Add a 5m Fairing
// Author: Enceos
+PART[fairingSize3]
{
    %name = fairingSize4

    @MODEL
    {
    %scale = 1.33,1,1.33
    }

%title = AE-FF4 Airstream Protective Shell (5m)
%description = While the Kerbals at Mission Control were still figuring out how to get their rockets back down to Kerbin safely, the research engineers at FLOOYD were quickly realising that protecting parts on ascent was just as important. Heavy research into two-dimensional-input driven procedural construction was then funded with the hopes of making protective shells for important payloads and interstage areas of the crafts. The protective shells also have the benefit of making the craft more aerodynamic, hopefully saving on precious rocket fuel! The AE-FF4 is the experimental prototype from FLOOYD. It is designed for the largest rockets which come from private companies from various parts of Kerbin.
%mass = 0.64
%bulkheadProfiles = size4


    @MODULE[ModuleProceduralFairing]
    {    

        %baseRadius = 2.5
        %maxRadius = 8
        %xSectionHeightMax = 7
    }

}

// Add a 7m Fairing
// Author: Stone Blue

+PART[fairingSize3]
{
    %name = fairingSize5

    @MODEL
    {
    %scale = 2,1,2
    }

%title = AE-FF5 Airstream Protective Shell (7.5m)
%description = While the Kerbals at Mission Control were still figuring out how to get their rockets back down to Kerbin safely, the research engineers at FLOOYD were quickly realising that protecting parts on ascent was just as important. Heavy research into two-dimensional-input driven procedural construction was then funded with the hopes of making protective shells for important payloads and interstage areas of the crafts. The protective shells also have the benefit of making the craft more aerodynamic, hopefully saving on precious rocket fuel! The AE-FF5 is the experimental prototype from FLOOYD. It is designed for the largest rockets which come from private companies from various parts of Kerbin.
%mass = 1.1
%bulkheadProfiles = size5


    @MODULE[ModuleProceduralFairing]
    {    

        %baseRadius = 3.75
        %maxRadius = 10.5
        %xSectionHeightMax = 7
    }

}

 

Make the Atmospheric Sensor Smaller
Contributor: @samamstar

Spoiler

//this patch makes the atmopheric sensor smaller
//Author: samamstar
@PART[sensorAtmosphere]:FINAL
{
	//set this factor bigger to make the part bigger, smaller to shrink it
	@rescaleFactor = 0.3
	//I suggest 0.3, that puts it right around the scale of the thermometer & accelerometer
}

 

Add Fuel Filled Adapters
Contributor: @samamstar

Spoiler

//this adds new fuel filled adapters for ksp. should be decently balanced
//Author: samamstar
//new 1.25 to 0.625 fueled adapter
+PART[adapterSmallMiniTall]:FINAL
{
	@name = adapterSmallMiniTallFueled
	@TechRequired = advFuelSystems
	@entryCost = 3000
	@cost = 200
	@category = FuelTank
	@title = FL-A10 Fuel Tank
	@description = We had some engineers installing a FL-A10 adapter when they came to the sudden realization that we were packing all that extra empty space for no reason!
	@mass = 0.70
	RESOURCE
	{
		name = LiquidFuel
		amount = 45
		maxAmount = 45
	}
	RESOURCE
	{
		name = Oxidizer
		amount = 55
		maxAmount = 55
	}
}

//2.5 meter adapter fuel tank
+PART[largeAdapter]:FINAL
{
	@name = largeAdapterFueled
	@TechRequired = advFuelSystems
	@entryCost = 7000
	@cost = 3500
	@category = FuelTank
	@title = Rockomax Brand Adapter
	@manufacturer = Rockomax Conglomerate
	@description =  When C7 designed an adapter for rockomax rocketry parts we immediately took legal action against them, but it is aparently perfectly legal to design periferals for someone else's product. So we beat them at their own game.
	@mass = 0.5
	RESOURCE
	{
		name = LiquidFuel
		amount = 360
		maxAmount = 360
	}
	RESOURCE
	{
		name = Oxidizer
		amount = 440
		maxAmount = 440
	}
}

//3.75 meter adapter fuel tank
+PART[Size3to2Adapter]:FINAL
{
	@name = Size3to2AdapterFueled
	@TechRequired = highPerformanceFuelSystems
	@entryCost = 10000
	@cost = 2750
	@category = FuelTank
	@title = Kerbodyne ADTP-2-3 Fuel Tank
	@manufacturer = Kerbodyne
	@description =  After Jeb's junkyard filled the FL-A10 adapter with fuel, some eggheads at kerbodyne came up with a great idea! Fill our adapter with fuel!
	@mass = 1.75
	RESOURCE
	{
		name = LiquidFuel
		amount = 1296
		maxAmount = 1296
	}
	RESOURCE
	{
		name = Oxidizer
		amount = 1584
		maxAmount = 1584
	}
}

 

Small & Large Air Brakes
Contributor: @Errol

Spoiler

// Adds a small and large airbrake part
// Author: Errol

+PART[airbrake1]
{
    @name = miniairbrake1
    @rescaleFactor = 0.5
    @TechRequired = stability
    @entryCost = 5000
    @cost = 250
    @title = A.I.R.B.R.A.K.E.S (M.I.N.I)
    @description = After several complaints from our brave pilots that the standard A.I.R.B.R.A.K.E.S were too powerful for smaller craft, the engineers at C7 Aerospace came up with a simple solution. A smaller airbrake.
    @mass = 0.0125
    @MODULE[ModuleAeroSurface]
    {
        @deflectionLiftCoeff = 0.1
        @ctrlSurfaceArea = 0.25
    }
}

+PART[airbrake1]
{
    @name = largeairbrake1
    @rescaleFactor = 1.5
    @TechRequired = heavyAerodynamics
    @entryCost = 15000
    @cost = 1000
    @title = A.I.R.B.R.A.K.E.S (L.A.R.G.E)
    @description = After several complaints from our brave pilots that the standard A.I.R.B.R.A.K.E.S were too wimpy for larger craft, the engineers at C7 Aerospace came up with a simple solution. A larger airbrake.
    @mass = 0.1
    @MODULE[ModuleAeroSurface]
    {
        @deflectionLiftCoeff = 0.85
        @ctrlSurfaceArea = 2.25
    }
}

 

Radial LFO Tank
Contributor: @Snark, @Aelfhe1m

Spoiler

// Repurposes the Stratus-V Cylindrified Monopropellant Tank as an LFO tank.

+PART[rcsTankRadialLong] {
	@name = squadLFOTankRadialLong
	@title = Stratus-LFO Cylindrified Fuel Tank
	@description = After years of disappointing sales, the hard-working engineers of Stratus Corporation finally realized that nobody has any use for a medium-large radial monopropellant tank. So they boldly ventured into new markets with this line of conveniently attachable, moderately-sized LFO tanks.
    -RESOURCE[MonoPropellant] {}
	RESOURCE {
		name = LiquidFuel
		amount = 54
		maxAmount = 54
	}
	RESOURCE {
		name = Oxidizer
		amount = 66
		maxAmount = 66
	}
}

 

 

Internal Combustion Engine (Wheels)
Contributor: @KerbMav

Spoiler

// Adds and internal combustion wheel.
// Author: KerbMav

+PART[wheelMed]
{
	@name = wheelMedFuel
	@TechRequired = aviation
	@entryCost = 2000
	@cost = 200
	@title = Combustion Ruggedized Wheel
	@description = An extremely tough wheel made for mobilizing medium sized vehicles across a large variety of terrain. Will need air intakes to feed the motor oxygen for fuel combustion.
	@mass = 0.3
	@maxTemp = 800
	
	@MODULE[ModuleWheelMotor]
	{
		@wheelSpeedMax = 59 // kph
		@driveResponse = 2
				
		RESOURCE
		{
			name = LiquidFuel
			rate = 0.01
		}
		
		RESOURCE
		{
			name = IntakeAir
			rate = 0.1
		}
		
		@idleDrain = 0.0
		
		-RESOURCE[ElectricCharge] {}
		
	}
	
	-MODULE[ModuleTestSubject]{}

}

@PART[wheelMedFuel]:NEEDS[WheelSounds]
{
	MODULE
	{
		name = WheelSounds
		wheelSoundVolume = 1.5
		wheelSoundPitch = 0.5
		wheelSoundFile = WheelSounds/Sounds/RoveMaxXL3
		skidSoundVolume = 0.2
		skidSoundPitch = 1
		skidSoundFile = WheelSounds/Sounds/gravelSkid
		damageSoundVolume = 1
		damageSoundFile = WheelSounds/Sounds/wheelDamage
		soundInVacuum = false
	}
}

@PART[*]:HAS[@MODULE[WheelSounds],!@MODULE[ModuleWheelMotorSteering]]:NEEDS[WheelSounds]:FINAL
{
    @MODULE[WheelSounds]
    {
        skidSoundVolume = 0.3
		soundInVacuum = true
    }
}

 

 

Gameplay Changes
These patches can be perceived as changing gameplay or otherwise altering the presumably intended difficulty in the game.

Reduce the mass of the Mk 1-2 Pod and Mk2 Lander to a more 'balanced' value
Contributor: @Alshain

Spoiler

// Change the mass of the Mk1-2 and Mk2 Lander for better balance
// Author: Alshain
@PART[Mark1-2Pod]:FINAL
{
	@mass = 2.4
}

@PART[mk2LanderCabin]:FINAL
{
	@mass = 1.4
}

 

Reduce the mass of structural parts
Contributor: @Psycho_zs

Spoiler

// Reduced mass for structural parts
// Author: Psycho_zs

@PART[structuralIBeam2|structuralIBeam3]
{
    @mass *= 0.5
}

@PART[trussAdapter|trussPiece1x|trussPiece3x]
{
    @mass *= 0.2
}

 

Add Limited Torque to All Probes
Contributor: @Alshain

Spoiler

// Add torque to all probes
// Author: Alshain
@PART[probeCoreOcto2]:FINAL
{
	MODULE
	{
		name = ModuleReactionWheel
		PitchTorque = 0.3
		YawTorque = 0.3
		RollTorque = 0.3
		RESOURCE
		{
			name = ElectricCharge
			rate = 0.03
		}
	}
}

@PART[probeCoreCube]:FINAL
{
	MODULE
	{
		name = ModuleReactionWheel
		PitchTorque = 0.1
		YawTorque = 0.1
		RollTorque = 0.1
		RESOURCE
		{
			name = ElectricCharge
			rate = 0.03
		}
	}
}

@PART[probeCoreSphere]:FINAL
{
	MODULE
	{
		name = ModuleReactionWheel
		PitchTorque = 0.1
		YawTorque = 0.1
		RollTorque = 0.1
		RESOURCE
		{
			name = ElectricCharge
			rate = 0.03
		}
	}
}

 

Reduce the Effective Torque of All Reaction Wheels
Contributor: @Psycho_zs

Spoiler

// Reduce the effective torque of all reaction wheels
// Author: Psycho_zs
@PART[*]:HAS[@MODULE[ModuleReactionWheel]]:FINAL {
	@MODULE[ModuleReactionWheel] {
		@PitchTorque *= 0.1
		@YawTorque *= 0.1
		@RollTorque *= 0.1
	}
}

 

Allow Deflating Inflatable Heat Shield
Contributor: @Chris97b

Spoiler

//Allow deflating inflatable heat sheield
//Author: Chris97b
@PART[InflatableHeatShield]:AFTER[Squad]
 {
    @MODULE[ModuleAnimateGeneric]
     {
        @allowAnimationWhileShielded = true
        @disableAfterPlaying = false
     }
 }

 

Allow All Deployable Solar Panels to Retract
Contributor: @Alshain

Spoiler

// Allows all deployable panels to retract
// Author: Alshain
@PART[*]:HAS[@MODULE[ModuleDeployableSolarPanel]]:FINAL
{
	@MODULE[ModuleDeployableSolarPanel]
	{
		@retractable = true
	}
}

 

Add a Power Generator to All Command Pods
Contributor: @Foxster

Spoiler

// Add a Power Generator to All Command Pods
// Author: Foxster
@PART[*]:HAS[@MODULE[ModuleCommand]]
{
	MODULE
	{
		name = ModuleGenerator
		isAlwaysActive = true
		OUTPUT_RESOURCE
		{
			name = ElectricCharge
			rate = 0.75
		}
	}
}

 

Add Angled Docking Ability to Docking Ports
Contributor: @Psycho_zs

Spoiler

// Add angle snapping to Squad Docking ports (12 increments as on textures)
// Author: Psycho_zs
@PART[dockingPortLateral|dockingPort2|dockingPort3|mk2DockingPort|dockingPortLarge|dockingPort1]:FINAL
{
	@MODULE[ModuleDockingNode]
	{
		// If you want X degrees margin, use cos(0.5*X) as captureMinRollDot
		// 0.5 degrees = 0.99999048
		// 1 degree    = 0.99996192
		// 2 degrees   = 0.9998477
		// 3 degrees   = 0.99965732
		captureMinRollDot = 0.99996192
		snapRotation = true
		snapOffset = 30
	}
}

 

Move All Science to Starting Tech Tree Node
Contributor: @maculator

Spoiler

//Move all science to starting tech tree node
//Author: maculator
@PART[*]:HAS[#category[Science],!MODULE[ModuleScienceLab],!MODULE[ModuleResourceScanner],!MODULE[ModuleOrbitalSurveyor],!MODULE[ModuleDataTransmitter]]:FINAL
{
    %TechRequired = start
} 

 

Increase Electric Output of the Launch Clamp
Contributor: @maculator

Spoiler

//More electric power for launchclamps
//Author: maculator

@PART[*]:HAS[@MODULE[LaunchClamp]]
{
    @MODULE[ModuleGenerator]
    {
        @OUTPUT_RESOURCE[ElectricCharge]
        {
            @rate = 100 //1 is normal
        }
    }
}

 

Add Crew Reports to Science Lab
Contributor: @maculator

Spoiler

//Add Crew Reports to Scienc Lab
//Author: maculator

@PART[Large_Crewed_Lab]
{
    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
    }
}

 

Increase Interaction Range of Mystery Goo and Science Jr.
Contributor: @Warzouz

Spoiler

// Increase range of Lab
// Author: Warzous
@PART[science_module]
{
    @MODULE[ModuleScienceExperiment]
    {
        @interactionRange = 3
    }
}

// Increase range of Goo
// Author: Warzous
@PART[GooExperiment]
{
    @MODULE[ModuleScienceExperiment]
    {
        @interactionRange = 3
    }
}

 

Recieve 100% Science when Transmitting
Contributor: @maculator

Spoiler

// Recieve 100% Science when Transmitting
// Author: maculator
@PART[*]:HAS[MODULE[ModuleScienceExperiment]]
{
	@MODULE[ModuleScienceExperiment]
	{
		@xmitDataScalar = 1.0
	}
}

 

Add a Generator to ISRU
Contributor: @maculator

Spoiler

//ISRU Generator 
//FuelCells produce 900EC/1LF now the ISRU can do this too but slower compared to the mass/EC ratio.
//But it's boostable through engineers.
// Author: maculator
	@PART[ISRU]
	{	
		MODULE
		{
			 name = ModuleResourceConverter
			 ConverterName = Generator
			 StartActionName = Start ISRU [Generator Mode]
			 StopActionName = Stop ISRU [Generator Mode]	 
			AutoShutdown = true
			TemperatureModifier
			{
				key = 0 100000
				key = 750 50000
				key = 1000 10000
				key = 1250 500	
				key = 2000 50	
				key = 4000 0
			}				
			GeneratesHeat = true
			DefaultShutoffTemp = .8
			ThermalEfficiency 
			{
				key = 0 0 0 0
				key = 500 0.1 0 0
				key = 1000 1.0 0 0
				key = 1250 0.1 0 0
				key = 3000 0 0 0 
			}


			UseSpecialistBonus = true
			SpecialistEfficiencyFactor = 0.2
			SpecialistBonusBase = 0.05
			ExperienceEffect = ConverterSkill
			EfficiencyBonus = 1

			 
			INPUT_RESOURCE
			{
				ResourceName = LiquidFuel
				Ratio = 0.22222
				FlowMode = STAGE_PRIORITY_FLOW
			}
			INPUT_RESOURCE
			{
				ResourceName = Oxidizer
				Ratio = 0.27160
				FlowMode = STAGE_PRIORITY_FLOW
			}
			OUTPUT_RESOURCE
			{
				ResourceName = ElectricCharge
				Ratio = 200
				DumpExcess = false
			}
		}
	}

//MiniISRU Generator 
//FuelCells produce 900EC/1LF now the MiniISRU can do this too but slower compared to the mass/EC ratio.
//But it's boostable through engineers..
// Author: maculator
	@PART[MiniISRU]
	{
		MODULE
		{
			 name = ModuleResourceConverter
			 ConverterName = Generator
			 StartActionName = Start ISRU [Generator]
			 StopActionName = Stop ISRU [Generator]
			AutoShutdown = true
			TemperatureModifier
			{
				key = 0 50000
				key = 750 25000
				key = 1000 5000
				key = 1250 2500	
				key = 2000 2500	
				key = 4000 0
			}				
			GeneratesHeat = true
			DefaultShutoffTemp = .8
			ThermalEfficiency 
			{
				key = 0 0 0 0
				key = 500 0.9 0 0
				key = 1000 1.0 0 0
				key = 1250 0.9 0 0
				key = 1500 0.5 0 0
				key = 3000 0.0 0 0 
			}


			UseSpecialistBonus = true
			SpecialistEfficiencyFactor = 0.2
			SpecialistBonusBase = 0.05
			ExperienceEffect = ConverterSkill
			EfficiencyBonus = 1

			 
			INPUT_RESOURCE
			{
				ResourceName = LiquidFuel
				Ratio = 0.06667
				FlowMode = STAGE_PRIORITY_FLOW
			}
			INPUT_RESOURCE
			{
				ResourceName = Oxidizer
				Ratio = 0.08148
				FlowMode = STAGE_PRIORITY_FLOW
			}
			OUTPUT_RESOURCE
			{
				ResourceName = ElectricCharge
				Ratio = 60
				DumpExcess = false
			}

		}
	}

 

Stop Solar Panels from Sun Tracking
Contributor: @tg626, @Alshain

Spoiler

// Stop solar panel from sun tracking
// Author: tg626, Alshain
@PART[*]:HAS[@MODULE[ModuleDeployableSolarPanel]]:FINAL
{
	@MODULE[ModuleDeployableSolarPanel]
	{
		//%sunTracking = false //v1.1 and earlier
		%isTracking = false // v1.2+
	}
}

 

Add Attachment Nodes to Various Parts
Contributor: @Enceos

Spoiler

// Add attachment nodes to solar panels
// Author: Enceos
@PART[*]:HAS[#node_attach[*],@MODULE[ModuleDeployableSolarPanel]]
{
    %node_stack_root = #$node_attach$
    @attachRules = 1,1,1,1,1
    @bulkheadProfiles = size0, srf
}

// Add attachment nodes to wheels
// Author: Enceos
@PART[*]:HAS[#node_attach[*],@MODULE[ModuleWheelBase]]
{
    %node_stack_root = #$node_attach$
    @attachRules = 1,1,1,1,1
    @bulkheadProfiles = size0, srf
}

// Add attachment nodes to RCS
// Author: Enceos
@PART[*]:HAS[#node_attach[*],@MODULE[ModuleRCSFX]]
{
    %node_stack_root = #$node_attach$
    @attachRules = 1,1,1,1,1
    @bulkheadProfiles = size0, srf
}

@PART[*]:HAS[#node_attach[*],@MODULE[ModuleRCS]]
{
    %node_stack_root = #$node_attach$
    @attachRules = 1,1,1,1,1
    @bulkheadProfiles = size0, srf
}

// Add attachment nodes to radiators
// Author: Enceos
@PART[*]:HAS[#node_attach[*],@MODULE[ModuleDeployableRadiator]]
{
    %node_stack_root = #$node_attach$
    @attachRules = 1,1,1,1,1
    @bulkheadProfiles = size0, srf

 

Add electric requirements to cockpit cabin lights
Contributor: @Alshain

Spoiler

// Add electric resource consumption to cockpit lights
// Author: Alshain

@PART[Mark1Cockpit] 
{
	@MODULE[ModuleAnimateGeneric]
	{
		@name = ModuleLight
		%useAnimationDim = true
		%lightBrightenSpeed = 2.5
		%lightDimSpeed = 2.5
		%resourceAmount = 0.01
		%useResources = true
	}
}

@PART[Mark2Cockpit] 
{
	@MODULE[ModuleAnimateGeneric]
	{
		@name = ModuleLight
		%useAnimationDim = true
		%lightBrightenSpeed = 2.5
		%lightDimSpeed = 2.5
		%resourceAmount = 0.01
		%useResources = true
	}
}

@PART[MK1CrewCabin] 
{
	@MODULE[ModuleAnimateGeneric]
	{
		@name = ModuleLight
		%useAnimationDim = true
		%lightBrightenSpeed = 2.5
		%lightDimSpeed = 2.5
		%resourceAmount = 0.01
		%useResources = true
	}
}

@PART[mk2Cockpit_Standard] 
{
	@MODULE[ModuleAnimateGeneric]
	{
		@name = ModuleLight
		%useAnimationDim = true
		%lightBrightenSpeed = 2.5
		%lightDimSpeed = 2.5
		%resourceAmount = 0.01
		%useResources = true
	}
}

@PART[mk2Cockpit_Inline] 
{
	@MODULE[ModuleAnimateGeneric]
	{
		@name = ModuleLight
		%useAnimationDim = true
		%lightBrightenSpeed = 2.5
		%lightDimSpeed = 2.5
		%resourceAmount = 0.01
		%useResources = true
	}
}

@PART[mk2CrewCabin] 
{
	@MODULE[ModuleAnimateGeneric]
	{
		@name = ModuleLight
		%useAnimationDim = true
		%lightBrightenSpeed = 2.5
		%lightDimSpeed = 2.5
		%resourceAmount = 0.01
		%useResources = true
	}
}

@PART[mk3Cockpit_Shuttle] 
{
	@MODULE[ModuleAnimateGeneric]
	{
		@name = ModuleLight
		%useAnimationDim = true
		%lightBrightenSpeed = 2.5
		%lightDimSpeed = 2.5
		%resourceAmount = 0.01
		%useResources = true
	}
}

@PART[mk3CrewCabin] 
{
	@MODULE[ModuleAnimateGeneric]
	{
		@name = ModuleLight
		%useAnimationDim = true
		%lightBrightenSpeed = 2.5
		%lightDimSpeed = 2.5
		%resourceAmount = 0.01
		%useResources = true
	}
}

 

Add Science Transfer to Science Labs and Command Pods
Contributor: @steve_v

Spoiler

//Add Science Transfer to the Science Lab and Command Pods
//Author: steve_v
@PART[*]:HAS[@MODULE[ModuleScienceContainer]]:HAS[@MODULE[ModuleScienceLab|ModuleCommand]]
{
	@MODULE[ModuleScienceContainer]
	{
	      %canBeTransferredToInVessel = True
	      %canTransferInVessel = True
	      %showStatus = True
	}
}

 

Gain Full Science the First Time and Experiment is Run
Contributor: @MalevolentNinja

Spoiler

// full science for each experiment the first time the experiment is performed
// Author: MalevolentNinja
@EXPERIMENT_DEFINITION[*]
{
	%baseValue = #$scienceCap$
}

 

Change the Convert-O-Tron 125 to Allow Continuous Work and Improve Efficiency
Contributor: @Raphaello

Spoiler

// Change the Convert-O-Tron 125 to Allow Continuous Work and Improve Efficiency
// Author: Raphaello
@PART[MiniISRU]
{
	@mass *= 1
	@entryCost *= 5
	@cost *= 5

	@MODULE[ModuleResourceConverter],*
	{
		@INPUT_RESOURCE:HAS[#ResourceName[Ore]]
		{
			@Ratio *= 0.2
		}
	}
	
	@MODULE[ModuleCoreHeat]
	{
		@MaxCoolant *= 2
	}
	
}

 

Set anomaly detection rate to 100% for high tech probes
Contributor: @slubman

Spoiler

// Set anomaly detection rate to 100% for high tech probes
// Author: slubman
@PART[probeStackLarge|probeStackSmall]:HAS[@MODULE[ModuleKerbNetAccess]]:FINAL
{
	@MODULE[ModuleKerbNetAccess]
	{
		%AnomalyDetection = 1
	}
}

 

Swap crew report and EVA report biome-dependence in space low
Contributor: @pwhk

Spoiler

// Swap Crew report and EVA report biome-dependence in space low
// Author: pwhk
@EXPERIMENT_DEFINITION[*]:HAS[#id[crewReport]]:FINAL           { @biomeMask = 23 }
@EXPERIMENT_DEFINITION[*]:HAS[#id[evaReport]]:FINAL            { @biomeMask = 7  }

 

Change the impact tolerance of all engines
Contributor: @TheRagingIrishman

Spoiler

// Change the impact tolerance of all engines
// Author: TheRagingIrishman
@PART[*]:HAS[@MODULE[ModuleEngines*]]:FINAL
{
    @crashTolerance = 0.1
}

 

Unmanned Command Pods
Contributor: @Aelfhe1m

Spoiler

// unmanned command pods
// by Aelfhe1m
@PART[*]:HAS[@MODULE[ModuleCommand],#CrewCapacity[>0]]:FINAL
{
	@MODULE[ModuleCommand]
	{
		@minimumCrew = 0
		RESOURCE // remove resource section if using a life-support mod.
		{
			name = ElectricCharge
			rate = 0.020
		}
		hasHibernation = True
	}
	%MODULE[ModuleSAS] {}
}

 

All Engines Surface Attachable
Contributor: @MatterBeam

Spoiler

//All engines surface attachable, except SRBs.
@PART[*]:HAS[#category[Engine],!RESOURCE[SolidFuel]]:FINAL
{
		@attachRules = 1,1,1,0,0
}

 

Disable Kerbal Rescue Contracts
Contributor: @Wyzard

Spoiler

// Disable kerbal rescue contracts, for players who prefer to hire kerbals.
// AllowKerbalRescue controls contracts where you rescue just the kerbal.
// AllowCompoundRecovery controls contracts where you must recover the derelict vessel too.
// Contracts to recover parts *without* kerbals in them are still allowed.
@Contracts
{
        @Recovery
        {
                @AllowKerbalRescue = False
                @AllowCompoundRecovery = False
        }
}

 

 

LY-01 Landing Gear Improved
Contributor: @Kerbal101

Spoiler

// LY-01 Landing Gear Improved
// Makes the LY-01 basic landing gear (the side one) as stiff as (front wheel from same techlevel) - LY-05.
// That significantly reduces amount of re-loads, crashes and it usability goes up.
// Author: Kerbal101

@PART[GearFixed]
{
@crashTolerance = 325
@MODULE[ModuleWheelSuspension]
 {
 @springRatio = 25
 @damperRatio = 1.0
 }
} 

 

 

Add Brakes to LY-05 Landing Gear
Contributor: @Kerbal101

Spoiler

// Add brakes to LY-05 Landing Gear
// Author: Kerbal 101
@PART[GearFree]
{
	@MODULE[ModuleWheelBase]
	{
		@TooltipPrimaryField = Steerable
	}
   MODULE 
    {
		name = ModuleWheelBrakes
		baseModuleIndex = 0
		maxBrakeTorque = 1.5
		brakeResponse = 1
    }
} 

 

 

Make the Stayputnik Available Earlier
Contributor: @Kerbal101

Spoiler

// Make the Stayputnik Available Earlier
// Author: Kerbal101

@PART[batteryBankMini]
{
 @TechRequired = engineering101
}

@PART[probeCoreSphere]
{
 @TechRequired = engineering101
}

 

 

Give pilots fuel efficiency as a skill.
Contributor: @theshepherd

Spoiler

// Give pilots fuel efficiency as a skill
// Author: theshepherd
@EXPERIENCE_TRAIT[Pilot]:Needs[SQUAD]:Final
{
	%EFFECT[FuelUsage]
	{
		%modifiers = 0.99, 0.97, 0.94, 0.90, 0.85
	}	
}

 

Add Science Transfer to All Parts that Can Hold Science
Contributor: @Wyzard

Spoiler

// Add in-vessel transfer support to all parts that can hold science, unless
// explicitly disabled by the part.  This is the same ability that the stock
// Experiment Storage Unit has; it doesn't really make sense for it to be
// limited to just the that part.
// Author: Wyzard
@PART[*]:HAS[@MODULE[ModuleScienceContainer],!MODULE[KerbalEVA]]
{
	@MODULE[ModuleScienceContainer]
	{
		// Allow "Container: Collect All" and "Container: Transfer
		// Data" by default.
		&canTransferInVessel = True

		// Allow targeting by "Container: Transfer Data" on other
		// parts by default.
		&canBeTransferredToInVessel = True
	}
}

 

 

Add Engine Spool Delay
Contributor:  @Aelfhe1m, @aquilux

Spoiler

//Add engine response time to engines that pump fluids but have no engine spooling.
//Author: Aelfhe1m & Aquilux
////////////////////////////////////////////////////////////////////
//This script adds engine spooling delay to engines that pump at least one liquid for a chemical reaction.
//Engine spooling delay is dependent on the momentum of the turbines in the engine.
//This script assumes that turbine mass is an average fraction of engine mass, thus delay is derived from engine mass.
//
//equations for accel/decel/mass relationships loosely derived from KW rocketry values:
//
//engineAccelerationSpeed = -1.16878m + 0.0875252m^2 + -0.00253789m^3 + 0.0000260111m^4 + 5.74868
//
//engineDecelerationSpeed = 1.14632m + 0.0856818m^2 + -0.00246803m^3 + 0.0000251029m^4 +  5.82994
//
//values and derived trend lines can be found here: https://goo.gl/733mKw (published google sheets chart)
//////////////////////////////////////////////////////////////////


//Spooling for engines with oxidiser (to account for hybrid and other exotic chemical engines using oxidiser)
@PART[*]:HAS[@MODULE[ModuleEngines*]:HAS[@PROPELLANT[Oxidizer],~useEngineResponseTime[True]]]
//find parts containing ModuleEngines* that uses Oxidiser, but does not have useEngineResponseTime
{
	@MODULE[ModuleEngines*]
	{
		useEngineResponseTime = True 			//create useEngineResponseTime

//////////////////////////////////////////////////begin polynomial math for engineAccelerationSpeed
		MATHa = #$/mass$ 						//start first component temp variable
		@MATHa *= -1.16878		 				//complete first component
												//
		MATHb = #$/mass$						//start second component temp variable
		@MATHb != 2								//incorporate exponent
		@MATHb *= 0.0875252						//complete second component
												//
		MATHc = #$/mass$						//start third component temp variable
		@MATHc != 3								//incorporate exponent
		@MATHc *= -0.00253789					//complete third component
												//
		MATHd = #$/mass$						//start fourth component
		@MATHd != 4								//incorporate exponent
		@MATHd *= 0.0000260111					//complete fourth component
												//
		engineAccelerationSpeed = #$MATHa$		//combine first component
		@engineAccelerationSpeed += #$MATHb$	//combine second component
		@engineAccelerationSpeed += #$MATHc$	//combine third component
		@engineAccelerationSpeed += #$MATHd$	//combine fourth component
		@engineAccelerationSpeed += 5.74868		//combine fifth component 
												//keep variables initialised
//////////////////////////////////////////////////begin polynomial math for engineDecelerationSpeed
		@MATHa = #$/mass$ 						//start first component temp variable
		@MATHa *= 1.14632		 				//complete first component
												//
		@MATHb = #$/mass$						//start second component temp variable
		@MATHb != 2								//incorporate exponent
		@MATHb *= 0.0856818						//complete second component
												//
		@MATHc = #$/mass$						//start third component temp variable
		@MATHc != 3								//incorporate exponent
		@MATHc *= -0.00246803					//complete third component
												//
		@MATHd = #$/mass$						//start fourth component
		@MATHd != 4								//incorporate exponent
		@MATHd *= 0.0000251029					//complete fourth component
												//
		engineDecelerationSpeed = #$MATHa$		//combine first component
		@engineDecelerationSpeed += #$MATHb$	//combine second component
		@engineDecelerationSpeed += #$MATHc$	//combine third component
		@engineDecelerationSpeed += #$MATHd$	//combine fourth component
		@engineDecelerationSpeed += 5.82994		//combine fifth component
												//
		!MATHa = clear							//clear temp variable
		!MATHb = clear							//clear temp variable
		!MATHc = clear							//clear temp variable
		!MATHd = clear							//clear temp variable
//////////////////////////////////////////////////end polynomial math
	}
}

//Spooling for engines with MonoPropellant
@PART[*]:HAS[@MODULE[ModuleEngines*]:HAS[@PROPELLANT[MonoPropellant],~useEngineResponseTime[True]]]
//find parts containing ModuleEngines* that uses MonoPropellant, but does not have useEngineResponseTime
{
	@MODULE[ModuleEngines*]
	{
		useEngineResponseTime = True 			//create useEngineResponseTime
		
//////////////////////////////////////////////////begin polynomial math for engineAccelerationSpeed
		MATHa = #$/mass$ 						//start first component temp variable
		@MATHa *= -1.16878		 				//complete first component
												//
		MATHb = #$/mass$						//start second component temp variable
		@MATHb != 2								//incorporate exponent
		@MATHb *= 0.0875252						//complete second component
												//
		MATHc = #$/mass$						//start third component temp variable
		@MATHc != 3								//incorporate exponent
		@MATHc *= -0.00253789					//complete third component
												//
		MATHd = #$/mass$						//start fourth component
		@MATHd != 4								//incorporate exponent
		@MATHd *= 0.0000260111					//complete fourth component
												//
		engineAccelerationSpeed = #$MATHa$		//combine first component
		@engineAccelerationSpeed += #$MATHb$	//combine second component
		@engineAccelerationSpeed += #$MATHc$	//combine third component
		@engineAccelerationSpeed += #$MATHd$	//combine fourth component
		@engineAccelerationSpeed += 5.74868		//combine fifth component 
												//keep variables initialised
//////////////////////////////////////////////////begin polynomial math for engineDecelerationSpeed
		@MATHa = #$/mass$ 						//start first component temp variable
		@MATHa *= 1.14632		 				//complete first component
												//
		@MATHb = #$/mass$						//start second component temp variable
		@MATHb != 2								//incorporate exponent
		@MATHb *= 0.0856818						//complete second component
												//
		@MATHc = #$/mass$						//start third component temp variable
		@MATHc != 3								//incorporate exponent
		@MATHc *= -0.00246803					//complete third component
												//
		@MATHd = #$/mass$						//start fourth component
		@MATHd != 4								//incorporate exponent
		@MATHd *= 0.0000251029					//complete fourth component
												//
		engineDecelerationSpeed = #$MATHa$		//combine first component
		@engineDecelerationSpeed += #$MATHb$	//combine second component
		@engineDecelerationSpeed += #$MATHc$	//combine third component
		@engineDecelerationSpeed += #$MATHd$	//combine fourth component
		@engineDecelerationSpeed += 5.82994		//combine fifth component
												//
		!MATHa = clear							//clear temp variable
		!MATHb = clear							//clear temp variable
		!MATHc = clear							//clear temp variable
		!MATHd = clear							//clear temp variable
//////////////////////////////////////////////////end polynomial math
	}
}

 

 

Increase the Amount of Science the Mobile Science Lab can Hold
Contributor: @juanml82

Spoiler

// Change the amount of science the mobile lab holds
// Author: juanml82
@PART[Large_Crewed_Lab]:final
{
@MODULE[ModuleScienceConverter]
{
    @scienceCap = 5000
}
    }

 

 

Extend the Range of the Struts
Contributor: @Xyphos

Spoiler

// Extend the Range of the Struts
// Author: Xyphos

@PART[*]:HAS[@MODULE[CModuleStrut]]
{
	%maxLength = 1000 // default = 10
}

 

 

Edited by Alshain
TOTM!
Link to comment
Share on other sites

1 hour ago, The_Lieutenant said:

Any progress on working out a staging toggle for engines, by the way?

Yes and No.  From what I can tell ModuleEngines does not implement this function correctly, but ModuleEnginesFX does.  So any engine implementing ModuleEnginesFX will work, this is only the Jet engines. 

I don't know that this is true, but I suspect EnginesFX is a newer class designed for the jet engine lighting recently introduced.  It's possible that if the parts are redone, all the engines may eventually move to use this class (which actually inherits ModuleEngines). @NathanKell might be able to elaborate, if he is willing, I think he was the one that implemented it.  In the meantime I have posted the script for the jet engines and that is the best I can do for now.

EDIT: It looks like it isn't just the Jet engines, it also works for the Ant, Spider, Puff, and Twitch engines as well as the SRBs and the twin boar.

Edited by Alshain
Link to comment
Share on other sites

@Alshain I find that very odd since the only code dealing with staging toggling (indeed, the only code dealing with staging at all) is in ModuleEngines not ModuleEnginesFX (ModuleEnginesFX is a derived class with only very limited changes over ModuleEngines).

Link to comment
Share on other sites

1 minute ago, NathanKell said:

@Alshain I find that very odd since the only code dealing with staging toggling (indeed, the only code dealing with staging at all) is in ModuleEngines not ModuleEnginesFX (ModuleEnginesFX is a derived class with only very limited changes over ModuleEngines).

Hmm, well I don't know what to say.  The button appears on the engine, but it isn't functional. (the engine always stays in the staging diagram)

Edited by Alshain
Link to comment
Share on other sites

I've got a tiny little patch file that adds a fuel gauge to the Ion engine and LV-1 Ant engine.

@PART[ionEngine]:NEEDS[Squad]
{
	@MODULE[ModuleEngines*]
	{
		@PROPELLANT[XenonGas]
		{
			DrawGauge = True
		}
	}
}

@PART[microEngine]:NEEDS[Squad]
{
	@MODULE[ModuleEngines*]
	{
		@PROPELLANT[LiquidFuel]
		{
			DrawGauge = True
		}
	}
}

Quite a simple thing, really. In fact, it's so simple that it's been working ever since I made it several versions ago. I think I was using a nearly identical patch all the way back in KSP 0.24 (IIRC, it used :FINAL instead of :NEEDS).

Link to comment
Share on other sites

Just now, SciMan said:

I've got a tiny little patch file that adds a fuel gauge to the Ion engine and LV-1 Ant engine.


@PART[ionEngine]:NEEDS[Squad]
{
	@MODULE[ModuleEngines*]
	{
		@PROPELLANT[XenonGas]
		{
			DrawGauge = True
		}
	}
}

@PART[microEngine]:NEEDS[Squad]
{
	@MODULE[ModuleEngines*]
	{
		@PROPELLANT[LiquidFuel]
		{
			DrawGauge = True
		}
	}
}

Quite a simple thing, really. In fact, it's so simple that it's been working ever since I made it several versions ago. I think I was using a nearly identical patch all the way back in KSP 0.24 (IIRC, it used :FINAL instead of :NEEDS).

Nice, You shouldn't need the NEEDS for Squad, KSP shouldn't exist without the Squad folder, unless you really mess something up.  FINAL just means your patch loads after any other mods, it's ideal for what we are doing here.  If it's allright with you I can make those changes and put it in the main post.

Link to comment
Share on other sites

Feel free to modify that patch as you see fit, I had actually just changed it from FINAL to NEEDS right as I was posting this patch.

I switched it to NEEDS because it leaves room for other people's patches that use FINAL. I also used NEEDS because I remember people removing some/all (IDK which) of their Squad folder to free up some RAM, and there's no sense trying to patch something that doesn't exist.

I'm not saying that those people were doing the right thing, but I have a vague memory of something like that.

Edited by SciMan
Link to comment
Share on other sites

26 minutes ago, SciMan said:

Change the patch however you think is best, I had actually just changed it from FINAL to NEEDS right as I was posting this patch.

I switched it to NEEDS because it leaves room for other people's patches that use FINAL. I also used NEEDS because I remember people removing some/all (IDK which) of their Squad folder to free up some RAM, and there's no sense trying to patch something that doesn't exist.

I'm not saying that those people were doing the right thing, but I have a vague memory of something like that.

Done. FYI the Ant engine already has this turned on, it is only needed for the Ion engine.

Link to comment
Share on other sites

41 minutes ago, The_Lieutenant said:

Cool. Well, if you find something that works in the mean time, I'm eager to see a sample of the script.

Well if you want to try it, take the script above and replace both instances of ModuleEnginesFX with ModuleEngines*.  But basically the button appears and it doesn't seem to do anything.

Link to comment
Share on other sites

Here's a quick one I threw together which makes it possible to deflate the inflatable heat shield before jettisoning it, which prevents the issues where the heat shield smacks the ship after decoupling

Spoiler

//Allow deflating inflatable heat sheield
//Author: Chris97b

@PART[InflatableHeatShield]:AFTER[Squad]
 {
    @MODULE[ModuleAnimateGeneric]
     {
        @allowAnimationWhileShielded = true
        @disableAfterPlaying = false
     }
 }

 

Link to comment
Share on other sites

  • 1 month later...

I like to turn off all yaw/pitch/roll authority by default on RCS thrusters.  That way, I'm only using reaction torque for rotating my ships; I spend monopropellant only for what I have to, i.e. on translational control.

// Note, April 2017: I've updated this snippet so that it is now correct
// for KSP 1.2.2. When I originally posted this, I used ModuleRCS, which
// was correct at the time but no longer works.  Thanks to Alshain for
// fixing this in the OP above; just adding this note here in case someone
// is getting their config from this post instead of the OP above.
@PART[*]:HAS[@MODULE[ModuleRCSFX]]
{
	@MODULE[ModuleRCSFX]
	{
		%enableYaw = false
		%enablePitch = false
		%enableRoll = false
	}
}

I like to do this via MM for a few reasons:

  • I never, ever use RCS deliberately for rotation.  I always want this off.
  • I appear to be genetically incapable of remembering to tweak this in the VAB.  I always forget.  So I don't discover my oversight until I'm docking and have no time or attention to spare.
  • Doing it in flight is just excruciating, because it takes lots of mouse clicks on finicky little objects, and I have to do it many times, because in flight the tweakables only apply to the individual thrusters (as opposed to the VAB, which tweaks an entire symmetry group at a time).

Anyway, my guess would be that players will tend to sort themselves into two categories here:  those who never want RCS rotation, and those who always want it.  For the former category, the above snippet can be handy.  Has saved me no end of frustration.

Link to comment
Share on other sites

25 minutes ago, Snark said:

I like to turn off all yaw/pitch/roll authority by default on RCS thrusters.  That way, I'm only using reaction torque for rotating my ships; I spend monopropellant only for what I have to, i.e. on translational control.


@PART[*]:HAS[@MODULE[ModuleRCS]]
{
	@MODULE[ModuleRCS]
	{
		%enableYaw = false
		%enablePitch = false
		%enableRoll = false
	}
}

I like to do this via MM for a few reasons:

  • I never, ever use RCS deliberately for rotation.  I always want this off.
  • I appear to be genetically incapable of remembering to tweak this in the VAB.  I always forget.  So I don't discover my oversight until I'm docking and have no time or attention to spare.
  • Doing it in flight is just excruciating, because it takes lots of mouse clicks on finicky little objects, and I have to do it many times, because in flight the tweakables only apply to the individual thrusters (as opposed to the VAB, which tweaks an entire symmetry group at a time).

Anyway, my guess would be that players will tend to sort themselves into two categories here:  those who never want RCS rotation, and those who always want it.  For the former category, the above snippet can be handy.  Has saved me no end of frustration.

This looks mighty fine!

Anyway to set a RX wheel to start in the disabled setting, by the way?

Link to comment
Share on other sites

2 hours ago, Deimos Rast said:

Anyway to set a RX wheel to start in the disabled setting, by the way?

Hm.  That looks tricky.  Having played around with it a bit, I'm having trouble getting it to work-- looks like maybe they coded it in an unusual fashion that doesn't present any "gripping surface" for MM to get its teeth into.

May I ask why you'd want 'em to start disabled?  If you're going to have all your reaction wheels disabled, why add them in the first place?

Link to comment
Share on other sites

Add a small power generator (equivalent to one RTG) to all command modules...

@PART[*]:HAS[@MODULE[ModuleCommand]]
{
	MODULE
	{
		name = ModuleGenerator
		isAlwaysActive = true
		OUTPUT_RESOURCE
		{
			name = ElectricCharge
			rate = 0.75
		}
	}
}

 

Edited by Foxster
Link to comment
Share on other sites

@Foxster

Doesn't need :FINAL and you forgot the Core Heat module. I mean, you did say RTG....:P

---

@Snark

I saw someone use "operational = false" but that doesn't work.

The reasoning is that I want to have a large central RX wheel in a crew compartment (for example) and have it serve as a backup, secondary RX wheel. It's pretty niche; mainly I just want to know how it's done for the sake of knowing.:D

It wouldn't be a global disable, I should clarify, it would have been a part by part basis.

Either way, thanks (and thanks @Alshain for curating this thread).:)

Link to comment
Share on other sites

Adds Mechjeb to all command modules and makes all its functions available from start...

@PART[*]:HAS[@MODULE[ModuleCommand]]:Final
{
	%MODULE[MechJebCore]
	{
		MechJebLocalSettings
		{
			MechJebModuleCustomWindowEditor { unlockTechs = start }
			MechJebModuleSmartASS { unlockTechs = start }
			MechJebModuleManeuverPlanner { unlockTechs = start }
			MechJebModuleNodeEditor { unlockTechs = start }
			MechJebModuleTranslatron { unlockTechs = start }
			MechJebModuleWarpHelper { unlockTechs = start }
			MechJebModuleAttitudeAdjustment { unlockTechs = start }
			MechJebModuleThrustWindow { unlockTechs = start }
			MechJebModuleRCSBalancerWindow { unlockTechs = start }
			MechJebModuleRoverWindow { unlockTechs = start }
			MechJebModuleAscentGuidance { unlockTechs = start }
			MechJebModuleLandingGuidance { unlockTechs = start }
			MechJebModuleSpaceplaneGuidance { unlockTechs = start }
			MechJebModuleDockingGuidance { unlockTechs = start }
			MechJebModuleRendezvousAutopilotWindow { unlockTechs = start }
			MechJebModuleRendezvousGuidance { unlockTechs = start }
		}
	}
}

Ah, just realised this thread is for stock KSP. Ignore this then. 

Edited by Foxster
Link to comment
Share on other sites

Thanks guys, I've added @Foxster and @Snark's contributions.

Foxter, yes I feared including mods would not only be inappropriate since mod authors should be able to maintain a database for their mod if they wish, but more so, I felt that a list of mod patches would grow uncontrollably large.  Maybe if we were still on vBulletin I would consider it, but without BBCode it's just already very difficult.

@Deimos Rast  I tried several options that I see in the object browser, however none of them seemed to work.  There is a boolean called "operational", I also found property called "State" and a variable called "wheelState" which are an enumerated value type called "WheelState" containing the values Active, Broken, Disabled.  Sadly, modifying these didn't seem to affect the game.  There has to be something behind the scenes in the KSP code overriding me.  There are methods called Activate, Deactivate, and Toggle, however methods can only be triggered from a mod.  So it would take a DLL to do what you want.

Edited by Alshain
Link to comment
Share on other sites

  • 2 weeks later...

For those who feel reaction wheels are way too powerful.

// nerf reaction wheels
@PART[*]:HAS[@MODULE[ModuleReactionWheel]]:FINAL {
	@MODULE[ModuleReactionWheel] {
		@PitchTorque *= 0.1
		@YawTorque *= 0.1
		@RollTorque *= 0.1
	}
}

 

 

 

Link to comment
Share on other sites

7 hours ago, Psycho_zs said:

For those who feel reaction wheels are way too powerful.


// nerf reaction wheels
@PART[*]:HAS[@MODULE[ModuleReactionWheel]]:FINAL {
	@MODULE[ModuleReactionWheel] {
		@PitchTorque *= 0.1
		@YawTorque *= 0.1
		@RollTorque *= 0.1
	}
}

 

I feel this way, but interested more in the logic behind your patch. Does this just bring them more into line with what you feel works best in your game after some experimentation or is there some science/math behind it?

Link to comment
Share on other sites

8 hours ago, Gaiiden said:

Does this just bring them more into line with what you feel works best in your game after some experimentation or is there some science/math behind it?

Simple logic: it should be a pain to maneuver an average ship without RCS, but enough to just stabilize it. And I'm leaning towards reducing it down to 0.05 or something.

Link to comment
Share on other sites

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