Jump to content

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


Alshain

Recommended Posts

So all patches in one place seems to be a good idea. Here is stuff from my thread and  my collection:

Spoiler


1. Set of science experminents at the start node of the techtree:


@PART[*]:HAS[#category[Science],!MODULE[ModuleScienceLab],!MODULE[ModuleResourceScanner],!MODULE[ModuleOrbitalSurveyor],!MODULE[ModuleDataTransmitter]]:FINAL
    {
        %TechRequired = start
    } 

2. Empty monoprop tanks of commandpods (from @Otis)


@PART[*]:HAS[@MODULE[ModuleCommand],@RESOURCE[MonoPropellant]]
{
    @RESOURCE[MonoPropellant]
    
    {      
    %amount = 0      
    }
} 

3. Decoupler for heatshields (obsolete), add to stock description





//Add decouplers to heatshields

	@PART[HeatShield*]:FINAL
	{
	
		sound_vent_large = decouple
		fx_gasBurst_white = 0.0, 0.0650517, 0.0, 0.0, 1.0, 0.0, decouplefx_gasBurst_white = 0.0, 0.0650517, 0.0, 0.0, 1.0, 0.0, decouple
		
		@description ^= :$:. Equiped with integrated decoupler and ultra cool "woosh"-effect! They'll know what hit 'em.:
	
		MODULE
		{
			name = ModuleDecouple
			ejectionForce = 40
			isOmniDecoupler = true
		}
	}

 

4. Mechjeb for all pods



//Unlock MechJeb for all command-parts at start:

	@PART[*]:HAS[@MODULE[ModuleCommand]]:NEEDS[MechJeb2]:FINAL
	{		
		%MODULE[MechJebCore]
		{
			MechJebLocalSettings[*]
			{
				%unlockTechs = start
			}
		}
	}

5. Enhanced generator of launchclamps



//More electric power for launchclamps:

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

6. Resize part


	$PART[launchClamp1]
	{
		@name = [launchClamp2]
		@rescaleFactor = 2 //1 = 100%
	}

7.355k9k7.png

7. Crewreports for sciencelab


//enable Crewreports for scienclab

	@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
		}
	}

8. Increase range of mysterygoo and small lab (from @Warzouz)




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

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

9. 100% for transmitting experiments


@PART[*]:HAS[MODULE[ModuleScienceExperiment]]
{
	@MODULE[ModuleScienceExperiment]
	{
		@xmitDataScalar = 1.0
	}
}

10. Give the stock ISRUs a balanced generator


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

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

	@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
			}

		}
	}
Link to comment
Share on other sites

Any of you MM guru's know of a way to shut off sun tracking in solar panels that track?  Used to have that with stock bug fix, but I don't know if it took special DLL to accomplish it or what...

On 10/9/2016 at 2:09 AM, Psycho_zs said:

Blacklist of stock parts superseded by Porkjet's Part Overhaul:


!PART[liquidEngine3]{}
!PART[liquidEngine]{}
!PART[liquidEngine2]{}
!PART[fuelTankSmallFlat]{}
!PART[fuelTankSmall]{}
!PART[fuelTank]{}
!PART[fuelTank_long]{}
!PART[mk1pod]{}

 

Rather then delete, you might want to change the category to = none.  If you do, they won't appear in the VAB, but you can still load craft that use them...

Link to comment
Share on other sites

1 hour ago, tg626 said:

Any of you MM guru's know of a way to shut off sun tracking in solar panels that track?  Used to have that with stock bug fix, but I don't know if it took special DLL to accomplish it or what...

Try this.  I don't have time to test it now, so I don't know that this property actually does that. Let me know.

@PART[*]:HAS[@MODULE[ModuleDeployableSolarPanel]]:FINAL
{
	@MODULE[ModuleDeployableSolarPanel]
	{
		useRaycastforTrackingDot = false
	}
}

 

 

Link to comment
Share on other sites

41 minutes ago, Alshain said:

Try this.  I don't have time to test it now, so I don't know that this property actually does that. Let me know.


@PART[*]:HAS[@MODULE[ModuleDeployableSolarPanel]]:FINAL
{
	@MODULE[ModuleDeployableSolarPanel]
	{
		useRaycastforTrackingDot = false
	}
}

 

 

