Jump to content

[1.3.0] Kerbalism v1.2.9


ShotgunNinja

Recommended Posts

36 minutes ago, Taxer7 said:

I'm having currently an issue with my Kerbalism. I have no mods except this one, and I cant seem to get my comms network to work with the games one. Which leave my vehicles use less at the pad. even while having antennas on it. Help?

Kerbalism changes the communication system and disables (and hides) the stock system completely.  That could be your reason.  Kerbalism has it's own system.

To go back, then in the settings config change the signal option to false.

Peace.

Link to comment
Share on other sites

I think my RSS Profile is ready. The consume rates of Food, Water and the regarding processes were adapted to a 24h day. The Greenhouse is producing in the same speed, but it produces 4 times lesser Food. I decided to let Radiation and Stress the same as before, RSS Gameplay should be a litte bit harder. This means that degenaration comes four times faster than on a 6h day. Additionally I adjusted Atmo Leaks and Pressure Control to a more realistic value. Shielding is in this profile not only a radiation protection, rather it represents some kind of hull quality and is helping to reduce of Atom Leaks.

Unfortunately, all rates in the planer, monitor and parts are shown in stock time. Found no way to change this in the profile.

// ============================================================================
// The default profile
// ============================================================================

Profile
{
  name = default

  Supply
  {
    resource = ElectricCharge
    on_pod = 50.0
    on_eva = 25.0
    on_rescue = 1000.0
    low_message = $VESSEL batteries are almost empty@<i>We are squeezing the last bit of juice</i>|$VESSEL batteries are almost empty@<i>Shutting down non-essential systems</i>
    empty_message = There is no more ElectricCharge on $VESSEL@<i>Life support systems are off</i>|There is no more ElectricCharge on $VESSEL@<i>We lost control</i>
    refill_message = $VESSEL batteries recharged@<i>The crew is allowed music again</i>|$VESSEL batteries recharged@<i>Systems are back online</i>
  }

  Supply
  {
    resource = Food
    on_pod = 31.45
    on_rescue = 1000.0
    low_message = Food reserves are getting low on $VESSEL@<i>Anything edible is being scrutinized</i>
    empty_message = There is no more food on $VESSEL@<i>The crew prepare for the inevitable</i>
    refill_message = $VESSEL food reserves restored@<i>Double snack rations for everybody</i>
  }

  Supply
  {
    resource = Water
    on_pod = 12.1
    on_rescue = 1000.0
    low_message = Water reserves are getting low on $VESSEL@<i>Hygiene schedule suspended until further notice</i>
    empty_message = There is no more water on $VESSEL@<i>Licking the condense is not a viable solution</i>
    refill_message = $VESSEL water reserves restored@<i>The situation look much better now</i>
  }

  Supply
  {
    resource = Oxygen
    on_pod = 11914.56
    on_eva = 100.0
    on_rescue = 10000.0
    low_message = Oxygen reserves are dangerously low on $VESSEL@<i>There is mild panic among the crew</i>
    empty_message = There is no more oxygen on $VESSEL@<i>Everybody stop breathing</i>
    refill_message = $VESSEL oxygen reserves restored@<i>The crew is taking a breather</i>
  }

  Supply
  {
    resource = Nitrogen
    low_message = Nitrogen reserves are getting low on $VESSEL
    empty_message = There is no more nitrogen on $VESSEL@<i>Time to go back in the suits</i>
    refill_message = $VESSEL nitrogen reserves restored@<i>Let's get out of these damn suits</i>
  }

  Supply
  {
    resource = Hydrogen
    low_message = Hydrogen tanks are almost empty on $VESSEL
    empty_message = There is no more hydrogen on $VESSEL tanks
    refill_message = $VESSEL hydrogen tanks refilled
  }

  Supply
  {
    resource = Ammonia
    low_message = Ammonia tanks are almost empty on $VESSEL
    empty_message = There is no more ammonia on $VESSEL tanks@<i>Maybe it is time for some smelly alternative</i>
    refill_message = $VESSEL ammonia tanks refilled
  }

  Rule
  {
    name = climatization
    input = ElectricCharge
    rate = 0.0001 // per-kelvin (temp diff), per m^3 (living space), per-second
    degeneration = 0.00000007 // about 2h at 100k temp diff in 20m^3
    modifier = temperature,volume,per_capita
    warning_message = $ON_VESSEL$KERBAL feels cold|$ON_VESSEL$KERBAL is sweating
    danger_message = $ON_VESSEL$KERBAL is freezing to death|$ON_VESSEL$KERBAL is burning alive
    fatal_message = $ON_VESSEL$KERBAL froze to death|$ON_VESSEL$KERBAL was burned alive
    relax_message = $ON_VESSEL$KERBAL hypothermia is under control|$ON_VESSEL$KERBAL is hugging the climatizer
  }

  Rule
  {
    name = eating
    input = Food
    output = Waste
    rate = 3.145 // 1.77 Kg per-day
    interval = 43200.0 // 2 meals per-day 24h Day
	//interval = 10800.0 // 2 meals per-day
    degeneration = 0.03333 // 30 meals, 15 days
    warning_message = $ON_VESSEL$KERBAL is hungry
    danger_message = $ON_VESSEL$KERBAL is starving
    fatal_message = $ON_VESSEL$KERBAL starved to death
    relax_message = $ON_VESSEL$KERBAL is enjoying some snacks right now
  }

  Rule
  {
    name = drinking
    input = Water
    output = WasteWater
    rate = 0.605 // 2.42 Kg per-day
    interval = 21600.0 // 4 drinks per-day 24h Day
	//interval = 5400.0 // 4 drinks per-day
    degeneration = 0.08333 // 12 drinks, 3 days
    warning_message = $ON_VESSEL$KERBAL is thirsty
    danger_message = $ON_VESSEL$KERBAL is dehydrated
    fatal_message = $ON_VESSEL$KERBAL died from dehydration
    relax_message = $ON_VESSEL$KERBAL is enjoying some drinks right now
  }

  Rule
  {
    name = breathing
    input = Oxygen
    output = WasteAtmosphere
    rate = 0.02758 // 0.84 Kg per-day
    degeneration = 0.0055555 // 3 minutes
    modifier = breathable
    warning_message = $ON_VESSEL$KERBAL can't breathe
    danger_message = $ON_VESSEL$KERBAL is suffocating
    fatal_message = $ON_VESSEL$KERBAL suffocated to death
    relax_message = $ON_VESSEL$KERBAL is breathing again
  }

  Rule
  {
    name = co2 poisoning
    degeneration = 0.0005555 // 30 minutes
    modifier = poisoning,breathable
    warning_message = $ON_VESSEL$KERBAL's head feels light
    danger_message = $ON_VESSEL$KERBAL seem unable to breath properly
    fatal_message = $ON_VESSEL$KERBAL died of co2 poisoning
    relax_message = $ON_VESSEL$KERBAL is breathing again
  }

  Rule
  {
    name = stress
    degeneration = 0.00000000463 // 10000 days
    variance = 0.33 // add per-kerbal variance
    modifier = living_space,comfort,pressure
    breakdown = true // trigger breakdown event instead of death
    warning_message = $ON_VESSEL$KERBAL is losing $HIS_HER mind@<i>Concentration is becoming a problem</i>
    danger_message = $ON_VESSEL$KERBAL is about to breakdown@<i>Starting to hear voices</i>
    relax_message = $ON_VESSEL$KERBAL is thinking straight now@<i>Let's do it again!</i>
  }

  Rule
  {
    name = radiation
    degeneration = 1.0 // just use the modifier
    variance = 0.1 // add per-kerbal variance
    modifier = radiation,shielding
    warning_threshold = 25.0
    danger_threshold = 37.5
    fatal_threshold = 50.0
    warning_message = $ON_VESSEL$KERBAL has been exposed to intense radiation
    danger_message = $ON_VESSEL$KERBAL is reporting symptoms of radiation poisoning
    fatal_message = $ON_VESSEL$KERBAL died after being exposed to extreme radiation
    relax_message = $ON_VESSEL$KERBAL has recovered from radiation exposure
  }

  // convention: 1 capacity = enough to scrub output of 1 crew memeber
  Process
  {
    name = scrubber
    modifier = _Scrubber
    input = [email protected]
    input = [email protected]
    output = [email protected]
  }

  // convention: 1 capacity = enough to compensate for leaks in 70 m^2 surface (a cube of 40 m^3 volume)
  Process
  {
    name = pressure control
    modifier = _PressureControl
    input = [email protected]
	// lesser Atmo Leaks
    //input = [email protected]
    //output = [email protected]
	input = [email protected]
    output = [email protected]
    dump = false
  }

  // convention: 1 capacity = enough to recycle output of 1 crew member
  Process
  {
    name = water recycler
    modifier = _WaterRecycler
    input = [email protected]
	// 24h Day
    //input = [email protected]
    //output = [email protected]
    //output = [email protected]
	input = [email protected]
    output = [email protected]
    output = [email protected]
  }

  
  // convention: 1 capacity = enough to process output of 1 crew member
  Process
  {
    name = waste processor
    modifier = _WasteProcessor
    input = [email protected]
	// 24h Day
    //input = [email protected]
    //output = Ammonia@0,05463
	input = [email protected]
    output = [email protected]
  }
  
  Process
  {
    name = atmo leaks
	//modifier = surface,breathable
    modifier = surface,breathable,shielding
    //input = [email protected] --> to high
	input = [email protected]
  }

  Process
  {
    name = fuel cell
    modifier = _FuelCell
    input = [email protected]
    input = [email protected]
    output = [email protected]
    output = [email protected]
  }

  Process
  {
    name = water electrolysis
    modifier = _WaterElectrolysis
    input = [email protected]
    input = [email protected]
    output = [email protected]
    output = [email protected]
  }

  Process
  {
    name = sabatier process
    modifier = _Sabatier
    input = [email protected]
    input = [email protected]
    input = [email protected]
    output = [email protected]
    output = [email protected] // ([email protected])
  }

  Process
  {
    name = haber process
    modifier = _Haber
    input = [email protected]
    input = [email protected]
    output = [email protected]
  }

  Process
  {
    name = anthraquinone process
    modifier = _Anthraquinone
    input = [email protected]
    input = [email protected]
    output = [email protected] // ([email protected])
  }

  Process
  {
    name = hydrazine production
    modifier = _HydrazineProduction
    input = [email protected]
    input = [email protected] // ([email protected])
    output = [email protected]
    output = [email protected] // ([email protected])
  }

  Process
  {
    name = solid oxide electrolysis
    modifier = _SOE
    input = [email protected]
    input = [email protected]
    output = [email protected]
    // [email protected] is wasted
  }

  Process
  {
    name = molten regolith electrolysis
    modifier = _MRE
    input = [email protected]
    input = [email protected]
    output = [email protected]
  }
}


// ============================================================================
// Add configurable Life Support System to all manned parts
// ============================================================================

@PART[*]:HAS[#CrewCapacity[>0]]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  MODULE
  {
    name = ProcessController
    resource = _Scrubber
    title = Scrubber
    capacity = #$../CrewCapacity$
    running = true
  }

  MODULE
  {
    name = ProcessController
    resource = _PressureControl
    title = Pressure control
    capacity = #$../CrewCapacity$
    running = true
  }

  MODULE
  {
    name = ProcessController
    resource = _WaterRecycler
    title = Water recycler
    capacity = #$../CrewCapacity$
    running = true
  }

  MODULE
  {
    name = ProcessController
    resource = _WasteProcessor
    title = Waste processor
    capacity = #$../CrewCapacity$
    running = true
  }
  
  @MODULE[ProcessController],*
  {
    @capacity *= 1.67
  }

  MODULE
  {
    name = Configure
    title = Pod
    slots = 2

    SETUP
    {
      name = Scrubber
      desc = Sequester <b>CarbonDioxide</b> from the internal atmosphere.
      mass = 0.01
      cost = 250

      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _Scrubber
      }
    }

    SETUP
    {
      name = Pressure Control
      desc = Use <b>Nitrogen</b> to maintain the internal atmosphere at a comfortable pressure.
      tech = engineering101
      mass = 0.01
      cost = 250

      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _PressureControl
      }

      RESOURCE
      {
        name = Nitrogen
        amount = 10000
        maxAmount = 10000
      }
    }

    SETUP
    {
      name = Water Recycler
      desc = Filter impurities out of <b>WasteWater</b>.
      tech = spaceExploration
      mass = 0.05
      cost = 500


      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _WaterRecycler
      }

      RESOURCE
      {
        name = WasteWater
        amount = 0
        maxAmount = 5
      }
    }

    SETUP
    {
      name = Waste Processor
      desc = Extract <b>Ammonia</b> out of decomposing organic waste.
      tech = advExploration
      mass = 0.05
      cost = 500

      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _WasteProcessor
      }

      RESOURCE
      {
        name = Waste
        amount = 0
        maxAmount = 5
      }
    }
  }

  MODULE:NEEDS[FeatureReliability]
  {
    name = Reliability
    type = ProcessController
    title = ECLSS
    redundancy = Life Support
    repair = true // anyone
    mtbf = 252288000 // 8y
    extra_cost = 2.5
    extra_mass = 0.1
  }
}

// tweak number of slots
@PART[MK1CrewCabin|Mark2Cockpit|cupola]:NEEDS[ProfileDefault]:FOR[Kerbalism] { @MODULE[Configure] { @slots = 1 } }
@PART[mk3Cockpit_Shuttle]:NEEDS[ProfileDefault]:FOR[Kerbalism] { @MODULE[Configure] { @slots = 3 } }


// ============================================================================
// Add scrubber process to EVA kerbals
// ============================================================================
@PART[kerbalEVA,kerbalEVAfemale]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  MODULE
  {
    name = ProcessController
    resource = _Scrubber
    title = Scrubber
    capacity = 1.0
    toggle = true
    running = true
  }
}

// ============================================================================
// Add configurable supplies to inline containers
// ============================================================================

@PART[kerbalism-container-inline-*]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  MODULE
  {
    name = Configure
    title = Supply Container
    slots = 1

    SETUP
    {
      name = Supplies
      desc = Store a balanced supply of <b>Food</b> and <b>Water</b>.

      RESOURCE
      {
        name = Food
        amount = 0.7224224
        maxAmount = 0.7224224
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }

      RESOURCE
      {
        name = Water
        amount = 0.2775776
        maxAmount = 0.2775776
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Waste
      desc = Store solid and liquid organic waste.

      RESOURCE
      {
        name = Waste
        amount = 0
        maxAmount = 0.4949706
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }

      RESOURCE
      {
        name = WasteWater
        amount = 0
        maxAmount = 0.5050294
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Food

      RESOURCE
      {
        name = Food
        amount = 1
        maxAmount = 1
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Water

      RESOURCE
      {
        name = Water
        amount = 1
        maxAmount = 1
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }
  }
}


// ============================================================================
// Add configurable supplies to radial containers
// ============================================================================

@PART[kerbalism-container-radial-*]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  MODULE
  {
    name = Configure
    title = Pressurized Tank
    slots = 1

    SETUP
    {
      name = Oxygen
      desc = Store liquid oxygen

      RESOURCE
      {
        name = Oxygen
        amount = 809.22
        maxAmount = 809.22
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Nitrogen
      desc = Store liquid nitrogen

      RESOURCE
      {
        name = Nitrogen
        amount = 659.4
        maxAmount = 659.4
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Hydrogen
      desc = Store liquid hydrogen

      RESOURCE
      {
        name = Hydrogen
        amount = 788.1
        maxAmount = 788.1
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = Ammonia
      desc = Store liquid ammonia

      RESOURCE
      {
        name = Ammonia
        amount = 913.0
        maxAmount = 913.0
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }

    SETUP
    {
      name = CarbonDioxide
      desc = Store liquid co2

      RESOURCE
      {
        name = CarbonDioxide
        amount = 0
        maxAmount = 601.36
        @amount *= #$../../../ContainerVolume$
        @maxAmount *= #$../../../ContainerVolume$
      }
    }
  }
}


// ============================================================================
// Setup greenhouse
// ============================================================================

@PART[kerbalism-greenhouse]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  MODULE
  {
    name = Greenhouse

    crop_resource = Food                // name of resource produced by harvests
	// 24h Day
    crop_size = 750.0                  // amount of resource produced by harvests
    crop_rate = 0.00000023148           // growth per-second when all conditions apply
    ec_rate = 2.5                       // EC/s consumed by the lamp at max intensity

    light_tolerance = 400.0             // minimum lighting flux required for growth, in W/m^2
    pressure_tolerance = 0.1            // minimum pressure required for growth, in sea level atmospheres
    radiation_tolerance = 0.000004333   // maximum radiation allowed for growth in rad/s, considered after shielding is applied

    lamps = Cylinder001                 // object with emissive texture used to represent lamp intensity graphically
    shutters = door                     // animation to manipulate shutters
    plants =                            // animation to represent plant growth graphically

    INPUT_RESOURCE
    {
      name = Ammonia
      rate = 0.00695                    // 37530 units required for crop
    }

    INPUT_RESOURCE
    {
      name = Water
      rate = 0.00023148                 // 1250 units required for crop
    }

    OUTPUT_RESOURCE
    {
      name = Oxygen
      rate = 0.00463                    // 25% of oxygen required by 1 crew member
    }

    OUTPUT_RESOURCE
    {
      name = WasteWater
      rate = 0.00023033
    }
  }

  MODULE
  {
    name = Habitat
    toggle = false
  }
  
  MODULE
  {
    name = ProcessController
    resource = _PressureControl
    title = Pressure control
    capacity = 0.2143
    running = true
  }

  RESOURCE
  {
    name = Waste
    amount = 0
    maxAmount = 10
  }

  RESOURCE
  {
    name = Ammonia
    amount = 1000
    maxAmount = 1000
  }
}


// ============================================================================
// Fuel cells
// ============================================================================

@PART[FuelCell]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  !MODULE[ModuleResourceConverter] {}
  !RESOURCE[ElectricCharge] {}

  MODULE
  {
    name = ProcessController
    resource = _FuelCell
    title = Fuel cell
    capacity = 1
  }

  MODULE:NEEDS[FeatureReliability]
  {
    name = Reliability
    type = ProcessController
    title = Fuel Cell
    redundancy = Power Generation
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 1.0
    extra_mass = 0.5
  }

  @TechRequired = basicScience
}

@PART[FuelCellArray]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  !MODULE[ModuleResourceConverter] {}
  !RESOURCE[ElectricCharge] {}

  MODULE
  {
    name = ProcessController
    resource = _FuelCell
    title = Fuel cell
    capacity = 6
  }

  MODULE:NEEDS[FeatureReliability]
  {
    name = Reliability
    type = ProcessController
    title = Fuel Cell
    redundancy = Power Generation
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 1.0
    extra_mass = 0.5
  }
}


// ============================================================================
// ISRU chemical plants
// ============================================================================

@PART[kerbalism-chemicalplant,MiniISRU,ISRU,smallISRU]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  !MODULE[ModuleResourceConverter]:HAS[#ConverterName[Lf+Ox]] {}  
  !MODULE[ModuleResourceConverter]:HAS[#ConverterName[LiquidFuel]] {}
  !MODULE[ModuleResourceConverter]:HAS[#ConverterName[Oxidizer]] {}
  !MODULE[ModuleResourceConverter]:HAS[#ConverterName[Monoprop]] {}
  !MODULE[ModuleResourceConverter]:HAS[#ConverterName[MonoPropellant]] {}
  !MODULE[ModuleOverheatDisplay] {}
  !MODULE[ModuleCoreHeat] {}

  MODULE
  {
    name = ProcessController
    resource = _WaterElectrolysis
    title = Water electrolysis
    capacity = 1
  }

  MODULE
  {
    name = ProcessController
    resource = _Sabatier
    title = Sabatier process
    capacity = 1
  }

  MODULE
  {
    name = ProcessController
    resource = _Haber
    title = Haber process
    capacity = 1
  }

  MODULE
  {
    name = ProcessController
    resource = _Anthraquinone
    title = Anthraquinone process
    capacity = 1
  }

  MODULE
  {
    name = ProcessController
    resource = _HydrazineProduction
    title = Hydrazine production
    capacity = 1
  }

  MODULE
  {
    name = ProcessController
    resource = _MRE
    title = MRE
    capacity = 1
  }

  MODULE
  {
    name = ProcessController
    resource = _SOE
    title = SOE
    capacity = 1
  }

  MODULE
  {
    name = Configure
    title = Chemical Plant
    slots = 1

    SETUP
    {
      name = Water Electrolysis

      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _WaterElectrolysis
      }
    }

    SETUP
    {
      name = Sabatier Process

      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _Sabatier
      }
    }

    SETUP
    {
      name = Haber Process

      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _Haber
      }
    }

    SETUP
    {
      name = Anthraquinone Process
      tech = advScienceTech

      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _Anthraquinone
      }
    }

    SETUP
    {
      name = Hydrazine Production
      tech = advScienceTech

      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _HydrazineProduction
      }
    }

    SETUP
    {
      name = Solid Oxide Electrolysis
      desc = Transform <b>CarbonDioxide</b> into <b>Oxygen</b>.
      tech = experimentalScience

      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _SOE
      }
    }

    SETUP
    {
      name = Molten Regolith Electrolysis
      desc = Extract <b>Oxygen</b> out of <b>Ore</b>.
      tech = experimentalScience

      MODULE
      {
        type = ProcessController
        id_field = resource
        id_value = _MRE
      }
    }
  }

  MODULE:NEEDS[FeatureReliability]
  {
    name = Reliability
    type = ProcessController
    title = Chemical Plant
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 1.0
    extra_mass = 0.2
  }
}

@PART[MiniISRU]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  @MODULE[ProcessController],*
  {
    @capacity *= 3.3
  }
}

@PART[ISRU]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  @MODULE[ProcessController],*
  {
    @capacity *= 5.0
  }

  @MODULE[Configure]
  {
    %slots = 2
  }
}

@PART[smallISRU]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  @MODULE[ProcessController],*
  {
    @capacity *= 2.0
  }
}


// ============================================================================
// ISRU drills
// ============================================================================

@PART[MiniDrill,RadialDrill]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  !MODULE[ModuleResourceHarvester] {}
  !MODULE[ModuleOverheatDisplay] {}
  !MODULE[ModuleCoreHeat] {}

  MODULE
  {
    name = Harvester
    title = Water Extraction
    drill = ImpactTransform
    type = 0
    resource = Water
    min_abundance = 0.01
    rate = 0.0005
    ec_rate = 1.0
  }

  MODULE
  {
    name = Harvester
    title = Ore Extraction
    drill = ImpactTransform
    type = 0
    resource = Ore
    min_abundance = 0.05
    rate = 0.0025
    ec_rate = 1.0
  }

  MODULE
  {
    name = Configure
    title = Drill
    slots = 1

    SETUP
    {
      name = Water Extraction
      desc = Extract <b>Water</b> from the surface.

      MODULE
      {
        type = Harvester
        id_field = resource
        id_value = Water
      }

      RESOURCE
      {
        name = Water
        amount = 0
        maxAmount = 50
      }
    }

    SETUP
    {
      name = Ore Extraction
      desc = Extract <b>Ore</b> from the surface.

      MODULE
      {
        type = Harvester
        id_field = resource
        id_value = Ore
      }

      RESOURCE
      {
        name = Ore
        amount = 0
        maxAmount = 50
      }
    }
  }

  MODULE:NEEDS[FeatureReliability]
  {
    name = Reliability
    type = Harvester
    title = Harvester
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 1.0
    extra_mass = 0.2
  }
}
@PART[RadialDrill]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  @MODULE[Harvester],*
  {
    @rate *= 5
    @ec_rate *= 5
  }
}


// ============================================================================
// atmospheric harvester
// the atmospheric experiment part is used as an atmospheric harvester
// ============================================================================

@PART[sensorAtmosphere]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
  MODULE
  {
    name = Harvester
    title = CO2 Filter
    type = 2
    resource = CarbonDioxide
    min_abundance = 0.005
    min_pressure = 4.0
    rate = 0.2
    ec_rate = 0.5
  }

  MODULE
  {
    name = Harvester
    title = Oxygen Filter
    type = 2
    resource = Oxygen
    min_abundance = 0.02
    min_pressure = 5.0
    rate = 0.25
    ec_rate = 0.5
  }

  MODULE
  {
    name = Harvester
    title = Nitrogen Filter
    type = 2
    resource = Nitrogen
    min_abundance = 0.01
    min_pressure = 2.0
    rate = 0.35
    ec_rate = 0.5
  }

  MODULE
  {
    name = Configure
    title = Atmospheric Filter
    slots = 1

    SETUP
    {
      name = CO2 Filter
      desc = Extract <b>CO2</b> from the atmosphere.

      MODULE
      {
        type = Harvester
        id_field = resource
        id_value = CarbonDioxide
      }
    }

    SETUP
    {
      name = Oxygen Filter
      desc = Extract <b>Oxygen</b> from the atmosphere.

      MODULE
      {
        type = Harvester
        id_field = resource
        id_value = Oxygen
      }
    }

    SETUP
    {
      name = Nitrogen Filter
      desc = Extract <b>Nitrogen</b> from the atmosphere.

      MODULE
      {
        type = Harvester
        id_field = resource
        id_value = Nitrogen
      }
    }
  }

  MODULE:NEEDS[FeatureReliability]
  {
    name = Reliability
    type = Harvester
    title = Harvester
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 1.0
    extra_mass = 0.5
  }

  @mass = 0.2
}


// ============================================================================
// Pseudo-resources used by processes
// ============================================================================

RESOURCE_DEFINITION
{
  name = _Scrubber
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _PressureControl
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _WaterRecycler
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _WasteProcessor
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _FuelCell
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _WaterElectrolysis
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _Sabatier
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _Haber
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _Anthraquinone
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _HydrazineProduction
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _SOE
  density = 0.0
  isVisible = false
}

RESOURCE_DEFINITION
{
  name = _MRE
  density = 0.0
  isVisible = false
}

The reliability were changed to (four times higher). Here is the config (Reliability.cfg):

// ============================================================================
// Add Reliability module to supported parts
// ============================================================================

@PART[*]:HAS[@MODULE[ModuleDeployableSolarPanel]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleDeployableSolarPanel
    title = Solar Panel
    redundancy = Power Generation
    repair = true
    mtbf = 126144000 // 4y
    extra_cost = 2.5
    extra_mass = 1.0
  }
}

@PART[*]:HAS[@MODULE[ModuleReactionWheel],!MODULE[ModuleCommand]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleReactionWheel
    title = Reaction Wheel
    redundancy = Attitude Control
    repair = true
    mtbf = 126144000 // 4y
    extra_cost = 2.5
    extra_mass = 1.0
  }
}

@PART[*]:HAS[@MODULE[ModuleReactionWheel],@MODULE[ModuleCommand]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleReactionWheel
    title = Reaction Wheel
    redundancy = Attitude Control
    repair = true
    mtbf = 126144000 // 4y
    extra_cost = 0.25
    extra_mass = 0.15
  }
}

@PART[*]:HAS[@MODULE[ModuleRCSFX]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleRCSFX
    title = RCS
    redundancy = Attitude Control
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 2.0
    extra_mass = 1.0
  }
}

@PART[*]:HAS[@MODULE[ModuleLight]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleLight
    title = Light
    repair = true // anyone
    mtbf = 126144000 // 4y
    extra_cost = 5.0
    extra_mass = 1.0
  }
}

@PART[*]:HAS[@MODULE[ModuleParachute]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleParachute
    title = Parachute
    redundancy = Landing
    repair = true // anyone
    mtbf = 252288000 // 8y
    extra_cost = 2.5
    extra_mass = 0.5
  }
}

@PART[*]:HAS[@MODULE[ModuleEngines]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleEngines
    title = Engine
    redundancy = Propulsion
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 1.0
    extra_mass = 0.1
  }
}


@PART[*]:HAS[@MODULE[ModuleEnginesFX]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleEnginesFX
    title = Engine
    redundancy = Propulsion
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 1.0
    extra_mass = 0.1
  }
}

@PART[*]:HAS[@MODULE[ModuleDeployableRadiator]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleDeployableRadiator
    title = Radiator
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 2.0
    extra_mass = 0.5
  }
}

@PART[*]:HAS[@MODULE[ModuleActiveRadiator]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleActiveRadiator
    title = Radiator
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 2.0
    extra_mass = 0.5
  }
}


@PART[*]:HAS[@MODULE[ModuleResourceConverter]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleResourceConverter
    title = Converter
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 1.0
    extra_mass = 0.2
    @extra_mass *= 0.2
  }
}

@PART[*]:HAS[@MODULE[ModuleResourceHarvester]]:NEEDS[FeatureReliability]:FOR[Kerbalism]
{
  MODULE
  {
    name = Reliability
    type = ModuleResourceHarvester
    title = Harvester
    repair = Engineer
    mtbf = 252288000 // 8y
    extra_cost = 1.0
    extra_mass = 0.2
  }
}

 

My next step is, to play a litte bit with the ratiation model of the planets. The goal is, to have the same as in the real Solar System.

 

Edited by schrema
Link to comment
Share on other sites

On 2/14/2017 at 2:22 PM, DavidHunter said:

I just came here to request that you increased the resources for EVA Kerbals being rescued. Glad to see you've literally just made that fix. Well done and thanks! :D

And much better now. Thanks a heap. :)

PS Great mod.

Link to comment
Share on other sites

18 hours ago, bpilgrim said:

The waste processor uses Waste to produce ammonia, which contains nitrogen. Is there a chemical process that can extract the nitrogen from ammonia? Five minutes of Googling didn't turn up anything for me, but I'm sure one exists. Perhaps it could be added to the chemical plant.

Of course, then you may have to choose between fertilizing your greenhouse and pressurizing your craft...

I can't think of a reason why this wouldn't be possible. I don't claim to be an expert on the subject by any means, but from what I remember from my environmental sciences, part of the nitrogen cycle includes bacteria that converts waste nitrogen back into nitrogen gas and releases it into the atmosphere. I'm betting no one has developed an artificial means of reproducing this process simply because nitrogen is so abundant on Earth that there is no reason to. I suppose,could you simply add a "fictional" process to the chemical plant to simulate this?

 

Edited by kananesgi
Link to comment
Share on other sites

13 minutes ago, 影之瑒 said:

I wanna ask two quastions for this mod:

1st: I don't see The magnetic field in any planet ,is it invisible? And I can't feel the space weather,what happen?

2ed:Does this Mod support other solar system? such as RO/RSS, kerbal star system , GPP etc.

I don't know about RSS but I do know KSS is not supported yet and GPP will be fully supported in the upcoming version. 

Link to comment
Share on other sites

12 minutes ago, 影之瑒 said:

1st: I don't see The magnetic field in any planet ,is it invisible? And I can't feel the space weather,what happen?

You can see the field and belts in the map, simply press B to open a menu that allows you to toggle them.

Storms happen every 100 to 400 in-game days.

Link to comment
Share on other sites

5 hours ago, leomike said:

You can see the field and belts in the map, simply press B to open a menu that allows you to toggle them.

Storms happen every 100 to 400 in-game days.

THX:D,but How can I realize that space wheather coming and how does it influence the vessel ?

Link to comment
Share on other sites

@影之瑒 When there is a CME you will get a warning ahead of time (how long ahead depends on how far the affected planet or vessel is). Vessels inside a menopause will lose signal to the KSC, vessels outside will receive a massive amount of radiation (potentially killing the crew, especially if no shielding is used).

Link to comment
Share on other sites

@ShotgunNinja

I just got started building my first large scale Space Station. Up until now I have only been using small one-pod crafts to fly around.

It seems to me that crafts loose way way too much Atmosphere all the time. I did some calculations and realized that you loose approximatelly 3KG of Nitrogen every kerbal-day for a craft that is 40m3 (that is what is supported by a single Pressure Control module).

To put that into real-world perspective, that would be similar to the ISS loosing 275kg of air every day!

 

Is this really intended? I understand that you may have balanced it around having some need of Nitrogen for smaller crafts as well, but when building larger stations (More then a 100m3) it suddenly seems very overkill, especially as there are no way to recycle it in space.

 

I'd think a better way of doing Nitrogen and Atmosphere would be to have a very low base loss of Atmosphere, but instead integrate it into the reliability system, and allowing for repairs. This would still force you to bring nitrogen for long trips, without being quite as punishing on large stations.

Link to comment
Share on other sites

3 hours ago, nosscire said:

It seems to me that crafts loose way way too much Atmosphere all the time.

The pressure control modules are not always running at capacity, so it's not quite using nitrogen that fast necessarily. But I agree with you on the leak rate being too high for stations. I just went into the configs and cut the atmosphere leak process's rate by 5-fold (remember, these numbers are all educated guesses) and that makes things quite reasonable. In fact, I submit that that should go in as a balance update to the actual mod.

Link to comment
Share on other sites

9 hours ago, podbaydoor said:

The pressure control modules are not always running at capacity, so it's not quite using nitrogen that fast necessarily. But I agree with you on the leak rate being too high for stations. I just went into the configs and cut the atmosphere leak process's rate by 5-fold (remember, these numbers are all educated guesses) and that makes things quite reasonable. In fact, I submit that that should go in as a balance update to the actual mod.

Actually, if you have a craft that is 40m3 pressurized volume, the pressure control modules do run at full capacity. If your craft is smaller then that, then it looses less atmo, if it's larger it looses more and the pressure control module can't keep up.

I think it will be difficult to balance the way it's implemented overall. Because the way it scales with size of your habitats, you end up either having no issues with Nitrogen at all for small crafts, or having to constantly bring in more for large crafts (such as space and planetary stations).

If the reliability system could also be updated not not only disable systems as they fail, but also include leaks, this gameplay could be made much more interesting. You would have a very low base rate of Nitrogen loss, but actual leaks can develop that you need to take care of.

Link to comment
Share on other sites

Hello, i just tried this mod, and seem to have a bug:

 

the energy generation of my solar panels doesnt seem to be calculated by the mod. my probes and stations continue to run out of EC when unloaded, and therefor generate many warning-messages

is there a fix for this?

Link to comment
Share on other sites

1 hour ago, Athur Dent said:

Hello, i just tried this mod, and seem to have a bug:

 

the energy generation of my solar panels doesnt seem to be calculated by the mod. my probes and stations continue to run out of EC when unloaded, and therefor generate many warning-messages

is there a fix for this?

They they still facing the sun?

Link to comment
Share on other sites

Howdy.

I've been using Kerbalism for a while now (about a month or two) under KSP v1.2.2 on Windows (64-bit).

I've had capsules working fine and have had Kerbals on-orbit for a few months (in-game time) without issues with life support requirements.

In the last week, for some reason, the CO2 scrubbers don't seem to be working. I've currently got a craft based on the stock three-person Mk 2 Command Pod, and even though the scrubber is turned on (both in-flight and in the VAB), the Kerbalism read-outs in the lower-right corner in the VAB show inadequate scrubbing, and after a few days on-orbit, CO2 levels increase and the Kerbals all die.

For the first time, I used the CO2 air filter part last night, but a) that didn't help at all, and b) if that part was intended for scrubbing CO2, why was I able to have Kerbals stay on-orbit for months up until a week ago?

An interesting side-note is that my pre-existing space station is perfectly fine - there are no issues with the scrubbers at all. I just can't launch anything new...

Any suggestions on what might be the cause/fix for this please?

 

Thanks. :)

 

UPDATE: I just right-clicked on the pod in the VAB, clicked on Configure, and switched the scrubber to something else, and then back to scrubber again, and now the indicator in the lower-right corner of the VAB screen is showing 'Good' for scrubbing CO2. About to do a test-flight but presumably it's now working. Seems like a glitch?

Edited by DavidHunter
Added last line of text.
Link to comment
Share on other sites

Guys, first of all I apologize for the scrubber rebalance mess in last update. It just slipped... Kerbals died, but that's okay: we can buy other ones.

On 2/16/2017 at 5:47 AM, leomike said:

One thing I was wondering though, is it possible to have the lab behave similarly to stock? Right now a station around the Mun or Minmus is not very useful useful since it seems like the lab simply allows you to get the science earlier, not new science.

I've considered simply adding back the old ModuleScienceLab, but I don't believe it's supported by the background processing or the new science containers

Hey! Thanks. the stock lab is supported in planner/background. However, it doesn't work with the HardDrive. That's why I had to implement my own. The only way to get back to the stock lab is to disable Science, setting Science=false in settings.

@kananesgi Nice :) 

 

Link to comment
Share on other sites

8 hours ago, DavidHunter said:

...

In the last week, for some reason, the CO2 scrubbers don't seem to be working. ...

Hi, had the same issue after updating Kerbalism to 1.1.9, the post below gives the rationale of the issue:

On 14/2/2017 at 5:10 AM, podbaydoor said:

Yes, in 1.1.9 the capacity of processes (scrubbers, waste processors, pressurizers) scales with the crew capacity of the part that it's set up on. So for every crew slot on a part, the part's processors cover 5/3 of a Kerbal. The old values were fixed so that a processor always covered 4 kerbals, but people who had big part mods were running into trouble. I ran into the exact same problem as you did and I assumed it was because the capacity of the scrubbers is hardcoded in the save file, and the old 1x capacity scrubbers you have on your vessels now only clears enough COfor one Kerbal. Just as I was testing some fixes, it turned out restarting the game fixed it for me. If that voodoo solution fails, you can edit the "amount" of the _Scrubber pseudo-resources in your save.

Unfortunately only newly built vessels have parts set with the new values. Already existing vessels are not updated, scrubbers and pressure control still were set to a value = 1 with all parts. To salvage my ongoing game, I had to manually edit all parts in the savegame to match the "5/3 x crew capacity" value.

 

Link to comment
Share on other sites

@Daniel Prates I appreciate the feedback and brainstorming. I have no time for an articulate answer, but in short: I tried everything you mention, either conceptually or practically, and there was always some reason to not implement it / discard it. In future I may change how it work

@schrema Thank you so much for both the US patch and the 24h profile.

On 2/17/2017 at 10:21 AM, schrema said:

Unfortunately, all rates in the planer, monitor and parts are shown in stock time. Found no way to change this in the profile.

It should use 24h days if that is set in the game config. Isn't that working?

@DavidHunter I am interested, PM me.

@podbaydoor I agree, let's try 80% reduction in next release.

On 2/19/2017 at 4:55 PM, nosscire said:

If the reliability system could also be updated not not only disable systems as they fail, but also include leaks, this gameplay could be made much more interesting. You would have a very low base rate of Nitrogen loss, but actual leaks can develop that you need to take care of.

That would be impossible to implement with the current incarnation of Reliability. If it ever get rewritten, I'll totally consider this.

12 hours ago, Athur Dent said:

Hello, i just tried this mod, and seem to have a bug:

 

the energy generation of my solar panels doesnt seem to be calculated by the mod. my probes and stations continue to run out of EC when unloaded, and therefor generate many warning-messages

is there a fix for this?

Can you provide me: the log file (KSP/KSP.log), the savegame (KSP/savegame/{yoursavename}/persistent.sfs), anything else you think is useful.

8 hours ago, DavidHunter said:

I just right-clicked on the pod in the VAB, clicked on Configure, and switched the scrubber to something else, and then back to scrubber again, and now the indicator in the lower-right corner of the VAB screen is showing 'Good' for scrubbing CO2. About to do a test-flight but presumably it's now working. Seems like a glitch?

Sorry, that is due to me changing how much a '_Scrubber' unit is worth in terms of 'scrubbing power'. Vessels saved in the VAB in versions prior to 1.1.9 will have the wrong amount. Reconfiguring fix it to the right amount.

Link to comment
Share on other sites

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