diff --git a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
index 4d475f09..5a11100e 100644
--- a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
+++ b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
@@ -460,6 +460,56 @@ Supply
dump_valve = LqdMethane,LqdOxygen
}
+ // source: https://www.mdpi.com/2073-4344/8/9/379
+ // convention: scaled to take output of 12 electrolizers (capacity of miniISRU)
+ Process
+ {
+ name = HTP Synthesis
+ modifier = _HTPSynthesis
+ input = ElectricCharge@0.1
+ input = Hydrogen@0.1162138813
+ input = Oxygen@0.084
+ output = Water@0.0000106018366
+ output = HTP@0.00009541652939
+ dump_valve = Water
+ }
+
+ // convention: scaled to match input of _HydrazineSynthesis
+ Process
+ {
+ name = Haber-Bosch Process
+ modifier = _HaberBosch
+ input = ElectricCharge@0.3685524471
+ input = Hydrogen@0.2706260197
+ input = Nitrogen@0.08992230669
+ output = Ammonia@0.1778176725
+ }
+
+ // convention: scaled to take output of 12 electrolizers (capacity of miniISRU)
+ Process
+ {
+ name = Ostwald Process
+ modifier = _OstwaldProcess
+ input = ElectricCharge@0.1
+ input = Oxygen@0.084
+ input = Ammonia@0.04683803641
+ output = Water@0.00005716845
+ output = NTO@0.00006710384483
+ }
+
+ // source: https://apps.dtic.mil/dtic/tr/fulltext/u2/a016905.pdf
+ // convention: scaled to match output of _HTPSynthesis
+ Process
+ {
+ name = Hydrazine Synthesis
+ modifier = _HydrazineSynthesis
+ input = ElectricCharge@0.01679760881
+ input = Ammonia@0.1778176725
+ input = HTP@0.00009541652939
+ output = Water@0.0001446909606
+ output = Hydrazine@0.0001281595396
+ }
+
Process
{
name = brayton generator
@@ -1327,6 +1377,38 @@ Supply
running = true
}
MODULE
+ {
+ name = ProcessController
+ resource = _HTPSynthesis
+ title = HTP Synthesis
+ capacity = 1
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _HaberBosch
+ title = Haber-Bosch Process
+ capacity = 1
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _OstwaldProcess
+ title = Ostwald Process
+ capacity = 1
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _HydrazineSynthesis
+ title = Hydrazine Synthesis
+ capacity = 1
+ running = true
+ }
+ MODULE
{
name = Harvester
title = CO2 Sorption Pump
@@ -1395,6 +1477,84 @@ Supply
amount = 0
maxAmount = 8
}
+ }
+ SETUP
+ {
+ name = HTP synthesis
+ desc = Hydrogen and Oxygen are passed over a Palladium alloy mesh to produce HTP and Water .
+ tech = advancedLifeSupport
+ mass = 0.2 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HTPSynthesis
+ }
+ }
+ SETUP
+ {
+ name = Haber-Bosch Process
+ desc = Nitrogen and Hydrogen are catalyzed under high pressure to produce Ammonia.
+ tech = efficientLifeSupport
+ mass = 0.5
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HaberBosch
+ }
+ }
+ SETUP
+ {
+ name = Ostwald Process
+ desc = Ammonia is oxidized to form Nitric Oxide and Water, and then catalyzed to produce NTO.
+ tech = efficientLifeSupport
+ mass = 0.2 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _OstwaldProcess
+ }
+ RESOURCE
+ {
+ name = Ammonia
+ amount = 0
+ maxAmount = 500
+ }
+ }
+ SETUP
+ {
+ name = Hydrazine Production
+ desc = Ammonia and HTP are mixed with a Copper catalyst to produce Hydrazine and Water.
+ tech = efficientLifeSupport
+ mass = 0.2 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HydrazineSynthesis
+ }
+ RESOURCE
+ {
+ name = Ammonia
+ amount = 0
+ maxAmount = 500
+ }
+ RESOURCE
+ {
+ name = HTP
+ amount = 0
+ maxAmount = 2
+ }
}
SETUP
{
@@ -1451,6 +1611,38 @@ Supply
running = true
}
MODULE
+ {
+ name = ProcessController
+ resource = _HTPSynthesis
+ title = HTP Synthesis
+ capacity = 5
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _HaberBosch
+ title = Haber-Bosch Process
+ capacity = 5
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _OstwaldProcess
+ title = Ostwald Process
+ capacity = 5
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _HydrazineSynthesis
+ title = Hydrazine Synthesis
+ capacity = 5
+ running = true
+ }
+ MODULE
{
name = Harvester
title = CO2 Sorption Pump
@@ -1520,6 +1712,84 @@ Supply
}
}
SETUP
+ {
+ name = HTP synthesis
+ desc = Hydrogen and Oxygen are passed over a Palladium alloy mesh to produce HTP and Water .
+ tech = advancedLifeSupport
+ mass = 0.6 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HTPSynthesis
+ }
+ }
+ SETUP
+ {
+ name = Haber-Bosch Process
+ desc = Nitrogen and Hydrogen are catalyzed under high pressure to produce Ammonia.
+ tech = efficientLifeSupport
+ mass = 1.5
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HaberBosch
+ }
+ }
+ SETUP
+ {
+ name = Ostwald Process
+ desc = Ammonia is oxidized to form Nitric Oxide and Water, and then catalyzed to produce NTO.
+ tech = efficientLifeSupport
+ mass = 0.6 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _OstwaldProcess
+ }
+ RESOURCE
+ {
+ name = Ammonia
+ amount = 0
+ maxAmount = 2500
+ }
+ }
+ SETUP
+ {
+ name = Hydrazine Production
+ desc = Ammonia and HTP are mixed with a Copper catalyst to produce Hydrazine and Water.
+ tech = efficientLifeSupport
+ mass = 0.2 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HydrazineSynthesis
+ }
+ RESOURCE
+ {
+ name = Ammonia
+ amount = 0
+ maxAmount = 2500
+ }
+ RESOURCE
+ {
+ name = HTP
+ amount = 0
+ maxAmount = 10
+ }
+ }
+ SETUP
{
name = CO2 Sorption Pump
desc = An advanced CO2 pump for feeding larger ISRU processes.
@@ -1690,7 +1960,7 @@ Supply
{
name = GOX to LOX Converter
desc = Liquifies breathable Oxygen into LqdOxygen.
- tech = lifeSupportISRU
+ tech = advancedLifeSupport
mass = 0.017 //FIXME Best option processes 2.2kg/hr w/mass of 68kg source: https://www.sciencedirect.com/science/article/pii/S0011227517302187
cost = 50 //FIXME
@@ -1847,6 +2117,50 @@ RESOURCE_DEFINITION
@tags ^=:$:, mrp, regolith, molten regolith pyrolosis
}
+RESOURCE_DEFINITION
+{
+ name = _HTPSynthesis
+ density = 0.0
+ isVisible = false
+}
+@PART:HAS[@MODULE[ProcessController]:HAS[#resource[_HTPSynthesis]]]:NEEDS[ProfileRealismOverhaul]:LAST[Kerbalism]
+{
+ @tags ^=:$:, HTP, HTP Synthesis
+}
+
+RESOURCE_DEFINITION
+{
+ name = _HaberBosch
+ density = 0.0
+ isVisible = false
+}
+@PART:HAS[@MODULE[ProcessController]:HAS[#resource[_HaberBosch]]]:NEEDS[ProfileRealismOverhaul]:LAST[Kerbalism]
+{
+ @tags ^=:$:, haber-bosch, ammonia
+}
+
+RESOURCE_DEFINITION
+{
+ name = _OstwaldProcess
+ density = 0.0
+ isVisible = false
+}
+@PART:HAS[@MODULE[ProcessController]:HAS[#resource[_OstwaldProcess]]]:NEEDS[ProfileRealismOverhaul]:LAST[Kerbalism]
+{
+ @tags ^=:$:, ostwald, ammonia, NTO
+}
+
+RESOURCE_DEFINITION
+{
+ name = _HydrazineSynthesis
+ density = 0.0
+ isVisible = false
+}
+@PART:HAS[@MODULE[ProcessController]:HAS[#resource[_HydrazineSynthesis]]]:NEEDS[ProfileRealismOverhaul]:LAST[Kerbalism]
+{
+ @tags ^=:$:, hydrazine synthesis, hydrazine, HTP
+}
+
RESOURCE_DEFINITION
{
name = _RWGS
@@ -2091,14 +2405,14 @@ RESOURCE_DEFINITION
%RSSROConfig = true
@TechRequired = longTermLifeSupport
- @mass = 0.08
+ @mass = 0.01
@description = A small harvesting device which harvests oxide-rich regolith for smelting.
%tags = _kerbalism, drill, harvester, regolith, regolith drill, isru
// source: https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20110016233.pdf
MODULE
{
name = Harvester
- title = Regolith Excavation
+ title = Surface Harvester
type = 0
resource = Regolith
min_abundance = 0.02
@@ -2106,10 +2420,64 @@ RESOURCE_DEFINITION
ec_rate = 0.2 // FIXME
}
- RESOURCE
+ MODULE
{
- name = Regolith
- amount = 0
- maxAmount = 50
+ name = Harvester
+ title = Water Extractor
+ type = 0
+ resource = Water
+ min_abundance = 0.001
+ abundance_rate = 0.05
+ rate = 0.000134976
+ ec_rate = 2.75373
+ }
+ MODULE
+ {
+ name = Configure
+ title = Drill
+ slots = 1
+
+ SETUP
+ {
+ name = Regolith Harvester
+ desc = An excavator for collecting regolith for processing.
+ tech = longTermLifeSupport
+ mass = 0.08
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = Harvester
+ id_field = resource
+ id_value = Regolith
+ }
+ RESOURCE
+ {
+ name = Regolith
+ amount = 0
+ maxAmount = 5
+ }
+ }
+ SETUP
+ {
+ name = Water Extractor
+ desc = Collects substrate and thaws it to extract Water.
+ tech = longTermLifeSupport
+ mass = 0.363
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = Harvester
+ id_field = resource
+ id_value = Water
+ }
+ RESOURCE
+ {
+ name = Water
+ amount = 0
+ maxAmount = 5
+ }
+ }
}
}
diff --git a/GameData/KerbalismConfig/ResourceConfigs/Water.cfg b/GameData/KerbalismConfig/ResourceConfigs/Water.cfg
new file mode 100644
index 00000000..48b50dde
--- /dev/null
+++ b/GameData/KerbalismConfig/ResourceConfigs/Water.cfg
@@ -0,0 +1,48 @@
+// source: https://ntrs.nasa.gov/citations/20110014548 LCROSS impactor found ~5% ice concentration at the poles and 0.1-1% concentration in other areas
+PLANETARY_RESOURCE
+{
+ ResourceName = Water
+ ResourceType = 0
+ PlanetName = Moon
+
+ Distribution
+ {
+ PresenceChance = 50
+ MinAbundance = 0.1
+ MaxAbundance = 1
+ Variance = 20
+ Dispersal = 3
+ }
+}
+BIOME_RESOURCE
+{
+ ResourceName = Water
+ ResourceType = 0
+ PlanetName = Moon
+ BiomeName = North Pole
+
+ Distribution
+ {
+ PresenceChance = 100
+ MinAbundance = 2
+ MaxAbundance = 5
+ Variance = 20
+ Dispersal = 3
+ }
+}
+BIOME_RESOURCE
+{
+ ResourceName = Water
+ ResourceType = 0
+ PlanetName = Moon
+ BiomeName = South Pole
+
+ Distribution
+ {
+ PresenceChance = 100
+ MinAbundance = 2
+ MaxAbundance = 5
+ Variance = 20
+ Dispersal = 3
+ }
+}