Turned out to be way simpler (this didn't work)

What did work was 

@PART[*]:HAS[@MODULE[ModuleDeployableSolarPanel]]:FINAL
{
	@MODULE[ModuleDeployableSolarPanel]
	{
		sunTracking = false
	}
}

So you got me started!!  Thanks!  Now to make stationary duplicates.

Link to comment
Share on other sites

Nice! There was one tweak that would drive me crazy trying to find it each time I upgraded my system or lost my ksp folder, was the patch for switching the Crew report and EVA report.  (So you would not have to EVA each time you went to a new biome, you just do a crew report instead)

It worked under 1.0.5-1.1.3 I dont know if it works with 1.2 yet.

// This tweak is from Science Revisited Revisited by Capt Robau
// It switches the biome mask for EVA and crew reports so you don't have to keep sending Kerbals on EVA for each biome.

@EXPERIMENT_DEFINITION[*]:HAS[#id[crewReport]]
{
        @biomeMask = 23
}
 
@EXPERIMENT_DEFINITION[*]:HAS[#id[evaReport]]
{
        @biomeMask = 7
}

 

Link to comment
Share on other sites

8 hours ago, tg626 said:

Turned out to be way simpler (this didn't work)

What did work was 


@PART[*]:HAS[@MODULE[ModuleDeployableSolarPanel]]:FINAL
{
	@MODULE[ModuleDeployableSolarPanel]
	{
		sunTracking = false
	}
}

So you got me started!!  Thanks!  Now to make stationary duplicates.

Interesting, I didn't even see sunTracking as a property.  It must be inherited.

EDIT: I just looked again, there is no public boolean named sunTracking in any of the three classes that make up ModuleDeployableSolarPanel.  Are you absolutely sure that works? There are other things we can try though.  I see a TrackingMode in ModuleDeployablePart, but it isn't boolean.  There is a boolean named isTracking.

Edited by Alshain
Link to comment
Share on other sites

27 minutes ago, tg626 said:

Yep, it's in the wiki and stated as "believed to control panels pointing at he sun" or some such.  I found it by googling ModuleDeployableSolarPanel.

 

http://wiki.kerbalspaceprogram.com/wiki/Module#ModuleDeployableSolarPanel

 

That is really strange.  It definitely isn't in 1.2, I'm looking at the object browser.  Are you running an earlier version?

EDIT: Ok, I went back and that property does exist in earlier versions, but not the current release.  I suspect it was moved and is now isTracking in ModuleDeployablePart (which does not exist in previous version), I'll need to test that to confirm.  There is also an enum which suggests it was renamed because they added the ability to track other sources.  The enum name is TrackingMode and contains the values SUN, HOME, CURRENT, and VESSEL.

Edited by Alshain
Link to comment
Share on other sites

48 minutes ago, Alshain said:

 

That is really strange.  It definitely isn't in 1.2, I'm looking at the object browser.  Are you running an earlier version?

EDIT: Ok, I went back and that property does exist in earlier versions, but not the current release.  I suspect it was moved and is now isTracking in ModuleDeployablePart (which does not exist in previous version), I'll need to test that to confirm.  There is also an enum which suggests it was renamed because they added the ability to track other sources.  The enum name is TrackingMode and contains the values SUN, HOME, CURRENT, and VESSEL.

v1.2.1856 and it works.  I don't know what "the object browser" is (Although I'd love to know) but sunTracking = false works.  

Meanwhile, that TrackingMode looks intriguing....

Link to comment
Share on other sites

12 minutes ago, tg626 said:

v1.2.1856 and it works.  I don't know what "the object browser" is (Although I'd love to know) but sunTracking = false works.  

Meanwhile, that TrackingMode looks intriguing....

The object browser is a part of visual studio.  It allows me to see all the public members in a class.  After that, it does also tell you what data type it is but you just have to guess and experiment to figure out what a particular member might do.  I have no idea why using sunTracking would work.  It certainly does not exist anymore in 1.2, at least not as a public member, and I don't think module manager would be able to modify a private one.

There is also documentation here which shows the public members now.

https://kerbalspaceprogram.com/api/index.html

However it isn't incredibly well documented, so there is still going to be a lot of educated guessing.

Edited by Alshain
Link to comment
Share on other sites

1 hour ago, Tex_NL said:

Anybody know a patch to use all six seats in the MPL. I know I can simply change CrewCapacity = 2 to CrewCapacity = 6 but that won't give me an IVA or portraits

I have this one, which enables access to unused four seats.Untested in 1.2

@PART[Large_Crewed_Lab]
{
	@CrewCapacity = 6
	@description = No longer are you limited to research facilities only on Kerbin!  With the Mobile Processing Lab, you can conduct long-term experiments and ongoing research with the data you collect in the field.  Be sure to check back on your scientists from time to time, and transmit the results of their research home! This model is guaranteed to spontaneously combust less than previous models, and also has the equipment necessary to clean out and restore functionality to inoperable experiments. Note: It was recently discovered that the assembly instructions are double sided. That explains all the extra parts we had previously, this Lab can now seat six.
}
@INTERNAL[Mobile_Processing_Lab_Int]
{
	MODULE
	{
		name = InternalSeat
		seatTransformName = Seat_UpLeft
		portraitCameraName = Camera_UpLeft
		allowCrewHelmet = false
	}
	MODULE
	{
		name = InternalSeat
		seatTransformName = Seat_UpRight
		portraitCameraName = Camera_UpRight
		allowCrewHelmet = false
	}
	MODULE
	{
		name = InternalSeat
		seatTransformName = Seat_BackLeft
		portraitCameraName = Camera_BackLeft
		allowCrewHelmet = false
	}
	MODULE
	{
		name = InternalSeat
		seatTransformName = Seat_BackRight
		portraitCameraName = Camera_BackRight
		allowCrewHelmet = false
	}
}

 

Link to comment
Share on other sites

3 minutes ago, maja said:

I have this one, which enables access to unused four seats.Untested in 1.2


@PART[Large_Crewed_Lab]
{
	@CrewCapacity = 6
	@description = No longer are you limited to research facilities only on Kerbin!  With the Mobile Processing Lab, you can conduct long-term experiments and ongoing research with the data you collect in the field.  Be sure to check back on your scientists from time to time, and transmit the results of their research home! This model is guaranteed to spontaneously combust less than previous models, and also has the equipment necessary to clean out and restore functionality to inoperable experiments. Note: It was recently discovered that the assembly instructions are double sided. That explains all the extra parts we had previously, this Lab can now seat six.
}
@INTERNAL[Mobile_Processing_Lab_Int]
{
	MODULE
	{
		name = InternalSeat
		seatTransformName = Seat_UpLeft
		portraitCameraName = Camera_UpLeft
		allowCrewHelmet = false
	}
	MODULE
	{
		name = InternalSeat
		seatTransformName = Seat_UpRight
		portraitCameraName = Camera_UpRight
		allowCrewHelmet = false
	}
	MODULE
	{
		name = InternalSeat
		seatTransformName = Seat_BackLeft
		portraitCameraName = Camera_BackLeft
		allowCrewHelmet = false
	}
	MODULE
	{
		name = InternalSeat
		seatTransformName = Seat_BackRight
		portraitCameraName = Camera_BackRight
		allowCrewHelmet = false
	}
}

 

In 1.0.5 that worked great but I've tried it in 1.2pre with no luck.
Have not tried in in the full 1.2 release though.

Edited by Tex_NL
Link to comment
Share on other sites

49 minutes ago, Tex_NL said:

In 1.0.5 that worked great but I've tried it in 1.2pre with no luck.
Have not tried in in the full 1.2 release though.

It works in 1.2 (tested right now) if you edit "largeCrewedLab.cfg" and add that seats directly. I have still unmoded version, so I can't test it with MM.

Edited by maja
Link to comment
Share on other sites

32 minutes ago, maja said:

It works in 1.2 (tested right now) if you edit "largeCrewedLab.cfg" and add that seats directly. I have still unmoded version, so I can't test it with MM.

Thanks. Will give it another try. :D

Link to comment
Share on other sites

1 hour ago, maja said:

It works in 1.2 (tested right now) if you edit "largeCrewedLab.cfg" and add that seats directly. I have still unmoded version, so I can't test it with MM.

Thanks. Will give it another try. :D

Edit: @maja You were right. It does indeed work. I should have been as stubborn as I usually am and simply try it myself.
@Alshain This one too can be added to the list.

Edited by Tex_NL
Link to comment
Share on other sites

Add missing modules to PorkJets revamped Mk1 Pod

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

 

Link to comment
Share on other sites

Great thread idea! I ended up making an intermediate between the small landing gear and the medium, as the size difference between the two bothered me, as I am quite a plane guy.

Spoiler

// Author: Vegetal
// Adds an intermediate landing gear between small and medium.

+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

Now, does anyone know how I can make all the LF and LFO tanks have jettisoning capability?

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