Skip to content

Instantly share code, notes, and snippets.

@321nick
Created February 1, 2021 18:32
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 321nick/3f8f12052a3a7e4164a7a91c813fd26e to your computer and use it in GitHub Desktop.
Save 321nick/3f8f12052a3a7e4164a7a91c813fd26e to your computer and use it in GitHub Desktop.
@PART[B9_Structure_HX1_G]
{
@description = The HX-URC is huge and hugely powerful. It's specialty-made to feed (most of) the electrical demands of the HX-HPD series engines and to otherwise effectively support the vital electronics of any super-massive vessel.
@MODULE[ModuleGenerator]
{
@OUTPUT_RESOURCE[ElectricCharge]
{
@rate = 180
}
}
}
@PART[B9_Structure_HX1_G]:NEEDS[CommunityResourcePack,!NearFutureElectrical]
{
@category = Electrical
MODULE
{
name = ModuleOverheatDisplay
}
MODULE
{
name = ModuleResourceConverter
ConverterName = Nuclear Reactor
StartActionName = Start Nuclear Reactor
StopActionName = Stop Nuclear Reactor
AutoShutdown = true
TemperatureModifier
{
key = 0 5000 0 0
key = 300 20000 100 100
key = 1000 50000 0 0
key = 2500 0 0 0
}
GeneratesHeat = True
DefaultShutoffTemp = 0.8
ThermalEfficiency
{
key = 0 0 0 0
key = 500 0.1 0 0
key = 1000 1.0 0 0
key = 1250 0.1 0 0
key = 2000 0 0 0
}
INPUT_RESOURCE
{
ResourceName = EnrichedUranium
Ratio = 0.000016736
FlowMode = NO_FLOW
}
OUTPUT_RESOURCE
{
ResourceName = DepletedFuel
Ratio = 0.000016736
DumpExcess = false
FlowMode = NO_FLOW
}
OUTPUT_RESOURCE
{
ResourceName = ElectricCharge
Ratio = 6000
DumpExcess = false
}
}
RESOURCE
{
name = ElectricCharge
amount = 3000
maxAmount = 3000
}
RESOURCE
{
name = EnrichedUranium
amount = 1500
maxAmount = 1500
}
RESOURCE
{
name = DepletedFuel
amount = 0
maxAmount = 1500
}
MODULE
{
name = ModuleCoreHeat
CoreTempGoal = 1000
CoreShutdownTemp = 2000
MaxCoolant = 1500
CoreToPartRatio = 0.1
CoreTempGoalAdjustment = 0
CoreEnergyMultiplier = 0.1
HeatRadiantMultiplier = 0.05
CoolingRadiantMultiplier = 0
HeatTransferMultiplier = 0
CoolantTransferMultiplier = 0.01
radiatorCoolingFactor = 1
radiatorHeatingFactor = 0.05
MaxCalculationWarp = 1000
}
}
@PART[B9_Structure_HX1_G]:NEEDS[NearFutureElectrical,!SystemHeat,!FarFutureTechnologies]
{
MODULE
{
name = ModuleUpdateOverride
}
MODULE
{
name = FissionReactor
StartActionName = #LOC_NFElectrical_ModuleFissionReactor_Action_StartActionName
StopActionName = #LOC_NFElectrical_ModuleFissionReactor_Action_StopActionName
ToggleActionName = #LOC_NFElectrical_ModuleFissionReactor_Action_ToggleActionName
// Heat to generate (kW*50)
HeatGeneration = 325000
// Above this temp, less power is generated
NominalTemperature = 900
// Above this temp, reactor takes damage
CriticalTemperature = 1350
// Amount of damage taken by core when over critical temp
// %/s/K, so with value 0.001, at 200 K over CriticalTemp, reactor takes 0.2% damage/s
CoreDamageRate = 0.004
// Heat animation, plays when above nominal temp
// OverheatAnimation = Reactor-375-2-Heat
// Base lifetime calculations off this resource
FuelName = EnrichedUranium
INPUT_RESOURCE
{
ResourceName = EnrichedUranium
Ratio = 0.000016736
FlowMode = NO_FLOW
}
OUTPUT_RESOURCE
{
ResourceName = DepletedFuel
Ratio = 0.000016736
DumpExcess = false
FlowMode = NO_FLOW
}
// Disables stock converter functions DO NOT CHANGE
UseSpecializationBonus = false
AutoShutdown = false
DefaultShutoffTemp = 0.90
GeneratesHeat = false
TemperatureModifier
{
key = 0 0
}
}
MODULE
{
name = ModuleCoreHeatNoCatchup
CoreTempGoal = 900 //Internal temp goal - we don't transfer till we hit this point
CoreToPartRatio = 0.1 //Scale back cooling if the part is this % of core temp
CoreTempGoalAdjustment = 0 //Dynamic goal adjustment
CoreEnergyMultiplier = 0.1 //What percentage of our core energy do we transfer to the part
HeatRadiantMultiplier = 0.05 //If the core is hotter, how much heat radiates?
CoolingRadiantMultiplier = 0 //If the core is colder, how much radiates?
HeatTransferMultiplier = 0 //If the part is hotter, how much heat transfers in?
CoolantTransferMultiplier = 0.01 //If the part is colder, how much of our energy can we transfer?
radiatorCoolingFactor = 1 //How much energy we pull from core with an active radiator? >= 1
radiatorHeatingFactor = 0.01 //How much energy we push to the active radiator
MaxCalculationWarp = 1000 //Based on how dramatic the changes are, this is the max rate of change
CoreShutdownTemp = 6000 //At what core temperature do we shut down all generators on this part?
MaxCoolant = 6500 //Maximum amount of radiator capacity we can consume - 50 = 1 small
}
MODULE
{
name = FissionGenerator
PowerGeneration = 6000
HeatUsed = 6500
}
RESOURCE
{
name = ElectricCharge
amount = 3000
maxAmount = 3000
}
RESOURCE
{
name = EnrichedUranium
amount = 1500
maxAmount = 1500
}
RESOURCE
{
name = DepletedFuel
amount = 0
maxAmount = 1500
}
MODULE
{
name = RadioactiveStorageContainer
DangerousFuel = DepletedFuel
SafeFuel = EnrichedUranium
// What enginer level is needed to transfer the safe fuel
EngineerLevelForSafe = 1
// What enginer level is needed to transfer the dangerous fuel
EngineerLevelForDangerous = 3
// Max temp for transferring fuel into or out of the part
MaxTempForTransfer = 400
// kW of heat per unit of waste
HeatFluxPerWasteUnit = 5
}
}
@PART[B9_Structure_HX1_G]:NEEDS[SystemHeat,FarFutureTechnologies]
{
!MODULE[ModuleUpdateOverride] {}
!MODULE[FissionReactor] {}
!MODULE[FissionGenerator] {}
!MODULE[ModuleCoreHeatNoCatchup] {}
!MODULE[RadioactiveStorageContainer] {}
MODULE
{
name = ModuleSystemHeat
// Cubic metres
volume = 30.0
moduleID = reactor
iconName = Icon_Atom
}
MODULE
{
name = FusionReactor
//StartActionName = Start Fusion Reactor
//StopActionName = Stop Fusion Reactor
//ToggleActionName = Toggle Fusion Reactor
// General Parameters
Enabled = False
MinimumReactorPower = 0.1
// Charge Parameters
Charged = false
ChargeRate = 20
ChargeAmount = 0
ChargeGoal = 60000
// Animation Parameters
ChargingLightRootTransformName = Lights_Charging
OnLightTransformName = Lights_On
OffLightTransformName = Lights_Off
ModeLightTransformName = Lights_Mode
OverheatColorChangerName = ""
// Thermal Parameters
// must be unique
ModuleID = fusionreactor
// ModuleSystemHeat to link to
HeatModuleID = reactor
SystemPower = 40000
// The shutdown temperature of the part
ShutdownTemperature = 2000
// The temperature the system contributes to loops
SystemOutletTemperature = 1600
FUSIONMODE
{
DisplayName = Deuterium-DeuteriumFusion
ModeID = Deuterium
ModeColor= 0.388, 0.968, 1.0, 0.5
PowerGeneration = 10000
INPUT_RESOURCE
{
ResourceName = LqdDeuterium
Ratio = 0.00109
FlowMode = STAGE_PRIORITY_FLOW
}
}
FUSIONMODE
{
DisplayName = Detuerium-Helium3Fusion
ModeID = DH3
ModeColor = 0.03, 0.45, 0.36, 0.5
PowerGeneration = 60000
INPUT_RESOURCE
{
ResourceName = LqdDeuterium
Ratio = 0.001090
FlowMode = STAGE_PRIORITY_FLOW
}
INPUT_RESOURCE
{
ResourceName = LqdHe3
Ratio = 0.001635
FlowMode = STAGE_PRIORITY_FLOW
}
}
}
RESOURCE
{
name = ElectricCharge
amount = 3000
maxAmount = 3000
}
RESOURCE
{
name = LqdHe3
amount = 1500
maxAmount = 1500
}
RESOURCE
{
name = LqdDeuterium
amount = 1500
maxAmount = 1500
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment