Jump to content

Is there a mod that makes part pressure relevant?


eatU4myT

Recommended Posts

Is there a mod out there at all that makes part pressure relevant to space travel, rather than just to building submarines?  Can I make it so that early tech probes arriving at Eve get squished, and I have to research better materials/parts in order to survive on the surface?  I'm thinking something like Venera 4 -> Venera 9 -> Venera 13

On a related note, does anyone know if there is a figure for max heat and max part pressure for a Kerbal?

Thanks

 

Note:  I think I'm right in saying that RSS does this, or maybe RSS + RO?  I'm not excited about moving over to RSS though, so would be interested to know if its possible to just change this in the normal KSP solar system.

Edited by eatU4myT
Addition
Link to comment
Share on other sites

I suspect this could be done with a module manager patch - there's a part attribute in the cfg - "maxPressure" - that defaults to 4000 according to the Kerbal Space Program API. You would just need to replace (or add if it wasn't already there) and set to a different value. You might even be able to tie into the part upgrade system. Note: If the "maxPressure =" isn't in the cfg file it defaults to 4000 - that's why you don't see it in some (most?) part cfg's.

Link to comment
Share on other sites

Thanks for this.  Is that 4000 a direct measure of kPa?  As far as I know, the highest pressure you can get to in the stock Kerbol system (again, without any submarine shenanigans) is on the surface of Eve (~500kPa) or Jool (~1500kPa).  Did Squad just deliberately set the part pressure way high because they didn't want it to become part of the game?

If I was to set a part pressure of, say, 400kPa, am I right in saying that my probe would function as normal most of the way down through Eve's atmosphere, and then pop at some point a couple of thousand meters above the surface?   There is no pressure buildup bar in the same way as there is for heat, is there?

Anyone have any info regarding max pressure and max heat for Kerbals?  Would it be possible to make it so that these increased as the Astronaut Complex was upgraded?  Would provide another incentive to upgrade it beyond the first upgrade that allows you to EVA off-world.

Thanks

Link to comment
Share on other sites

7 hours ago, eatU4myT said:

That's useful, thanks - I presume that that is in degrees K, or C, or whatever units KSP uses for everything else?  Do you know if it is possible to change it?

Thanks

Yes, by a module manager patch.

5 hours ago, Stone Blue said:

Just wondering where you came up with this number? vOv

Somewhere in the squad file. Parts maybe?

A cfg for kerbalEVA

Or by experiments

Link to comment
Share on other sites

I believe that 4000 is 4,000kPa so parts won't pop on Eve with the default setting. A setting of 400 would cause the part to pop before reaching Eve's surface (double check this before using - it's been awhile since I was messing with this). And no - no display bar for pressure - the first clue you have is when the part pops. Temperature is usually in degrees K.

Link to comment
Share on other sites

Yeah, Eve's surface atmospheric pressue is only about 5 x Kerbin's, whereas Venus's is about 90 x Earth's, which would certainly do the Styrofoam no favours!  As I don't have the knowhow to mod my solar system, I'm planning to just mod part pressure to the point where parts would fail on Eve's surface, to give a very simple hand wavey approximation of real life.  As I don't plan to go underwater, the parts won't be subject to any higher pressures than this anywhere else, expect diving into a gas giant, so it doesn't really matter if I say they get crushed at 5 atmospheres instead of 90!

Link to comment
Share on other sites

On 10/6/2018 at 12:18 AM, wasml said:

I believe that 4000 is 4,000kPa so parts won't pop on Eve with the default setting. A setting of 400 would cause the part to pop before reaching Eve's surface (double check this before using - it's been awhile since I was messing with this). And no - no display bar for pressure - the first clue you have is when the part pops. Temperature is usually in degrees K.

The value you set is divided roughly by 100 to convert into atmosphere pressure. Kerbin's sea level pressure is 101 kPa. 4000 = 40 atmospheres of pressure in KSP.

On 10/8/2018 at 7:04 AM, Pds314 said:

Why would it even make sense for parts to crush on Eve when IRL XPS styrofoam would not fail under compression there?

Once you turn on part pressure limits, the ocean on any planet becomes deadly. 400m below Kerbin's sea level is 40 atmospheres and where any part will explode. This point may be very shallow on Eve given its surface pressure.

On 10/3/2018 at 1:01 PM, Stone Blue said:

Just wondering where you came up with this number? vOv

KER reveals it in its Heat/Thermal panel when a kerbal is focused. The part configs for kerbals are,iirc, in GameData\Squad\Prebuilt\

On 10/8/2018 at 9:25 AM, eatU4myT said:

Yeah, Eve's surface atmospheric pressue is only about 5 x Kerbin's, whereas Venus's is about 90 x Earth's, which would certainly do the Styrofoam no favours!  As I don't have the knowhow to mod my solar system, I'm planning to just mod part pressure to the point where parts would fail on Eve's surface, to give a very simple hand wavey approximation of real life.  As I don't plan to go underwater, the parts won't be subject to any higher pressures than this anywhere else, expect diving into a gas giant, so it doesn't really matter if I say they get crushed at 5 atmospheres instead of 90!

Well... Just save the following somewhere in GameData and go to Difficulty settings and turn on Part Pressure Limits. Be warned, Kerbin's ocean becomes the devil. Every 10m below adds 1 atm pressure, so you will likely be destroyed at -40m and not the default -400m.

@PART[*]
{
	%maxPressure = 500
}
On 10/2/2018 at 5:57 AM, eatU4myT said:

and I have to research better materials/parts in order to survive on the surface?  I'm thinking something like Venera 4 -> Venera 9 -> Venera 13

I would like very much to be able to write configs for this for myself. I can do it for modules, but it's different for basic properties of a part. I seek this knowledge for advancement in heat tolerance.

Link to comment
Share on other sites

1 hour ago, JadeOfMaar said:

 


@PART[*]
{
	%maxPressure = 500
}

...

I would like very much to be able to write configs for this for myself. I can do it for modules, but it's different for basic properties of a part. I seek this knowledge for advancement in heat tolerance.

This is very useful, thanks. Do you know, would a cfg like that which modifies all parts also modify Kerbals? Are they a "part"?

Sounds like what I was really hoping to do won't be possible then, shame. I'll probably just modify a few early probe cores to 300, a few mid-range ones to 400 and so on, and leave it at that :/

Thanks

Link to comment
Share on other sites

6 minutes ago, eatU4myT said:

Do you know, would a cfg like that which modifies all parts also modify Kerbals? Are they a "part"?

 

I'm sure it would affect them. Kerbals are indeed a 'part'. And yes you'd have to set different maxPressure values for specific parts. I would use a criteria-based config and target parts based on ranges of mass, given tech nodes and maybe given categories. That would save the trouble of going after names, and is convenient where I don't absolutely need to be name specific.

Link to comment
Share on other sites

11 hours ago, JadeOfMaar said:

I would use a criteria-based config and target parts based on ranges of mass, given tech nodes and maybe given categories.

Does that mean you can do something along the lines of @PART[techRequired = basicRocketry]?  Naively, I had assumed you could only target by name!

Thanks

Link to comment
Share on other sites

8 hours ago, eatU4myT said:

Does that mean you can do something along the lines of @PART[techRequired = basicRocketry]?  Naively, I had assumed you could only target by name!

Thanks

Yes. That syntax is very bad but you can target by nearly anything in a config file.

Like this... Anything Kerbodyne makes, in Basic Rocketry and weighs less than 1 ton can only take 3 atm pressure. (Assuming any parts exist that fit this criteria.)

@PART:HAS[#TechRequired[basicRocketry],#mass[<1],#manufacturer[Kerbodyne]]
{
	maxPressure = 300
	// comment, other actions
}

 

Link to comment
Share on other sites

18 hours ago, JadeOfMaar said:

That syntax is very bad

Hehe!  Yes, I don't actually know any code, beyond basic general concepts.  I have to learn the precise rules every time I want to fiddle around with something...

But, this is going to be exactly what I need for this purpose so thanks very much!

Link to comment
Share on other sites

  • 6 years later...
On 10/10/2018 at 11:12 AM, JadeOfMaar said:

but you can target by nearly anything in a config file.

How would I write cfg syntax so that I could increase part preasure based after unlocking  a tech node? (sorry for necropost, I just have been searching forever for how to do this)

Link to comment
Share on other sites

6 hours ago, 6purplemoons said:

How would I write cfg syntax so that I could increase part preasure based after unlocking  a tech node?

You can make use of B9PS' integration with the part upgrade system and have subtypes unlock with the tech node that the given upgrade object is placed in. This is technically how it would look but it's untested. I leave that to you.


// Upgrade definitions
PARTUPGRADE
{
	name = PresVessels1
	partIcon = radialRCSTank // name (not title) value of an existing part
	title = Pressure Vessels Upgrade 1
	techRequired = specializedConstruction
	entryCost = 2000
	cost = 0 // for display only; To make this value effective, use it as addedCost in a mesh switcher
	basicInfo = // Short desc. Goes in a side panel in part info window.
	manufacturer = // Any
	description = // Detailed info. Goes in part description section of part info window.
}
PARTUPGRADE
{
	name = PresVessels2
	partIcon = radialRCSTank // name (not title) value of an existing part
	title = Pressure Vessels Upgrade 2
	techRequired = advMetalworks
	entryCost = 2000
	cost = 0 // for display only; To make this value effective, use it as addedCost in a mesh switcher
	basicInfo = // Short desc. Goes in a side panel in part info window.
	manufacturer = // Any
	description = // Detailed info. Goes in part description section of part info window.
}


// TBD. Insert config here to add hasPresUpgrades = Yes to choice parts or all parts


// Insert switcher into part(s)
@PART:HAS[#hasPresUpgrades[Yes]]
{
	@hasPresUpgrades = Joined
	maxPressure = 300
	MODULE
	{
		name = ModuleB9PartSwitch
		baseVolume = 0
		moduleID = Blacksmith
		switcherDescription = Blacksmith Level
		switcherDescriptionPlural = Blacksmith Levels
		// switchInFlight = False
		SUBTYPE
		{
			name = Basic
			title = Default pressure limits
			maxPressure = 300
		}
		SUBTYPE
		{
			name = Improved
			title = Improved pressure limits
			defaultSubtypePriority = 1 // Higher value = more preference to be selected by default
			upgradeRequired = PresVessels1
			maxPressure = 500
		}
		SUBTYPE
		{
			name = Advanced
			title = Advanced pressure limits
			defaultSubtypePriority = 2 // Higher value = more preference to be selected by default
			upgradeRequired = PresVessels2
			maxPressure = 700
		}
	}
}

 

7 hours ago, 6purplemoons said:

(sorry for necropost, I just have been searching forever for how to do this)

Not a problem. Genuine thread bumps like this are actually welcome.

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