Skip to content

Instantly share code, notes, and snippets.

@marcusirgens
Created April 4, 2018 23:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marcusirgens/9e44367f8fc18410a1c4367e3e0aefb1 to your computer and use it in GitHub Desktop.
Save marcusirgens/9e44367f8fc18410a1c4367e3e0aefb1 to your computer and use it in GitHub Desktop.
// Stock-alike Station Parts Expansion
// ============================================================================
// region Comfort providers
// ============================================================================
@PART[crewpod-observation-25|crewpod-cupola-375]:NEEDS[StationPartsExpansion,FeatureComfort]:FOR[Kerbalism]
{
MODULE
{
name = Comfort
desc = The very best space observation experience.
bonus = panorama
}
@tags ^= :$: comfort:
}
// end
// ============================================================================
// region Antennas
// ============================================================================
@PART[crewpod-observation-25]:NEEDS[StationPartsExpansion,FeatureSignal]:FOR[Kerbalism]
{
MODULE
{
name = Antenna
type = low_gain
cost = 0.1
dist = 5e6
rate = 0.016
}
MODULE:NEEDS[FeatureReliability]
{
name = Reliability
type = Antenna
title = Antenna
redundancy = Communication
repair = true
mtbf = 72576000 // 8y
extra_cost = 2.0
extra_mass = 1.0
}
@description ^= :$: A built-in low-gain antenna allows the occupants to transmit their screams while viewing the oncoming space debris.
}
// end
// ============================================================================
// region Habitats
// by schrema
// ============================================================================
@PART[crewtube-airlock-25]:NEEDS[StationPartsExpansion,FeatureHabitat]:AFTER[Kerbalism]
{
@MODULE[Habitat]
{
volume = 4.9
surface = 7.8
}
}
@PART[crewpod-observation-25]:NEEDS[StationPartsExpansion,FeatureHabitat]:AFTER[Kerbalism]
{
@MODULE[Habitat]
{
volume = 25.98
surface = 32.42
}
}
@PART[crewpod-habitation-375]:NEEDS[StationPartsExpansion,FeatureHabitat]:AFTER[Kerbalism]
{
@MODULE[Habitat]
{
volume = 22.08
surface = 23.56
}
}
@PART[crewtube-25-375-1]:NEEDS[StationPartsExpansion,FeatureHabitat]:AFTER[Kerbalism]
{
@MODULE[Habitat]
{
volume = 8.95
surface = 13.09
}
}
@PART[crewpod-habitation-25]:NEEDS[StationPartsExpansion,FeatureHabitat]:AFTER[Kerbalism]
{
@MODULE[Habitat]
{
volume = 19.63
surface = 36.32
}
}
@PART[crewtube-airlock-125]:NEEDS[StationPartsExpansion,FeatureHabitat]:AFTER[Kerbalism]
{
@MODULE[Habitat]
{
volume = 0.92
surface = 4.17
}
}
@PART[crewpod-cupola-375]:NEEDS[StationPartsExpansion,FeatureHabitat]:AFTER[Kerbalism]
{
@MODULE[Habitat]
{
volume = 13.49
surface = 18.57
}
}
// end
// Stock-alike Station Parts Expansion Redux
// ============================================================================
// region Habitat (Inflatable)
// ============================================================================
@PART[sspx-inflatable-hab*]:NEEDS[StationPartsExpansionRedux,FeatureHabitat]:AFTER[Kerbalism]
{
MODULE
{
name = ProcessController
resource = _Scrubber
title = Scrubber
capacity = #$../MODULE[ModuleDeployableHabitat]/DeployedCrewCapacity$
running = true
}
MODULE
{
name = ProcessController
resource = _PressureControl
title = Pressure control
capacity = #$../MODULE[ModuleDeployableHabitat]/DeployedCrewCapacity$
running = true
}
MODULE
{
name = Habitat
inflate = Expand
state = disabled
animBackwards = True
crewCapacity = #$../MODULE[ModuleDeployableHabitat]/DeployedCrewCapacity$
}
MODULE:NEEDS[FeatureReliability]
{
name = Reliability
type = Comfort
title = Treadmill
repair = Engineer
mtbf = 36288000 // 4y
extra_cost = 0.25
extra_mass = 0.05
}
@MODULE[ProcessController],*
{
@capacity *= 1.67
}
!MODULE[ModuleDeployableHabitat] {}
}
// end
// ============================================================================
// region Gravity Ring
// ============================================================================
@PART[sspx-inflatable-centrifuge-125-1]:NEEDS[StationPartsExpansionRedux,FeatureComfort]:FOR[Kerbalism]
{
MODULE
{
name = Habitat
inflate = Expand
animBackwards = True
crewCapacity = #$../MODULE[ModuleDeployableCentrifuge]/DeployedCrewCapacity$
hasGravityRing = True
}
MODULE
{
name = GravityRing
ec_rate = 2.5
rotate = SpinCenter
deployed = True
rotateIsTransform = True
}
!MODULE[ModuleDeployableCentrifuge] {}
}
@PART[sspx-inflatable-centrifuge-125-2]:NEEDS[StationPartsExpansionRedux,FeatureComfort]:FOR[Kerbalism]
{
MODULE
{
name = Habitat
inflate = Expand
animBackwards = True
crewCapacity = #$../MODULE[ModuleDeployableCentrifuge]/DeployedCrewCapacity$
hasGravityRing = True
}
MODULE
{
name = GravityRing
ec_rate = 2.5
rotate = CompactSpinCentre
deployed = True
rotateIsTransform = True
}
!MODULE[ModuleDeployableCentrifuge] {}
}
@PART[sspx-inflatable-centrifuge-25-1]:NEEDS[StationPartsExpansionRedux,FeatureComfort]:FOR[Kerbalism]
{
MODULE
{
name = Habitat
inflate = Expand
animBackwards = True
crewCapacity = #$../MODULE[ModuleDeployableCentrifuge]/DeployedCrewCapacity$
hasGravityRing = True
}
MODULE
{
name = GravityRing
ec_rate = 2.5
rotate = B_Rotation
deployed = True
rotateIsTransform = True
}
!MODULE[ModuleDeployableCentrifuge] {}
}
@PART[sspx-expandable-centrifuge-375-1]:NEEDS[StationPartsExpansionRedux,FeatureComfort]:FOR[Kerbalism]
{
MODULE
{
name = Habitat
inflate = CentrifugeCollapse
animBackwards = True
crewCapacity = #$../MODULE[ModuleDeployableCentrifuge]/DeployedCrewCapacity$
hasGravityRing = True
}
MODULE
{
name = GravityRing
ec_rate = 2.5
rotate = B_Center
deployed = True
rotateIsTransform = True
}
MODULE
{
name = ProcessController
resource = _PressureControl
title = Pressure control
running = true
}
!MODULE[ModuleDeployableCentrifuge] {}
}
@PART[sspx-expandable-centrifuge-375-2]:NEEDS[StationPartsExpansionRedux,FeatureComfort]:FOR[Kerbalism]
{
MODULE
{
name = Habitat
inflate = Retract
animBackwards = True
crewCapacity = #$../MODULE[ModuleDeployableCentrifuge]/DeployedCrewCapacity$
hasGravityRing = True
}
MODULE
{
name = GravityRing
ec_rate = 2.5
rotate = SpinCenter
deployed = True
rotateIsTransform = True
}
MODULE
{
name = ProcessController
resource = _PressureControl
title = Pressure control
running = true
}
!MODULE[ModuleDeployableCentrifuge] {}
}
// end
// ============================================================================
// region Comfort providers
// ============================================================================
@PART[sspx-observation-25-1|sspx-cupola-125-1|sspx-cupola-375-1]:NEEDS[StationPartsExpansionRedux,FeatureComfort]:AFTER[Kerbalism]
{
MODULE:NEEDS[FeatureComfort]
{
name = Comfort
desc = The very best space observation experience.
bonus = panorama
}
@tags ^= :$: comfort:
}
@PART[sspx-habitation-375-1|sspx-habitation-375-2|sspx-habitation-375-3]:NEEDS[StationPartsExpansionRedux,FeatureComfort]:AFTER[Kerbalism]
{
MODULE:NEEDS[FeatureComfort]
{
name = Comfort
desc = It has included a rotation system that simulates gravity.. The crew will love it.
bonus = exercise
}
MODULE:NEEDS[FeatureReliability]
{
name = Reliability
type = Comfort
title = Treadmill
repair = Engineer
mtbf = 36288000 // 4y
extra_cost = 0.25
extra_mass = 0.05
}
@tags ^= :$: comfort:
}
@PART[sspx-inflatable-hab-25-1|sspx-inflatable-hab-25-2]:NEEDS[StationPartsExpansionRedux,FeatureComfort]:AFTER[Kerbalism]
{
MODULE:NEEDS[FeatureComfort]
{
name = Comfort
desc = A treadmill designed to permit exercise in zero-g is included. The crew will love it.
bonus = exercise
}
}
// end
// ============================================================================
// region Recyclers
// ============================================================================
@PART[sspx-utility-125-1]:NEEDS[Kerbalism]
{
MODULE
{
name = Emitter
radiation = -0.00033332 //improve by factor 4
toggle = true
ec_rate = 2.5
active = e10
}
}
// end
// ============================================================================
// region Greenhouses
// ============================================================================
@PART[sspx-greenhouse-25-1|sspx-greenhouse-375-1]:NEEDS[ProfileDefault]:FOR[Kerbalism]
{
MODULE
{
name = Habitat
toggle = false
}
MODULE
{
name = ProcessController
resource = _PressureControl
title = Pressure control
capacity = 0.2143
running = true
}
MODULE
{
name = Greenhouse
crop_resource = Food // name of resource produced by harvests
crop_size = #$../mass$ // amount of resource produced by harvests
@crop_size *= 750
crop_rate = 0.00000023148 // growth per-second when all conditions apply
ec_rate = #$../mass$ // 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.000008333 // maximum radiation allowed for growth in rad/s, considered after shielding is applied
lamps = // object with emissive texture used to represent lamp intensity graphically
shutters = 25DoorsOpen // 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
}
}
RESOURCE
{
name = Waste
amount = 0
maxAmount = 10
}
RESOURCE
{
name = Ammonia
amount = 1000
maxAmount = 1000
}
}
// ============================================================================
// Fix for B9 tank types.
// ============================================================================
B9_TANK_TYPE:NEEDS[StationPartsExpansionRedux,Kerbalism]
{
name = SSPXKFood
tankMass = 0.0000
tankCost = 0.0
RESOURCE
{
name = Food
unitsPerVolume = 1
}
}
B9_TANK_TYPE:NEEDS[StationPartsExpansionRedux,Kerbalism]
{
name = SSPXKWater
tankMass = 0.0000
tankCost = 0.0
RESOURCE
{
name = Water
unitsPerVolume = 1
}
}
B9_TANK_TYPE:NEEDS[StationPartsExpansionRedux,Kerbalism]
{
name = SSPXKSupplies
tankMass = 0.0000
tankCost = 0.0
RESOURCE
{
name = Food
unitsPerVolume = 0.7224224
}
RESOURCE
{
name = Water
unitsPerVolume = 0.2775776
}
}
B9_TANK_TYPE:NEEDS[StationPartsExpansionRedux,Kerbalism]
{
name = SSPXKWaste
tankMass = 0.0000
tankCost = 0.0
RESOURCE
{
name = Waste
unitsPerVolume = 0.4949706
percentFilled = 0
}
RESOURCE
{
name = WasteWater
unitsPerVolume = 0.5050294
percentFilled = 0
}
}
// ============================================================================
// region Containers
// ============================================================================
@PART[sspx-cargo-container*]:NEEDS[StationPartsExpansionRedux,CommunityResourcePack,!ProfileNone]:FINAL
{
@MODULE[ModuleB9PartSwitch]
{
SUBTYPE
{
name = Food
tankType = SSPXKFood
title = Food
transform = SnacksDecal
}
SUBTYPE
{
name = Water
tankType = SSPXKWater
title = Water
transform = SnacksDecal
}
SUBTYPE
{
name = Supplies
tankType = SSPXKSupplies
title = Supplies
transform = SuppliesDecal
}
SUBTYPE
{
name = Waste
tankType = SSPXKWaste
title = Waste
transform = LifeSupportDecal
}
}
}
// end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment