Jump to content

[1.3.0] Kerbalism v1.2.9


ShotgunNinja

Recommended Posts

@Toonu I want to keep the profiles shipped to a minimum, to minimize maintenance. Of course anybody is welcome to create and distribute profiles. The current/planned ones all have a rationale behind:

  • Default: show all features and mechanics
  • Barebone: for those that only want quality-of-life mechanic
  • Snacks: a simple life-support profile, here to showcase how simple it is to make one
  • TAC-LS: a complex life-support profile, here to showcase the flexibility of this system
  • Realism: for those that want water and mass-conservation
Link to comment
Share on other sites

Oh, ok, so I will be able to make config and support UKS LS? Great, but I ment pull request to MKS more than just profile. But ok, thx for fast reply and good luck with configs, I know how hard is to test it thousand times :D Maybe make TAC-LS/Snacks/UKS LS profile together and just make it automaticaly choose Life Support mod?

I will try later make one profile, but nothing promise....

Ave! Toonu

Edited by Toonu
Link to comment
Share on other sites

@Joe12473 I found the reason you didn't get a Default.cfg profile... the good guys at CKAN did all the hard work for me and splitted Kerbalism and Kerbalims Default Profile in two separed CKAN packages.

 

@ToukieToucan No need to delete Malfunction.cfg, instead edit Profiles/Default.cfg and comment out the line that enables malfunction, like this:

// comment this line, like this:
// @Settings:FOR[EnableMalfunction] {} 

 

Edited by ShotgunNinja
Link to comment
Share on other sites

2 hours ago, ShotgunNinja said:

@RattiRatto, @Toonu Yep :) That was one of my wildest dreams too ah!

 

@Barrin I've found an use case for a Recycler module: enabling/disabling it in the editor (with planner EC estimates taking its on/off state in consideration). I'm going to include your profile in 0.9.9.7, when I add that. I want to make recyclers first-class citizens first, so to speak. The only change I'm going to make is to lower the EC consumption of the water filter, and maybe the conversion rates too.

I'm going to include a TAC emulation profile too, in 0.9.9.7. I'm starting from the work @Rhedd did a few days/pages ago.

 

 

For references, these are the two profiles as of now if anybody want to give some feedback or contribute some changes before 0.9.9.7 hit:

Realism profile:

  Reveal hidden contents


// This profile is geared toward more realism oriented players.
// In comparison to the default profile, this one add water, has more realistic
// consumption rates, is mass-conserving and provide a water recycler in pods.
// Special thanks to Barrin


// ============================================================================
// ENABLE FEATURES
// ============================================================================


// comment out to disable the signal mechanic
// disabled automatically if RemoteTech or AntennaRange are detected
@Settings:FOR[EnableSignal] {}


// comment out to disable malfunctions
// disabled automatically if DangIt is detected
@Settings:FOR[EnableMalfunction] {}


// comment out to remove scrubbers from the game
@Settings:FOR[EnableScrubber] {}


// comment out to remove shielding from the game
@Settings:FOR[EnableShielding] {}


// ============================================================================
// RULES
// ============================================================================


// CLIMATE
Rule
{
  name = Climate
  resource_name = ElectricCharge
  rate = 0.0001242236 // 0.02 per-second at average temp diff in LKO
  degeneration = 0.00000345 // 30min
  on_eva = 20.0 // 16min
  on_resque = 250.0
  modifier = temperature

  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

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


// FOOD
Rule
{
  name = Food
  resource_name = Food
  waste_name = Waste
  waste_ratio = 0.36498207977208
  rate = 1.5 // 6 per-day
  interval = 5400.0 // four meals a day
  degeneration = 0.03125 // 32 meals, 8 days
  on_pod = 60.0
  on_eva = 0.0
  on_resque = 6.0

  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 has got a mouthful of snacks now

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


// WATER
Rule
{
  name = Water
  resource_name = Water
  waste_name = WasteWater
  rate = 0.75 // 3 liters per-day
  interval = 5400.0 // 4 drinks per day
  degeneration = 0.0625 // 16 drinks, 4 days
  on_pod = 30.0
  on_eva = 0.0
  on_resque = 3.0

  warning_message = $ON_VESSEL$KERBAL is thirsty
  danger_message = $ON_VESSEL$KERBAL is very dehydrated
  fatal_message = $ON_VESSEL$KERBAL died from dehydration
  relax_message = $ON_VESSEL$KERBAL has access to water again

  low_message = Water reserves are getting low on $VESSEL$NEWLINE<i>The crew wants to know if LOx is potable</i>
  empty_message = There is no more water on $VESSEL$NEWLINE<i>The crew prepare for the inevitable</i>
  refill_message = $VESSEL water reserves have been refilled$NEWLINE<i>Drinks all around</i>
}


// OXYGEN
Rule
{
  name = Oxygen
  resource_name = Oxygen
  waste_name = CarbonDioxide
  waste_ratio = 0.75
  rate = 0.025 // 540 liters of Oxygen consumed per-day
  degeneration = 0.002083333 // 8 minutes
  on_pod = 1620.0
  on_eva = 90.0 // One hour of oxygen
  on_resque = 540.0 // One day of oxygen
  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

  low_message = Oxygen reserves are dangerously low on $VESSEL$NEWLINE<i>There is mild panic among the crew</i>
  empty_message = There is no more oxygen on $VESSEL$NEWLINE<i>Everybody stop breathing</i>
  refill_message = $VESSEL oxygen reserves restored$NEWLINE<i>The crew is taking a breather</i>
}


// QUALITY OF LIFE
Rule
{
  name = Stress
  degeneration = 0.00000086805 // 60 days
  variance = 0.33 // add per-kerbal variance
  modifier = qol
  breakdown = true // trigger breakdown event instead of death

  warning_message = $ON_VESSEL$KERBAL is losing $HIS_HER mind$NEWLINE<i>Concentration is becoming a problem</i>
  danger_message = $ON_VESSEL$KERBAL is about to breakdown$NEWLINE<i>Starting to hear voices</i>
  // no fatal_message because breakdown message is generated automatically
  // no relax_message because there is no recovery from stress
}


// RADIATION POISONING
Rule
{
  name = Radiation
  degeneration = 1.0 // just use the modifier
  modifier = radiation

  warning_threshold = 15.0 // in rad
  danger_threshold = 22.5 // in rad
  fatal_threshold = 30.0 // in rad

  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
  // no relax_message because there is no recovery from radiation
}


// ============================================================================
// Customize resource containers
// ============================================================================


@PART[kerbalism-food-*]
{
  @RESOURCE[Food]
  {
    @name = Food
    @amount *= 0.6
    @maxAmount *= 0.6
  }
}


@PART[kerbalism-oxygen-*|RadialOxygenBig]
{
  @RESOURCE[Oxygen]
  {
    @name = Oxygen
    @amount *= 0.54
    @maxAmount *= 0.54
  }
}


// ============================================================================
// Add scrubbers and water recyclers to command pods
// ============================================================================


@PART[*]:HAS[@MODULE[ModuleCommand],#CrewCapacity[>0]]
{
  MODULE
  {
    name = Scrubber

    // change scrubbed resource
    resource_name = Oxygen

    // change waste name
    waste_name = CarbonDioxide

    // change ec/s per-crew
    ec_rate = 0.01
    @ec_rate *= #$/CrewCapacity$

    // change waste/s per-crew
    co2_rate = 0.03
    @co2_rate *= #$/CrewCapacity$
  }
  
  
  // NOTE: this is temporary, it will be replaced by an ad-hoc Recycler module
  MODULE
  {
    name = ModuleResourceConverter
    ConverterName = Water Filtration System
    StartActionName = Start Water Filtration
    StopActionName = Stop Water Filtration
    FillAmount = 1
    AutoShutdown = true
    UseSpecializationBonus = false
    INPUT_RESOURCE
    {
      ResourceName = ElectricCharge
      Ratio = 0.05
      FlowMode = STAGE_PRIORITY_FLOW
    }
    INPUT_RESOURCE
    {
      ResourceName = WasteWater
      Ratio = 0.00023148 // recycle 5 liters per-day
      FlowMode = STAGE_PRIORITY_FLOW
    }
    OUTPUT_RESOURCE
    {
      ResourceName = Water
      Ratio = 0.00023148 // recycle 5 liters per-day
      DumpExcess = false
    }
  }
}


// ============================================================================
// Customize greenhouse
// ============================================================================


@PART[Greenhouse]
{
  @MODULE[Greenhouse]
  {
    // change food resource
    @resource_name = Food

    // change waste resource
    @waste_name = Waste

    // change ec rate for the lamps
    @ec_rate = 0.5

    // change waste rate
    @waste_rate = 0.0003041517331434 // waste/s for crew of 3

    // change harvest size
    @harvest_size = 5400.0 // food consumed for 3 crew over 300 days at 6 food per day == 5400 food

    // change growth rate
    @growth_rate = 0.00000015432 // 300 days
  }
}


// ============================================================================
// Explicitly set hidden waste resource capacity in pods
// ============================================================================


@PART[*]:HAS[#CrewCapacity[>0]]
{
  %RESOURCE[Waste] 
  { 
    %isTweakable = false
    %isVisible = false
    %maxAmount = 20.0 
    @maxAmount *= #$/CrewCapacity$
  }

  %RESOURCE[WasteWater] 
  { 
    %isTweakable = false
    %isVisible = false
    %maxAmount = 30.0 
    @maxAmount *= #$/CrewCapacity$
  }

  %RESOURCE[CarbonDioxide] 
  { 
    %isTweakable = false
    %isVisible = false
    %maxAmount = 1215.0 
    @maxAmount *= #$/CrewCapacity$
  }
}

 

 

TAC-LS emulation profile:

  Reveal hidden contents


// This profile emulate the life-support aspect of TAC-LS, while keeping the
// climate, quality-of-life and radiation of Kerbalism. You will need some
// Water containers, as there are none included in Kerbalism.
// Special thanks to Rhedd


// ============================================================================
// ENABLE FEATURES
// ============================================================================


// comment out to disable the signal mechanic
// disabled automatically if RemoteTech or AntennaRange are detected
@Settings:FOR[EnableSignal] {}


// comment out to disable malfunctions
// disabled automatically if DangIt is detected
@Settings:FOR[EnableMalfunction] {}


// comment out to remove scrubbers from the game
@Settings:FOR[EnableScrubber] {}


// comment out to remove shielding from the game
@Settings:FOR[EnableShielding] {}


// ============================================================================
// RULES
// ============================================================================


// CLIMATE
Rule
{
  name = Climate
  resource_name = ElectricCharge
  rate = 0.0001242236 // 0.02 per-second at average temp diff in LKO
  degeneration = 0.00000345 // 30min
  on_eva = 20.0 // 16min
  on_resque = 250.0
  modifier = temperature

  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

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


// OXYGEN
Rule
{
  name = Oxygen
  resource_name = Oxygen
  rate = 0.001713537562
  waste_name = CarbonDioxide
  waste_ratio = 0.864  
  degeneration = 0.002083333 // about 8 minutes
  on_pod = 112
  on_eva = 3.08 // about 30min
  on_resque = 6.0
  modifier = breathable

  warning_message = $ON_VESSEL$KERBAL can't breathe
  danger_message = $ON_VESSEL$KERBAL is suffocating
  fatal_message = $ON_VESSEL$KERBAL suffocated
  relax_message = $ON_VESSEL$KERBAL is gasping but alive

  low_message = Oxygen reserves are dangerously low on $VESSEL$NEWLINE<i>There is mild panic among the crew</i>
  empty_message = There is no more oxygen on $VESSEL$NEWLINE<i>The crew is quickly turning blue</i>
  refill_message = $VESSEL oxygen reserves restored$NEWLINE<i>The crew hopes that doesn't happen again</i>
}


// FOOD
Rule
{
  name = Food
  resource_name = Food
  rate = 0.1828125
  interval = 10800.0 // eat twice per day
  waste_name = Waste
  waste_ratio = 0.0909
  degeneration = 0.016666666 // 30 days - Accrues each time a meal is missed, so = 1/intervals per day/days
  on_pod = 1.097
  on_resque = 0.365

  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 trying not to eat everything at once

  low_message = Food reserves are getting low on $VESSEL$NEWLINE<i>Anything edible is being scrutinized</i>
  empty_message = There is no more food on $VESSEL$NEWLINE<i>The crew prepare for the inevitable</i>
  refill_message = $VESSEL food reserves restored$NEWLINE<i>It's like Thanksgiving... only freeze-dried</i>
}


// WATER
Rule
{
  name = Water
  resource_name = Water
  rate = 0.060415625
  interval = 5400.0 // use water 4 times per day
  waste_name = WasteWater
  waste_ratio = 1.0
  degeneration = 0.08333333 // 3 days - Accrues each time an interval is missed, so = 1/intervals per day/days
  on_pod = 0.7249875
  on_resque = 0.24

  warning_message = $ON_VESSEL$KERBAL is thirsty
  danger_message = $ON_VESSEL$KERBAL is dehydrated
  fatal_message = $ON_VESSEL$KERBAL died of dehydration
  relax_message = $ON_VESSEL$KERBAL thinks it's time for a bath

  low_message = Water supplies are getting low on $VESSEL$NEWLINE<i>Bathing has been reduced</i>
  empty_message = There is no more water on $VESSEL$NEWLINE<i>The crew contemplates a painful end</i>
  refill_message = $VESSEL has been resupplied with water $NEWLINE<i>Personal hygene thanks you</i>
}


// QUALITY OF LIFE
Rule
{
  name = Stress
  degeneration = 0.00000086805 // 60 days
  variance = 0.33 // add per-kerbal variance
  modifier = qol
  breakdown = true // trigger breakdown event instead of death

  warning_message = $ON_VESSEL$KERBAL is losing $HIS_HER mind$NEWLINE<i>Concentration is becoming a problem</i>
  danger_message = $ON_VESSEL$KERBAL is about to breakdown$NEWLINE<i>Starting to hear voices</i>
  // no fatal_message because breakdown message is generated automatically
  // no relax_message because there is no recovery from stress
}


// RADIATION POISONING
Rule
{
  name = Radiation
  degeneration = 1.0 // just use the modifier
  modifier = radiation

  warning_threshold = 15.0 // in rad
  danger_threshold = 22.5 // in rad
  fatal_threshold = 30.0 // in rad

  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
  // no relax_message because there is no recovery from radiation
}


// ============================================================================
// Customize resource containers
// ============================================================================


@PART[kerbalism-food-*]
{
  @RESOURCE[Food]
  {
    @name = Food
    @amount *= 0.1
    @maxAmount *= 0.1
  }
}


@PART[kerbalism-oxygen-*|RadialOxygenBig]
{
  @RESOURCE[Oxygen]
  {
    @name = Oxygen
    @amount *= 0.1
    @maxAmount *= 0.1
  }
}


// ============================================================================
// Customize greenhouse
// ============================================================================


@PART[Greenhouse]
{
  @MODULE[Greenhouse]
  {
    // change food resource
    @resource_name = Food

    // change waste resource
    @waste_name = Waste

    // change ec rate for the lamps
    @ec_rate = 0.5

    // change waste rate
    @waste_rate = 0.000004616015625 // waste/s for crew of 3

    // change harvest size
    @harvest_size = 5000.0

    // change growth rate
    @growth_rate = 0.00000015432 // 300 days
  }
}


// ============================================================================
// Provide TAC-LS, as far as ModuleManager is concerned, to unlock parts
// ============================================================================

@Settings:FOR[TacLifeSupport] {}

 

 

The profile I made also includes the MM patch to add all the resources to the pods

Spoiler


//
// Default Kerbalism profile adapted by Casper88
// Consumption rates used by TAC by   TaranisElsu
//  - @ https://docs.google.com/spreadsheets/d/1DkWf210viRSNcV8tvDv30vZ_iACj6GeY1Lf_4JdZYds/edit#gid=0
// Summary:                                                                
//                        Human         Kerbal             Density             Human                 Kerbal                 Human                 Kerbal                 Density (as stored) Human  (as stored)    Kerbal (as stored)                        
//                      kg/Earth-day    kg/Kerbin-day    kg/L                   L/Earth-day            L/Kerbin-day        L/sec                L/sec                kg/L                L/Earth-day            L/Kerbin-day             K$/L    K$/kg    K$/Earth-day    K$/Kerbin-day            
//Food                    1.64402        0.10275125        0.28102905982906    5.85                0.365625            0.000067708333333    0.000016927083333    5.85                0.365625            0.238874700854701        0.85            1.397417    0.0873385625            
//Water (consumption)    3.1966        0.1997875        1                    3.1966                0.1997875            0.000036997685185    0.000009249421296    3.1966                0.1997875            0.0008                    0.0008            0.00309328    0.00019333            
//Water (hygiene)        0.67        0.041875        1                    0.67                0.041875            0.00000775462963    0.000001938657407    0.67                0.041875            0.0008                    0.0008                
//Oxygen                0.835        0.0521875        0.00141                592.198581560284    37.0124113475177    0.00685415024954    0.001713537562385    0.3118                2.67799871712636    0.167374919820398        0.000055836        0.0396    0.033066    0.002066625    stored as compressed gas @ 0°C / 20 MPa        
//Carbon Dioxide        0.998        0.062375        0.001951            511.532547411584    31.970784213224        0.005920515595041    0.00148012889876    0.9291                1.0741577871058        0.067134861694113        0                                                stored as liquid @ 0°C / 3.67 MPa        
//Waste Water            4.94862        0.30928875        1.005                4.924                0.30775                0.000056990740741    0.000014247685185    4.924                0.30775                0                        
//Waste                    0.399        0.0249375        0.75                0.532                0.03325                0.000006157407407    0.000001539351852    0.532                0.03325                0                        
//Total                    6.34562        0.39660125        1,118.90372897187    69.9314830607417    0.012950274640878    0.00323756866022    18.9247565042322    1.18279728151451    1.43357628            0.0895985175            
//
// NB: degeneration values left as default 

// ============================================================================
// ENABLE FEATURES
// ============================================================================


// comment out to disable the signal mechanic
// disabled automatically if RemoteTech or AntennaRange are detected
@Settings:FOR[EnableSignal] {}


// comment out to disable malfunctions
// disabled automatically if DangIt is detected
@Settings:FOR[EnableMalfunction] {}


// comment out to remove scrubbers from the game
@Settings:FOR[EnableScrubber] {}


// comment out to remove shielding from the game
@Settings:FOR[EnableShielding] {}


// ============================================================================
// RULES
// ============================================================================


// CLIMATE
Rule
{
  name = Climate
  resource_name = ElectricCharge
  rate = 0.0001242236 // 0.02 per-second at average temp diff in LKO
  degeneration = 0.00000345 // 30min
  on_eva = 20.0 // 16min
  on_resque = 250.0
  modifier = temperature

  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

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


// FOOD
Rule
{
  name = Food
  resource_name = Food
  waste_name = Waste // Waste
  rate = 0.091406232 // 4 per-day
  interval = 5400.0 // 0.25 days (kerbal 6hr)
  degeneration = 0.03125 // 32 meals, 8 days
  //on_pod = 100.0
  on_eva = 0.0
  on_resque = 1.0

  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 has got a mouthful of snacks now

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


// OXYGEN
Rule
{
  name = Oxygen
  resource_name = Oxygen
  waste_name = CarbonDioxide
  rate = 0.001713537562385
  degeneration = 0.002083333 // 8 minutes
  //on_pod = 5000.0
  on_eva = 100.0 // about 30min
  on_resque = 1000.0
  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

  low_message = Oxygen reserves are dangerously low on $VESSEL$NEWLINE<i>There is mild panic among the crew</i>
  empty_message = There is no more oxygen on $VESSEL$NEWLINE<i>Everybody stop breathing</i>
  refill_message = $VESSEL oxygen reserves restored$NEWLINE<i>The crew is taking a breather</i>
}

// Water
Rule
{
  name = Water
  resource_name = Water
  waste_name = WasteWater
  rate = 0.0302078125 // 0.24 per-day      // 0.25L each time 
  interval = 2700.0 // 0.125 days // 8 times a day
  degeneration = 0.03125 // 32 meals, 8 days
  //on_pod = 5000.0
  on_eva = 0
  on_resque = 1

  warning_message = $ON_VESSEL$KERBAL has limited water
  danger_message = $ON_VESSEL$KERBAL is dehydrated
  fatal_message = $ON_VESSEL$KERBAL died from dehydration
  relax_message = $ON_VESSEL$KERBAL has quenched their thirst

  low_message = Water reserves are dangerously low on $VESSEL$NEWLINE<i>There is mild panic among the crew</i>
  empty_message = There is no more water on $VESSEL$NEWLINE
  refill_message = $VESSEL water reserves restored$NEWLINE<i>The crew is taking a shower</i>
}


// QUALITY OF LIFE
Rule
{
  name = Stress
  degeneration = 0.00000086805 // 60 days
  variance = 0.33 // add per-kerbal variance
  modifier = qol
  breakdown = true // trigger breakdown event instead of death

  warning_message = $ON_VESSEL$KERBAL is losing $HIS_HER mind$NEWLINE<i>Concentration is becoming a problem</i>
  danger_message = $ON_VESSEL$KERBAL is about to breakdown$NEWLINE<i>Starting to hear voices</i>
  // no fatal_message because breakdown message is generated automatically
  // no relax_message because there is no recovery from stress
}


// RADIATION POISONING
Rule
{
  name = Radiation
  degeneration = 1.0 // just use the modifier
  modifier = radiation

  warning_threshold = 15.0 // in rad
  danger_threshold = 22.5 // in rad
  fatal_threshold = 30.0 // in rad

  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
  // no relax_message because there is no recovery from radiation
}


// ============================================================================
// Customize resource containers
// ============================================================================


@PART[InlineFoodSmall|InlineFood125_2|InlineFoodBig|kismfoodsm]
{
  @RESOURCE[Food]
  {
    @name = Food
    @amount *= 1.0
    @maxAmount *= 1.0
  }
}


@PART[RadialOxygenSmall|RadialOxygenBig]
{
  @RESOURCE[Oxygen]
  {
    @name = Oxygen
    @amount *= 1.0
    @maxAmount *= 1.0
  }
}


// ============================================================================
// Add scrubbers to pods
// ============================================================================


@PART[*]:HAS[@MODULE[ModuleCommand],#CrewCapacity[>0],!MODULE[Scrubber]]
{
  MODULE
  {
    name = Scrubber

    // change scrubbed resource
    resource_name = Oxygen

    // change waste name
    waste_name = CarbonDioxide

    // change ec/s per-crew
    ec_rate = 0.01
    @ec_rate *= #$/CrewCapacity$

    // change waste/s per-crew
    @co2_rate = 0.04629629
    @co2_rate *= #$/CrewCapacity$
  }
}


// ============================================================================
// Customize greenhouse
// ============================================================================


@PART[Greenhouse]:HAS[!MODULE[Greenhouse]] 
{
  @MODULE[Greenhouse]
  {
    // change food resource
    @resource_name = Food

    // change waste resource
    @waste_name = Waste

    // change ec rate for the lamps
    @ec_rate = 0.5

    // change waste rate
    @waste_rate = 0.00138888 // waste/s for crew of 3

    // change harvest size
    @harvest_size = 5000.0

    // change growth rate
    @growth_rate = 0.00000015432 // 300 days
  }
}

// ============================================================================
// Capsule Resources
// ============================================================================

// Add life support resources to every command pod with crew capacity and minimum crew > 0, unless it already has Food.
// 1.5 hours 
@PART[*]:HAS[#CrewCapacity[>0],@MODULE[ModuleCommand]:HAS[#minimumCrew[>0]],!RESOURCE[Food]]:After[Kerbalism]
{
    RESOURCE
    {
        name = Food
        amount = 1.097
        maxAmount = 1.097
        @amount *= #$/CrewCapacity$
        @maxAmount *= #$/CrewCapacity$
    }
    RESOURCE
    {
        name = Water
        amount = 0.725
        maxAmount = 0.725
        @amount *= #$/CrewCapacity$
        @maxAmount *= #$/CrewCapacity$
    }
    RESOURCE
    {
        name = Oxygen
        amount = 111.038
        maxAmount = 111.038
        @amount *= #$/CrewCapacity$
        @maxAmount *= #$/CrewCapacity$
    }
    RESOURCE
    {
        name = CarbonDioxide
        amount = 0
        maxAmount = 95.913
        @maxAmount *= #$/CrewCapacity$
    }
    RESOURCE
    {
        name = Waste
        amount = 0
        maxAmount = 0.1
        @maxAmount *= #$/CrewCapacity$
    }
    RESOURCE
    {
        name = WasteWater
        amount = 0
        maxAmount = 0.924
        @maxAmount *= #$/CrewCapacity$
    }
}


// ============================================================================
// Resources
// ============================================================================


// same values as TAC
// TODO: remove and depend on CRP
RESOURCE_DEFINITION
{
   name = Food
   density = 0.00028102905982906
   flowMode = ALL_VESSEL
   transfer = PUMP
   isTweakable = true
   unitCost = 0.238874700854701
   // hsp = ?, default is 800
}

RESOURCE_DEFINITION
{
   name = Water
   density = 0.001
   flowMode = ALL_VESSEL
   transfer = PUMP
   isTweakable = true
   unitCost = 0.0008
   hsp = 4180
}

RESOURCE_DEFINITION
{
   name = Oxygen
   density = 0.00000141
   flowMode = ALL_VESSEL
   transfer = PUMP
   isTweakable = true
   unitCost = 0.000055836
   hsp = 918
}

RESOURCE_DEFINITION
{
   name = CarbonDioxide
   density = 0.000001951
   flowMode = ALL_VESSEL
   transfer = PUMP
   isTweakable = true
   unitCost = 0
   hsp = 846
}

RESOURCE_DEFINITION
{
   name = Waste
   density = 0.00075
   flowMode = ALL_VESSEL
   transfer = PUMP
   isTweakable = true
   unitCost = 0
   // hsp = ?, default is 800
}

RESOURCE_DEFINITION
{
   name = WasteWater
   density = 0.001005
   flowMode = ALL_VESSEL
   transfer = PUMP
   isTweakable = true
   unitCost = 0
   hsp = 4000
}

// ============================================================================
// Provide TAC-LS, as far as ModuleManager is concerned, to unlock parts
// ============================================================================

@Settings:FOR[TacLifeSupport] {}

 

Link to comment
Share on other sites

New version is out, 0.9.9.6

Changelog:

  - the default profile now require CommunityResourcePack
  - NEW PARTS! inline food containers and radial oxygen tank by Tygoo7
  - NEW PART! geiger counter by Naazari1382
  - phased out old food and oxygen containers
  - messages can be muted and unmuted by using CTRL+M
  - moved gravity ring higher in the tech tree
  - experimental Realism profile
  - experimental TAC-LS emulation profile
  - fix: depletion estimates with meal-based rules
  - fix: probes and other parts getting supply resources in some occasions
  - fix: vessel info window doesn't show supplies depletion estimates for unmanned vessels
  - fix: corrected automatic waste capacity in pods
  - fix: correct depletion estimates at extreme timewarps
  - fix: greenhouse doesn't consume waste when there is no lighting

 

New food and oxygen containers by @tygoo7 !!!

containers.png

 

A Geiger counter by @Nazari1382 !!!

geiger_counter.png

Link to comment
Share on other sites

1 hour ago, ShotgunNinja said:

I've found an use case for a Recycler module: enabling/disabling it in the editor (with planner EC estimates taking its on/off state in consideration). I'm going to include your profile in 0.9.9.7, when I add that. I want to make recyclers first-class citizens first, so to speak.

You make a really good point on the whole EC planner integration thing, so that all sounds awesome to me.
 

 

2 hours ago, ShotgunNinja said:

The only change I'm going to make is to lower the EC consumption of the water filter, and maybe the conversion rates too.

Yeah, I based those EC rates on the water filtration module from Universal Storage, and they seem way too high. I've been working on some pretty cool tweaks to the water filtration module I posted that fix that though (and add a couple really cool features on top). Give me a little bit to test everything and make sure there aren't any bugs and I'll post what I've got.

Link to comment
Share on other sites

3 minutes ago, casper88 said:

// ============================================================================
// Provide TAC-LS, as far as ModuleManager is concerned, to unlock parts
// ============================================================================

@Settings:FOR[TacLifeSupport] {}

Dagnabbit, that's all you have to do to bypass the part :NEEDS in mods like Universal Storage? Man, I wish I'd seen that about 24 hours ago... it would have saved me a bunch of time.

Edited by Barrin
Link to comment
Share on other sites

I've included the experimental Realism and TAC-emulation profiles in the new version, only for ease of experimentation. I expect next update in a week or so. @Barrin No problem, I'll look forward for it.

 

@casper88 Any reason why you are not using the on_pod features? Is something not right about that?

 

@brusura This is one of those DERP moments... will change that to something else.

 

 

Link to comment
Share on other sites

I've experienced a pretty game ruining bug with kerbalism's calculation of oxygen. The game is saying my crew has 34 days of life support at launch, but as the time warp increases towards minmus, it periodically lowers at every warp from 27 at the time to 23, 19, 11 and then 6 days. It's almost as if the way the scrubbers functioning is broken. (I checked before launch what the oxygen capacity was, and sure enough, it was just over 6 days) (80% efficiency btw)

Link to comment
Share on other sites

This is the list of planned features and changes:

- multiple modifiers support in rule
- scale EC producer/consumer/storage by 4
- input resource support in greenhouse
- recycler module
- inter-planetary CME
- simulate lab in background
- background resource simulation respect stacks
- advanced per-internal-space calculations in planner
- rename Entertainment to Comfort
- remove old parts
- signal link lines
- a new undisclosed mechanic :sticktongue:

Edited by ShotgunNinja
Link to comment
Share on other sites

UPDATE ON PREVIOUS POST

So I did a bit of testing with the timewarping and here are my findings

1x - Everything is normal. During the transition to 5x, it bounces around a bit before settling at the right reading

5x - Fine (Same transition issue)

10x - Fine (Same transition issue)

50x - Fine (Same transition issue but gets slightly worse)

100x - Fine (Getting more bouncy now)

1000x - Fine (Very bouncy but does stablize)

10000x - Scrubbers do nothing. My 18 days of life support becomes 6 days and 2 hours. 

100000x - Unknown (I don't dare going there yet)

Link to comment
Share on other sites

17 minutes ago, ShotgunNinja said:

This is the list of planned features and changes:

- multiple modifiers support in rule
- scale EC producer/consumer/storage by 4
- input resource support in greenhouse
- recycler module
- inter-planetary CME
- simulate lab in background
- background resource simulation respect stacks
- advanced per-internal-space calculations in planner
- rename Entertainment to Comfort
- remove old parts
- a new undisclosed mechanic :sticktongue:

// comment this line, like this:
// @Settings:FOR[DisableMalfunction] {} 

Like this?

 

Also are you planning on adding connection lines for relay sats?

Link to comment
Share on other sites

1 minute ago, ShotgunNinja said:

@ToukieToucan It is in the Profiles/ directory. If you don't have it, you have to also install the CKAN package 'Kerbalism-Default-Profile'.

ckan doesnt really like linux, or atleast the last time I tried. I have A parts, patches and textures folder and some .dlls

Link to comment
Share on other sites

47 minutes ago, ShotgunNinja said:

New version is out, 0.9.9.6


  - messages can be muted and unmuted by using CTRL+M

Cheers, can't believe how fast your turning out these updates!

Link to comment
Share on other sites

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