SDHI Service Module System

SDHI Service Module System

60.7k Downloads

kerbalism support (config included)

thecarp opened this issue ยท 1 comments

commented

I love kerbalism and the service module, so I set out to make them work together. I like the thought behind your TACLCS config but Kerbalism is a bit different and makes the mk1-2 pod a lot more powerful; with a full 5 days of resources built in.

Kerbalism also dynamically messes with food in pods, so I had trouble reducing it, as such, I went the other way and worked with it. So, the way I worked it was such:

  1. mk1-2 pod gets a new subsystem config option to choose an additional 8 days of food instead of a subsystem.
  2. SDHI service module has a built in monoprop fuel cell identical to the optional subsystem one for the mk1-2 pod.
  3. SDHI Service module gets 2 configuration slots identical to the MK1-2's with the exceptions of the fuel cell and food stores.
  4. SHDI module gets 8 days of water and oxygen built in.
  5. Avionics Ring gets just the fuel cell and water recycler, with no options.

I would have liked to have added container configurations to make the supplies more configurable, but, this seemed like a good starting point. Here is the config: SDHI_SMS_MMPatch_Kerbalism.cfg:
`
@part[Mark1-2Pod]:NEEDS[Kerbalism]:FOR[zSDHISMS]:AFTER[Kerbalism]
{
@module[Configure]
{
SETUP
{
name = SDHI Food Store
desc = Extra food stores for extended missions

   %RESOURCE[Food]
   {
     %amount = 151.2
     %maxAmount = 151.2
   }
 }

}
}

@part[SDHI_2.5_ServiceModule]:NEEDS[Kerbalism]:FOR[zSDHISMS]
{
%RESOURCE[Water]
{
%amount = 72.6
%maxAmount = 72.6
}

%RESOURCE[Oxygen]
{
%amount = 18000
%maxAmount = 18000
}
}

// SDHI Avionics Ring gets only scrubber and water recycler, SM gets both
@part[SDHI_2.5_AvionicsRing|SDHI_2.5_ServiceModule]:NEEDS[Kerbalism]:FOR[zSDHISMS]
{
MODULE
{
name = ProcessController
resource = _Scrubber
title = Scrubber
capacity = 3
running = true
}

MODULE
{
name = ProcessController
resource = _WaterRecycler
title = Water recycler
capacity = 3
running = true
}

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

@part[SDHI_2.5_AvionicsRing]:NEEDS[Kerbalism]:FOR[zSDHISMS]
{
@module[ProcessController],*
{
@capacity *= 1.67
}
}

// Service module gets two slots of its own
@part[SDHI_2.5_ServiceModule]:NEEDS[Kerbalism]:FOR[zSDHISMS]
{
MODULE
{
name = ProcessController
resource = _PressureControl
title = Pressure control
capacity = 3
running = true
}

MODULE
{
name = ProcessController
resource = _WasteProcessor
title = Waste processor
capacity = 3
running = true
}

MODULE
{
name = ProcessController
resource = _MonopropFuelCell
title = Monoprop fuel cell
capacity = 3
running = false
}

@module[ProcessController],*
{
@capacity *= 1.67
}

MODULE
{
name = Configure
title = Service Module
slots = 2

SETUP
{
  name = Scrubber
  desc = A dual-bed vacuum-exposing regenerative scrubber that 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 = 20000
    maxAmount = 20000
  }
}

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 <b>Waste</b>.
  tech = advExploration
  mass = 0.05
  cost = 500

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

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

//SETUP
//{
//  name = Monoprop Fuel Cell
//  desc = An emergency fuel cell that burn <b>MonoPropellant</b>. Produce <b>Water</b> and <b>Nitrogen</b> as by-products.
//  tech = advElectrics
//  mass = 0.1
//  cost = 1000

//  MODULE
//  {
//    type = ProcessController
//    id_field = resource
//    id_value = _MonopropFuelCell
//  }
//}

}
}
`

commented

Unfortunately, I couldn't make heads or tails of this in time for a patch release, and most of the part references are no longer valid for the upcoming V4 revamp.

Closing until I find the time to revisit this in earnest.