Jump to content

[1.5.0 <-> 1.8.1] Kerbalism v3.2


N70

Recommended Posts

10 hours ago, johiah said:

Maybe have shielding as something that can be added to radioactive parts so that you can pay a weight tax to avoid making it impossible to play the game with lifetime radiation on?

Yes I agree that could be an option to add radiaton shielding to nuclear engine and nuclear reactors which would effectivly influence the amount of effictive radiation they produce. This would allow you to improve shieding on crewed vessels  and minimize it for vessels on probe controlled cargo vessels.

Edited by FreeThinker
Link to comment
Share on other sites

26 minutes ago, johiah said:

Unless I am misunderstanding something, radiation protection is averaged out. Unless the storm cellar is specifically exempt from this?

To use a storm cellar, you move everyone into it, then disable the other habitats. Then only the storm cellar counts.

Link to comment
Share on other sites

51 minutes ago, lordcirth said:

To use a storm cellar, you move everyone into it, then disable the other habitats. Then only the storm cellar counts.

Makes sense, as it forces the Kerbals to stay in the storm cellar. But what part does actualy provide storm celler functionality? Any habitat with max radiation shielding?

Edited by FreeThinker
Link to comment
Share on other sites

Just now, FreeThinker said:

Makes sense, as it forces the Kerbals to stay in the storm cellar. What part does actualy provide storm celler functionality?

It's just any part with max shielding. I don't think a special storm cellar has been added.

Link to comment
Share on other sites

Is there any way you can disable Kerbalisms science and use the stock system? 


EDIT: If that is not possible is there any way to decrease the time it takes to send the science? Listening to the constant data transmitting sound is causing me a mental breakdown. :)

Edited by JocMeister
Link to comment
Share on other sites

4 minutes ago, JocMeister said:

Is there any way you can disable Kerbalisms science and use the stock system? 


EDIT: If that is not possible is there any way to decrease the time it takes to send the science? Listening to the constant data transmitting sound is causing me a mental breakdown. :)

So the problem are the sound effects not the Kerbalsim science mechanism?

Link to comment
Share on other sites

8 minutes ago, FreeThinker said:

So the problem are the sound effects not the Kerbalsim science mechanism?

To be honest I´m not too fond with the Kerbalism way. I understand why they went with it but personally for me it just means it I spend a lot of time waiting...and going in and out of timewarp. So if I could play with the stock science I would prefer that.

But listening to the sound while transmitting the data for 15 minutes is just painful to the point I consider going back to stock. 

Link to comment
Share on other sites

1 hour ago, lordcirth said:

95% in the default profile - so 20x the survival time.

Ok, but how is the maximum of Shielding added to parts. I could not find any MM script. I guess it is added based of the Habitat surface area.

Edited by FreeThinker
Link to comment
Share on other sites

According to the resource file , MoistAtmosphere supposededly has a density of 0.000804. I notice that is very close to the density of Water which is 0.001. Saturated water vapor at STP has a true density of 4.85 g/m3 at 273 K , which translates into a density of 0.00000485  which is 165.77 times less than currently!!

Edited by FreeThinker
Link to comment
Share on other sites

7 hours ago, FreeThinker said:

Ok, but how is the maximum of Shielding added to parts. I could not find any MM script. I guess it is added based of the Habitat surface area.

Correct. Shielding = surface area of the part. Inflatable habitats don't get shielding, because logic. Exception are rigid inflatable ones (think SSPX centrifuges)

Link to comment
Share on other sites

8 hours ago, SilverState said:

Correct. Shielding = surface area of the part. Inflatable habitats don't get shielding, because logic. Exception are rigid inflatable ones (think SSPX centrifuges)

But what is shielding resource composed of? It appears it Kerbalism, its main function it to protect againt envionmental particle radiation, which is best done with hydrogen molecules. However, artificial radioactive sources mainly produce gamma radiation (after blocking most neutrons) which is best blocked by tunston or lead

Link to comment
Share on other sites

4 hours ago, FreeThinker said:

But what is shielding resource composed of? It appears it Kerbalism, its main function it to protect againt envionmental particle radiation, which is best done with hydrogen molecules. However, artificial radioactive sources mainly produce gamma radiation (after blocking most neutrons) which is best blocked by tunston or lead

I believe it's lead, somewhere in the UI it refers to shielding as (mm Pb).

Link to comment
Share on other sites

8 hours ago, FreeThinker said:

But what is shielding resource composed of? It appears it Kerbalism, its main function it to protect againt envionmental particle radiation, which is best done with hydrogen molecules. However, artificial radioactive sources mainly produce gamma radiation (after blocking most neutrons) which is best blocked by tunston or lead

 

4 hours ago, TicTac said:

I believe it's lead, somewhere in the UI it refers to shielding as (mm Pb).

^

It's lead. that's why it adds so much mass to parts.

Link to comment
Share on other sites

5 hours ago, TicTac said:

I believe it's lead, somewhere in the UI it refers to shielding as (mm Pb).

It has the density of lead yes, but there are several processes which convert Waste or CarbonDioxide into Shielding that doesn't contain any Lead but rather Carbon. So this makes me think Shielding isn't nessisaraly made from  Lead but could be anything that could serve as radiation shielding

Edited by FreeThinker
Link to comment
Share on other sites

1 hour ago, SilverState said:

 

^

It's lead. that's why it adds so much mass to parts.

Yes, but it doesn't make sense to use lead for space (particle) shielding, as it would cause it to produce x-ray whenever a beta particle hits it. It would have been much more logical It the used a lighter material like water or polyethelene  (plastic) which is 20 times lighter

Edited by FreeThinker
Link to comment
Share on other sites

1 hour ago, FreeThinker said:

Yes, but it doesn't make sense to use lead for space (particle) shielding, as it would cause it to produce x-ray whenever a beta particle hits it. It would have been much more logical It the used a lighter material like water or polyethelene  (plastic) which is 20 times lighter

You're probably right, but hey. I'm not a rocket scientist, i just patch stuff.

You know the saying: Monkey see, monkey patch.

Link to comment
Share on other sites

I came pretty far with a support for Sounding Rockets science experiments.

Up to know I have two bugs open

//Bugs
sample mass for part 1 and 2 not added to part mass -> fixed with sample mass added to part mass
one parts gets reliability, though not asked for -> not that important

 

//Compatibiltiy for Umbra Space Industries Sounding Rockets

@PART[SR_Nosecone_*]:NEEDS[FeatureScience,!RemoteTech]:FOR[Kerbalism]
{
	MODULE	//worse than KERBALISM_ANTENNA
	{
		name = ModuleDataTransmitter
		antennaType = DIRECT
		packetInterval = 0.4
		packetSize = 0.6	//1
		packetResourceCost = 0.6	//5.0
		requiredResource = ElectricCharge
		DeployFxModules = 0
		antennaPower = 150000	//250000
		antennaCombinable = True
		antennaCombinableExponent = 1
	}	
}


@PART[SR_ProbeCore]:NEEDS[FeatureScience]:FOR[Kerbalism]
{
	@MODULE[HardDrive]
	{
		@dataCapacity = 0.3
		@sampleCapacity = 1
	}
}

@PART[SR_InlineProbe]:NEEDS[FeatureScience]:FOR[Kerbalism]
{
	@MODULE[HardDrive]
	{
		@dataCapacity = 0.5
		@sampleCapacity = 2
	}
}


// messed up mapping of part number to experiment number in original Sounding Rocket config -> cleaned up in my Experiment Definitions
//Part SR_Payload_01 has exp 3
//Part SR_Payload_02 has exp 4
//Part SR_Payload_03 has exp 1
//Part SR_Payload_04 has exp 2

EXPERIMENT_DEFINITION:NEEDS[USISoundingRockets,FeatureScience]
{
	id = Kerbalism_SRExperiment03
	title = Meteorological Experiments
	baseValue = 2
	scienceCap = 2
	dataScale = 1

	requireAtmosphere = False
	situationMask = 28
	biomeMask = 3
}
//only above ground (low and high) and in space

EXPERIMENT_DEFINITION:NEEDS[USISoundingRockets,FeatureScience]
{
	id = Kerbalism_SRExperiment04
	title = Aeronomy Experiments
	baseValue = 2
	scienceCap = 2
	dataScale = 1

	requireAtmosphere = True
	situationMask = 12
	biomeMask = 3
}
//only above ground in the air

EXPERIMENT_DEFINITION:NEEDS[USISoundingRockets,FeatureScience]
{
	id = Kerbalism_SRExperiment01
	title = Materials Experiments
	baseValue = 3
	scienceCap = 3
	dataScale = 1

	requireAtmosphere = False
	situationMask = 63
	biomeMask = 3
}
// Materials Experiments possible everywhere - encourages to land first ballistic rockets

EXPERIMENT_DEFINITION:NEEDS[USISoundingRockets,FeatureScience]
{
	id = Kerbalism_SRExperiment02
	title = Engineerings Experiments
	baseValue = 3
	scienceCap = 3
	dataScale = 1

	requireAtmosphere = True
	situationMask = 63
	biomeMask = 3
}
// Engineerings Experiments possible everywhere - encourages to land first ballistic rockets


@PART[SR_Payload_01]:NEEDS[FeatureScience]:AFTER[USISoundingRockets]
{
	!MODULE:HAS[#experimentID[SRExperiment*]]	{}
	MODULE
	{
		name = Experiment
		experiment_id = Kerbalism_SRExperiment01
	}
	@description = SR_01: Perform a basic materials experiment virtually everywhere in flight or landed or splashed down.
	@mass = 0.020	// since found no way to add sample mass to part mass
}

@PART[SR_Payload_02]:NEEDS[FeatureScience]
{
	!MODULE:HAS[#experimentID[SRExperiment*]]	{}
	MODULE
	{
		name = Experiment
		experiment_id = Kerbalism_SRExperiment02
	}
	@description = SR_02: Perform a basic engineering experiment virtually everywhere in flight or landed or splashed down.
	@mass = 0.020	// since found no way to add sample mass to part mass
}

@PART[SR_Payload_03]:NEEDS[FeatureScience]
{
	!MODULE:HAS[#experimentID[SRExperiment*]]	{}
	MODULE
	{
		name = Experiment
		experiment_id = Kerbalism_SRExperiment03
	}
	@description = SR_03: Perform a basic meteorological experiment in atmosphere and lower space.
	@mass = 0.015
}

@PART[SR_Payload_04]:NEEDS[FeatureScience]
{
	!MODULE:HAS[#experimentID[SRExperiment*]]	{}
	MODULE
	{
		name = Experiment
		experiment_id = Kerbalism_SRExperiment04
	}
	@description = SR_04: Perform a basic aeronomy experiment in flight within an atmosphere.
	@mass = 0.015
}


@KERBALISM_EXPERIMENT_VALUES:NEEDS[USISoundingRockets,FeatureScience]	//@KERBALISM_GROUP_SETTINGS:NEEDS[FeatureScience]
{
	USISoundingRockets
	{
		Kerbalism_SRExperiment01	//All situations, biomes-everywhere except orbit, both high and low.
		{
			ECCost = 0.015
			SampleMass = 0.005
			size = 150
			value = 3								
			duration = 300	
//			SetupMass = 0.02				
			SetupCost = 150
			UnlockTech = start
			requirements =
			CrewRequirement =
			ResourceRates =
		}
		Kerbalism_SRExperiment02	//All situations, biomes-everywhere except orbit, both high and low.
		{
			ECCost = 0.015
			SampleMass = 0.005
			size = 150
			value = 3								
			duration = 300		
//			SetupMass = 0.02
			SetupCost = 150
			UnlockTech = start
			requirements =
			CrewRequirement =
			ResourceRates =
		}
		Kerbalism_SRExperiment03	//All situations, biomes-everywhere except orbit, both high and low.
		{
			ECCost = 0.004
			size = 0.15
			value = 2							
			duration = 180							
			SetupMass = 0.015
			SetupCost = 150
			UnlockTech = start
			requirements =
			CrewRequirement =
			ResourceRates =
		}
		Kerbalism_SRExperiment04	//All situations, biomes-everywhere except orbit, both high and low.
		{
			ECCost = 0.004
			size = 0.15
			value = 2							
			duration = 180						
			SetupMass = 0.015
			SetupCost = 150
			UnlockTech = start
			requirements =
			CrewRequirement =
			ResourceRates =
		}
	}
}

// =========================================================
// Patching the experiment parameters based on the values from KERBALISM_EXPERIMENT_VALUES/USISoundingRockets
// =========================================================
@PART[SR_Payload_01]:NEEDS[USISoundingRockets,FeatureScience]:FOR[zzKerbalism]	//@PART[*]:HAS[@MODULE[Experiment]]:NEEDS[USISoundingRockets,FeatureScience]:FOR[Kerbalism]
{
	@MODULE[Experiment]:HAS[#experiment_id[Kerbalism_SRExperiment01]]		
	{
		%ec_rate = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment01/ECCost$
		%requires = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment01/requirements$
		%data_rate = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment01/size$
		@data_rate /= #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment01/duration$
		%resources = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment01/ResourceRates$
		%sample_mass = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment01/SampleMass$
		%sample_collecting = True
//		%sample_reservoir = 0
		%allow_shrouded = False
	}
}	
@PART[SR_Payload_02]:NEEDS[USISoundingRockets,FeatureScience]:FOR[zzKerbalism]	//@PART[*]:HAS[@MODULE[Experiment]]:NEEDS[USISoundingRockets,FeatureScience]:FOR[Kerbalism]
{
	@MODULE[Experiment]:HAS[#experiment_id[Kerbalism_SRExperiment02]]		
	{
		%ec_rate = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment02/ECCost$
		%requires = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment02/requirements$
		%data_rate = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment02/size$
		@data_rate /= #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment02/duration$
		%resources = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment02/ResourceRates$
		%sample_mass = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment02/SampleMass$
		%sample_collecting = True
//		%sample_reservoir = 0
		%allow_shrouded = False
	}
}
@PART[SR_Payload_03]:NEEDS[USISoundingRockets,FeatureScience]:FOR[zzKerbalism]	//@PART[*]:HAS[@MODULE[Experiment]]:NEEDS[USISoundingRockets,FeatureScience]:FOR[Kerbalism]
{
	@MODULE[Experiment]:HAS[#experiment_id[Kerbalism_SRExperiment03]]		
	{
		%ec_rate = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment03/ECCost$
		%requires = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment03/requirements$
		%data_rate = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment03/size$
		@data_rate /= #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment03/duration$
		%resources = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment03/ResourceRates$
		%allow_shrouded = False
	}
}
@PART[SR_Payload_04]:NEEDS[USISoundingRockets,FeatureScience]:FOR[zzKerbalism]	//@PART[*]:HAS[@MODULE[Experiment]]:NEEDS[USISoundingRockets,FeatureScience]:FOR[Kerbalism]
{
	@MODULE[Experiment]:HAS[#experiment_id[Kerbalism_SRExperiment04]]		
	{
		%ec_rate = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment04/ECCost$
		%requires = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment04/requirements$
		%data_rate = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment04/size$
		@data_rate /= #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment04/duration$
		%resources = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment04/ResourceRates$
		%allow_shrouded = False
	}
}


// =========================================================
// Pathing the definitions, replacing value and size with the ones specified above.
// =========================================================
@EXPERIMENT_DEFINITION:HAS[#id[Kerbalism_SRExperiment01]]:NEEDS[USISoundingRockets,FeatureScience]:FOR[zzzKerbalism]
{
	@baseValue = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment01/value$
	@dataScale = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment01/size$
	@dataScale /= #$baseValue$
//	@situationMask = 48
//	@biomeMask = 0
}	
@EXPERIMENT_DEFINITION:HAS[#id[Kerbalism_SRExperiment02]]:NEEDS[USISoundingRockets,FeatureScience]:FOR[zzzKerbalism]
{
	@baseValue = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment02/value$
	@dataScale = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment02/size$
	@dataScale /= #$baseValue$
//	@situationMask = 48
//	@biomeMask = 0
}
@EXPERIMENT_DEFINITION:HAS[#id[Kerbalism_SRExperiment03]]:NEEDS[USISoundingRockets,FeatureScience]:FOR[zzzKerbalism]
{
	@baseValue = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment03/value$
	@dataScale = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment03/size$
	@dataScale /= #$baseValue$
//	@situationMask = 48
//	@biomeMask = 0
}	
@EXPERIMENT_DEFINITION:HAS[#id[Kerbalism_SRExperiment04]]:NEEDS[USISoundingRockets,FeatureScience]:FOR[zzzKerbalism]
{
	@baseValue = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment04/value$
	@dataScale = #$@KERBALISM_EXPERIMENT_VALUES/USISoundingRockets/Kerbalism_SRExperiment04/size$
	@dataScale /= #$baseValue$
//	@situationMask = 48
//	@biomeMask = 0
}	

// =========================================================
// Installing private Hard Drives
// =========================================================
@KERBALISM_HDD_SIZES:NEEDS[FeatureScience]
{
	USISoundingRockets
	{
		SR_Payload_01
		{
			data = 0
			samples = 1
			SampleReservoirUpgrade = 2
		}
		SR_Payload_02
		{
			data = 0
			samples = 1
			SampleReservoirUpgrade = 2
		}
	}
}

@PART[SR_Payload_01]:HAS[@MODULE[Experiment]:HAS[#experiment_id[Kerbalism_SRExperiment01]],!MODULE[Laboratory]]:NEEDS[FeatureScience]:FOR[zzzKerbalism]
{
	MODULE
	{
		name = HardDrive
		experiment_id = Kerbalism_SRExperiment01
		dataCapacity = 0
		sampleCapacity = #$@KERBALISM_HDD_SIZES/USISoundingRockets/SR_Payload_01/samples$
	}
}

@PART[SR_Payload_02]:HAS[@MODULE[Experiment]:HAS[#experiment_id[Kerbalism_SRExperiment02]],!MODULE[Laboratory]]:NEEDS[FeatureScience]:FOR[zzzKerbalism]
{
	MODULE
	{
		name = HardDrive
		experiment_id = Kerbalism_SRExperiment02
		dataCapacity = 0
		sampleCapacity = #$@KERBALISM_HDD_SIZES/USISoundingRockets/SR_Payload_02/samples$
	}
}

//Bugs
// sample mass for part 1 and 2 not added to part mass
// one parts gets reliability, though not asked for

 

Link to comment
Share on other sites

Hey... I'm wondering if it's possible to create a "global patch" of sorts for the new science system (and a lot of other things)?

Would this example be possible?
A script would check every modded part in the game, if it is in the "antenna" category (KSP must have part categories right?) then add Kerbalism resources/changes to the part and if necessary to modify the modded part data, use a basic function to set values based on the modded part size/stock parameters. If checking every modded part would be too expensive, maybe we could have a "fix part" option in the VAB/SPH that does it only for that specific part? If there's no part category identifier in KSP maybe you could add a "Fix part" option on right click then the option to select the part category (Science to patch the part as a Kerbalism science experiment Cockpit to patch it as a Kerbalism cockpit...)

Edited by russ0133
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...