From 3cf4338b62756346441c8e9f85917cab8e5c45af Mon Sep 17 00:00:00 2001 From: ChrisAdderley Date: Fri, 12 Jul 2019 16:20:42 -0700 Subject: [PATCH] work on new engines --- .mod_data.yml | 6 +- CKAN/CryoEngines-Restock.netkan | 27 + Extras/CryoEnginesLFO/CryoEnginesLFO.cfg | 102 +++- .../CryoEnginesRestock/CryoEnginesRestock.cfg | 95 ++++ .../CryoEnginesRestockMH.cfg | 26 + .../CryoEnginesRestockPlus.cfg | 48 ++ GameData/CryoEngines/Localization/en-us.cfg | 51 +- .../Parts/Engine/125/cryoengine-hecate-1.cfg | 496 +++++++++++++++++ .../Engine/125/cryoengine-vesuvius-1.cfg | 505 ++++++++++++++++++ .../Parts/Engine/1875/cryoengine-erebus-1.cfg | 505 ++++++++++++++++++ .../Engine/1875/cryoengine-pavonis-1.cfg | 497 +++++++++++++++++ .../CryoEngines/Patches/CryoEnginesCTT.cfg | 8 +- .../Patches/CryoEnginesEngineLight.cfg | 28 +- .../Versioning/CryoEngines.version | 4 +- README.md | 14 +- changelog.txt | 42 ++ readme.txt | 17 +- 17 files changed, 2429 insertions(+), 42 deletions(-) create mode 100644 CKAN/CryoEngines-Restock.netkan create mode 100644 Extras/CryoEnginesRestock/CryoEnginesRestock.cfg create mode 100644 Extras/CryoEnginesRestock/CryoEnginesRestockMH.cfg create mode 100644 Extras/CryoEnginesRestock/CryoEnginesRestockPlus.cfg create mode 100644 GameData/CryoEngines/Parts/Engine/125/cryoengine-hecate-1.cfg create mode 100644 GameData/CryoEngines/Parts/Engine/125/cryoengine-vesuvius-1.cfg create mode 100644 GameData/CryoEngines/Parts/Engine/1875/cryoengine-erebus-1.cfg create mode 100644 GameData/CryoEngines/Parts/Engine/1875/cryoengine-pavonis-1.cfg diff --git a/.mod_data.yml b/.mod_data.yml index 9fdb547..48f4dd1 100644 --- a/.mod_data.yml +++ b/.mod_data.yml @@ -11,13 +11,13 @@ dependencies: # Configure dependencies version: 4.0.2 location: s3 B9PartSwitch: - version: 2.6.0 + version: 2.8.0 location: s3 CommunityResourcePack: version: 1.0.0 location: s3 DynamicBatteryStorage: - tag: 1.4.2 + tag: 2.0.0 location: github repository: ChrisAdderley/DynamicBatteryStorage DeployableEngines: @@ -25,7 +25,7 @@ dependencies: # Configure dependencies location: github repository: ChrisAdderley/DeployableEngines CryoTanks: - tag: 1.1.2 + tag: 1.1.4 location: github repository: ChrisAdderley/CryoTanks deploy: diff --git a/CKAN/CryoEngines-Restock.netkan b/CKAN/CryoEngines-Restock.netkan new file mode 100644 index 0000000..b3008ee --- /dev/null +++ b/CKAN/CryoEngines-Restock.netkan @@ -0,0 +1,27 @@ +{ + "spec_version": "v1.4", + "identifier": "CryoEngines-Restock", + "$kref": "#/ckan/spacedock/709", + "$vref": "#/ckan/ksp-avc/GameData/CryoEngines/Versioning/CryoEngines.version", + "x_netkan_epoch": 1, + "name": "Cryogenic Engines - Restock", + "abstract": "Optional patch to convert some engines in Restock and ReStock+ to use cryogenic fuel, improving efficiency", + "license": "MIT", + "resources": { + "homepage": "https://forum.kerbalspaceprogram.com/index.php?/topic/106089-16x-cryogenic-engines-high-isp-chemical-rockets-january-21/", + "repository": "https://github.com/ChrisAdderley/CryoEngines" + }, + "depends": [ + { "name" : "CryoEngines" }, + { "name" : "ReStock" } + ], + "conflicts": [ + {"name": "CryoEngines-LFO" } + ], + "recommends": [ + { "name": "ReStockPlus" } + ], + "install": [ + { "find" : "CryoEnginesRestock", "install_to" : "GameData" } + ] +} diff --git a/Extras/CryoEnginesLFO/CryoEnginesLFO.cfg b/Extras/CryoEnginesLFO/CryoEnginesLFO.cfg index 93a6309..ed151f6 100644 --- a/Extras/CryoEnginesLFO/CryoEnginesLFO.cfg +++ b/Extras/CryoEnginesLFO/CryoEnginesLFO.cfg @@ -1,5 +1,105 @@ -// Sets cryoEngines to use lFO at 30 lower Isp +// Sets all CryoEngines parts to use LFO instead of LH2O at 30s lower Isp +// Revised (post 0.7.0) parts +@PART[cryoengine-vesuvius-1] +{ + @MODULE[ModuleEnginesFX] + { + + !atmosphereCurve {} + atmosphereCurve + { + key = 0 380 + key = 1 330 + key = 4 0.001 + } + + @PROPELLANT[LqdHydrogen] + { + @name = LiquidFuel + @ratio = 0.9 + } + @PROPELLANT[Oxidizer] + { + @ratio = 1.1 + } + + } +} +@PART[cryoengine-hecate-1] +{ + @MODULE[ModuleEnginesFX] + { + + !atmosphereCurve {} + atmosphereCurve + { + key = 0 425 + key = 1 110 + key = 4 0.001 + } + @PROPELLANT[LqdHydrogen] + { + @name = LiquidFuel + @ratio = 0.9 + } + @PROPELLANT[Oxidizer] + { + @ratio = 1.1 + } + } +} + +@PART[cryoengine-erebus-1] +{ + @MODULE[ModuleEnginesFX] + { + + !atmosphereCurve {} + atmosphereCurve + { + key = 0 380 + key = 1 330 + key = 4 0.001 + } + + @PROPELLANT[LqdHydrogen] + { + @name = LiquidFuel + @ratio = 0.9 + } + @PROPELLANT[Oxidizer] + { + @ratio = 1.1 + } + + } +} +@PART[cryoengine-pavonis-1] +{ + @MODULE[ModuleEnginesFX] + { + + !atmosphereCurve {} + atmosphereCurve + { + key = 0 425 + key = 1 110 + key = 4 0.001 + } + @PROPELLANT[LqdHydrogen] + { + @name = LiquidFuel + @ratio = 0.9 + } + @PROPELLANT[Oxidizer] + { + @ratio = 1.1 + } + } +} + +// Old (pre-0.7.0 parts) @PART[cryoengine-125-1] { @MODULE[ModuleEnginesFX] diff --git a/Extras/CryoEnginesRestock/CryoEnginesRestock.cfg b/Extras/CryoEnginesRestock/CryoEnginesRestock.cfg new file mode 100644 index 0000000..4becbaa --- /dev/null +++ b/Extras/CryoEnginesRestock/CryoEnginesRestock.cfg @@ -0,0 +1,95 @@ +// Modifies the relevant Restock engines that are cryo-like to be actually cryo + +// Vector (RS-25) +@PART[SSME]:NEEDS[ReStock]:AFTER[ReStock] +{ + @MODULE[ModuleEnginesFX] + { + @maxThrust = 470 + @PROPELLANT[LiquidFuel] + { + @name = LqdHydrogen + @ratio = 0.1 + } + @PROPELLANT[Oxidizer] + { + @ratio = 0.1 + } + !atmosphereCurve {} + atmosphereCurve + { + key = 0 4800 0 0 + } + } +} + +// Skipper (LE-7) +@PART[engineLargeSkipper]:NEEDS[ReStock]:AFTER[ReStock] +{ + // TODO: ADJUST EFFECTS + + @MODULE[ModuleEnginesFX] + { + @maxThrust = 470 + @PROPELLANT[LiquidFuel] + { + @name = LqdHydrogen + @ratio = 0.1 + } + @PROPELLANT[Oxidizer] + { + @ratio = 0.1 + } + !atmosphereCurve {} + atmosphereCurve + { + key = 0 4800 0 0 + } + } +} + +// Rhino (M-1) +@PART[Size3AdvancedEngine]:NEEDS[ReStock]:AFTER[ReStock] +{ + @MODULE[ModuleEnginesFX] + { + @maxThrust = 470 + @PROPELLANT[LiquidFuel] + { + @name = LqdHydrogen + @ratio = 0.1 + } + @PROPELLANT[Oxidizer] + { + @ratio = 0.1 + } + !atmosphereCurve {} + atmosphereCurve + { + key = 0 4800 0 0 + } + } +} + +// Mammoth (RS-25x4) +@PART[Size3EngineCluster]:NEEDS[ReStock]:AFTER[ReStock] +{ + @MODULE[ModuleEnginesFX] + { + @maxThrust = 470 + @PROPELLANT[LiquidFuel] + { + @name = LqdHydrogen + @ratio = 0.1 + } + @PROPELLANT[Oxidizer] + { + @ratio = 0.1 + } + !atmosphereCurve {} + atmosphereCurve + { + key = 0 4800 0 0 + } + } +} diff --git a/Extras/CryoEnginesRestock/CryoEnginesRestockMH.cfg b/Extras/CryoEnginesRestock/CryoEnginesRestockMH.cfg new file mode 100644 index 0000000..630cbda --- /dev/null +++ b/Extras/CryoEnginesRestock/CryoEnginesRestockMH.cfg @@ -0,0 +1,26 @@ +// Modifies the relevant Restock MH engines that are cryo-like to be actually cryo + +// Skiff (J-2) +@PART[LiquidEngineRE-I2]:NEEDS[ReStock]:AFTER[ReStock] +{ + // TODO: ADJUST EFFECTS + + @MODULE[ModuleEnginesFX] + { + @maxThrust = 470 + @PROPELLANT[LiquidFuel] + { + @name = LqdHydrogen + @ratio = 0.1 + } + @PROPELLANT[Oxidizer] + { + @ratio = 0.1 + } + !atmosphereCurve {} + atmosphereCurve + { + key = 0 4800 0 0 + } + } +} diff --git a/Extras/CryoEnginesRestock/CryoEnginesRestockPlus.cfg b/Extras/CryoEnginesRestock/CryoEnginesRestockPlus.cfg new file mode 100644 index 0000000..b61df8c --- /dev/null +++ b/Extras/CryoEnginesRestock/CryoEnginesRestockPlus.cfg @@ -0,0 +1,48 @@ +// Modifies the relevant Restock+ engines that are cryo-like to be actually cryo + +// Corgi (RL-10-C2x4) +@PART[restock-engine-375-corgi]:NEEDS[ReStockPlus]:AFTER[ReStockPlus] +{ + @MODULE[ModuleEnginesFX] + { + @maxThrust = 470 + @PROPELLANT[LiquidFuel] + { + @name = LqdHydrogen + @ratio = 0.1 + } + @PROPELLANT[Oxidizer] + { + @ratio = 0.1 + } + !atmosphereCurve {} + atmosphereCurve + { + key = 0 4800 0 0 + } + } +} + +// Caravel (J-2) +@PART[restock-engine-caravel-1]:NEEDS[ReStockPlus]:AFTER[ReStockPlus] +{ + // TODO: ADJUST EFFECTS + @MODULE[ModuleEnginesFX] + { + @maxThrust = 470 + @PROPELLANT[LiquidFuel] + { + @name = LqdHydrogen + @ratio = 0.1 + } + @PROPELLANT[Oxidizer] + { + @ratio = 0.1 + } + !atmosphereCurve {} + atmosphereCurve + { + key = 0 4800 0 0 + } + } +} diff --git a/GameData/CryoEngines/Localization/en-us.cfg b/GameData/CryoEngines/Localization/en-us.cfg index e5efc8e..e1044ea 100644 --- a/GameData/CryoEngines/Localization/en-us.cfg +++ b/GameData/CryoEngines/Localization/en-us.cfg @@ -9,20 +9,61 @@ Localization // VARIANTS #LOC_CryoEngines_engine_switcher_mount_title = Mount #LOC_CryoEngines_engine_switcher_mount_variant1 = 0.625m + #LOC_CryoEngines_engine_switcher_mount_variant7 = 1.875m #LOC_CryoEngines_engine_switcher_mount_variant2 = 1.25m #LOC_CryoEngines_engine_switcher_mount_variant3 = 2.5m #LOC_CryoEngines_engine_switcher_mount_variant4 = 3.75m #LOC_CryoEngines_engine_switcher_mount_variant5 = Compact #LOC_CryoEngines_engine_switcher_mount_variant6 = Boattail - // PARTS + + // 1.25m + #LOC_CryoEngines_cryoengine-vesuvius-1_title = CR-2 'Vesuvius' Cryogenic Rocket Engine + #LOC_CryoEngines_cryoengine-vesuvius-1_description = A high power sustainer engine in a small footprint. Like most sustainer-type cryogenic engines, it is well-balanced for launch and mid-energy stage applications. + #LOC_CryoEngines_cryoengine-vesuvius-1_tags = propuls rocket sustain hydrogen hydrolox cryo vesuvius ariane vulcain + + #LOC_CryoEngines_cryoengine-hecate-1_title = CE-10 'Hecate' Cryogenic Rocket Engine + #LOC_CryoEngines_cryoengine-hecate-1_description = A venerable kitchen appliance - er, rocket engine, efficiently burning liquid hydrogen and oxidizer for your orbital vehicles. Stowed nozzle extension allows a compact footprint. + #LOC_CryoEngines_cryoengine-hecate-1_tags = orbit propuls rocket vacuum hydrogen hydrolox exten cryo rl10 + + // 1.875m + #LOC_CryoEngines_cryoengine-erebus-1_title = CR-0120 'Erebus' Cryogenic Rocket Engine + #LOC_CryoEngines_cryoengine-erebus-1_description = The flame-spewing Erebus pushes our launch vehicles to great heights, but only when paired with an appropriate amount of boosters. Because it's a sustainer. + #LOC_CryoEngines_cryoengine-erebus-1_tags = propuls rocket sustain hydrogen hydrolox cryo erebus buran energ + + #LOC_CryoEngines_cryoengine-pavonis-1_title = CE-60 'Pavonis' Cryogenic Rocket Engine + #LOC_CryoEngines_cryoengine-pavonis-1_description = An industrial kitchen appliance! Delivers great specific impulse with better thrust in vacuum than its predecessor. Stowed nozzle extension allows a compact footprint. + #LOC_CryoEngines_cryoengine-pavonis-1_tags = orbit propuls rocket vacuum hydrogen hydrolox exten cryo rl60 + + // 2.5m + #LOC_CryoEngines_cryoengine-fuji-1_title = CR-9B 'Fuji' Cryogenic Rocket Engine + #LOC_CryoEngines_cryoengine-fuji-1_description = An advanced sustainer engine designed to deliver well-priced and efficient thrust at all atmospheric regimes. + #LOC_CryoEngines_cryoengine-fuji-1_tags = propuls rocket sustain hydrogen hydrolox cryo vesuvius ariane vulcain + + #LOC_CryoEngines_cryoengine-ulysses-1_title = CE-2X 'Ulysses' Cryogenic Rocket Engine + #LOC_CryoEngines_cryoengine-ulysses-1_description = The 'X' suffix refers to the eXtra efficiency delivered by this powerful vacuum engine. KADB is very excited that we might be making use of it, because they spent a lot of R&D money on it only to have the rocket they were building it for cancelled. + #LOC_CryoEngines_cryoengine-ulysses-1_tags = orbit propuls rocket vacuum hydrogen hydrolox cryo j2x constellation + + //3.75m + #LOC_CryoEngines_cryoengine-mars-1_title = CR-68 'Etna' Cryogenic Rocket Engine + #LOC_CryoEngines_cryoengine-mars-1_description = The largest hydrogen-fuelled engine available we have available in stock. We can't even order bigger ones, they just roll their eyes and sigh. Might not even need boosters with this one... + #LOC_CryoEngines_cryoengine-mars-1_tags = propuls rocket sustain hydrogen hydrolox cryo delta iv + + #LOC_CryoEngines_cryoengine-tharsis-1_title = CE-60 'Tharsis' Cryogenic Rocket Engine Cluster + #LOC_CryoEngines_cryoengine-tharsis-1_description = A pair of engines mounted on a robust structure, pushing your spacecraft to new and exciting heights. A stowed nozzle extension allows a compact footprint. + #LOC_CryoEngines_cryoengine-tharsis-1_tags = orbit propuls rocket vacuum hydrogen hydrolox exten cryo rl60 clust + + // OLD + // GONE SOON #LOC_CryoEngines_cryoengine-125-1_title = KL-1 'Volcano' Cryogenic Rocket Engine - #LOC_CryoEngines_cryoengine-125-1_description = A high power sustainer engine in a small footprint. Well balanced for launch and mid-energy stage applications. - #LOC_CryoEngines_cryoengine-125-1_tags = propuls rocket sustain hydrogen hydrolox cryo volcano + #LOC_CryoEngines_cryoengine-125-1_description = Deprecated + #LOC_CryoEngines_cryoengine-125-1_tags = deprecated #LOC_CryoEngines_cryoengine-125-2_title = CT10 'Chelyabinsk' Cryogenic Rocket Engine - #LOC_CryoEngines_cryoengine-125-2_description = A venerable upper stage engine, efficiently burning liquid hydrogen and oxidizer. Nozzle extends when activated for better stowage. Not great for takeoff. - #LOC_CryoEngines_cryoengine-125-2_tags = orbit propuls rocket vacuum hydrogen hydrolox extensible cryo chelyabinsk + #LOC_CryoEngines_cryoengine-125-2_description = Deprecated + #LOC_CryoEngines_cryoengine-125-2_tags = deprecated + + // YOUR TIME WIL COME #LOC_CryoEngines_cryoengine-25-1_title = KL-21 'Odin' Cryogenic Rocket Engine #LOC_CryoEngines_cryoengine-25-1_description = A mild, well-balanced engine that has a somewhat chequered service record. Hence the manufacturer's discount. #LOC_CryoEngines_cryoengine-25-1_tags = propuls rocket sustain hydrogen hydrolox cryo odin diff --git a/GameData/CryoEngines/Parts/Engine/125/cryoengine-hecate-1.cfg b/GameData/CryoEngines/Parts/Engine/125/cryoengine-hecate-1.cfg new file mode 100644 index 0000000..26ff1d5 --- /dev/null +++ b/GameData/CryoEngines/Parts/Engine/125/cryoengine-hecate-1.cfg @@ -0,0 +1,496 @@ +// Cryo Engines 0.7.0 +// 1.25m upper stage engine (RL-10-C2) +PART +{ + name = cryoengine-hecate-1 + module = Part + author = Chris Adderley + MODEL + { + model = CryoEngines/Assets/Engine/cryoengine-hecate-1 + position = 0.0, 0.0, 0.0 + scale = 1,1,1 + rotation = 0, 0, 0 + } + + rescaleFactor = 1 + + node_stack_top = 0.0, 0.8776748, 0.0, 0.0, 1.0, 0.0, 1 + node_stack_bottom = 0.0, -0.2517818, 0.0, 0.0, -1.0, 0.0, 1 + node_attach =0.0, 0.8776748, 0.0, 0.0, 1.0, 0.0, 1 + + TechRequired = heavyRocketry + entryCost = 3160 + cost = 1020 + category = Propulsion + subcategory = 0 + title = #LOC_CryoEngines_cryoengine-hecate-1_title + manufacturer = #LOC_CryoEngines_manufacturer_kadb_title + description = #LOC_CryoEngines_cryoengine-hecate-1_description + attachRules = 1,1,1,0,0 + mass = 0.55 + // heatConductivity = 0.06 // half default + skinInternalConductionMult = 4.0 + emissiveConstant = 0.8 // engine nozzles are good at radiating. + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + angularDrag = 2 + crashTolerance = 7 + breakingForce = 200 + breakingTorque = 200 + maxTemp = 2000 // = 3600 + bulkheadProfiles = size1, srf + + tags = #LOC_CryoEngines_cryoengine-hecate-1_tags + EFFECTS + { + fx-hecate + { + AUDIO + { + channel = Ship + clip = sound_rocket_hard + volume = 0.0 0.0 + volume = 1.0 1.0 + pitch = 0.0 0.2 + pitch = 1.0 1.0 + loop = true + } + PREFAB_PARTICLE + { + prefabName = fx_smokeTrail_light + transformName = smokeTransform + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.25 + speed = 1.0 1.0 + localOffset = 0, 0, 1 + } + MODEL_MULTI_PARTICLE + { + name = core + modelName = CryoEngines/FX/fx-hecate-core-1 + transformName = fxTransformCore + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.5 + speed = 1.0 1.2 + } + MODEL_MULTI_PARTICLE + { + name = plume + modelName = CryoEngines/FX/fx-hecate-plume-1 + transformName = fxTransformPlume + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.5 + speed = 1.0 1.2 + } + } + engage + { + AUDIO + { + channel = Ship + clip = sound_vent_soft + volume = 1.0 + pitch = 2.0 + loop = false + } + } + flameout + { + PREFAB_PARTICLE + { + prefabName = fx_exhaustSparks_flameout_2 + transformName = thrustTransform + oneShot = true + } + AUDIO + { + channel = Ship + clip = sound_explosion_low + volume = 1.0 + pitch = 2.0 + loop = false + } + } + } + MODULE + { + name = ModuleEnginesFX + thrustVectorTransformName = thrustTransform + engineID = Primary + runningEffectName = fx-hecate + exhaustDamage = True + ignitionThreshold = 0.1 + minThrust = 0 + maxThrust = 55 + heatProduction = 137.1163876 + fxOffset = 0, 1.5, 0 + EngineType = LiquidFuel + PROPELLANT + { + name = LqdHydrogen + ratio = 1.5 + DrawGauge = True + } + PROPELLANT + { + name = Oxidizer + ratio = 0.1 + } + atmosphereCurve + { + key = 0 465 + key = 1 140 + key = 4 0.001 + } + } + MODULE + { + name = ModuleGimbal + gimbalTransformName = GimbalBone + gimbalRange = 3.5 + } + MODULE + { + name = ModuleDeployableEngine + EngineAnimationName = CryoEngine125-2-Extend + WaitForAnimation = 0.95 + Layer = 1 + OneAnimationForAll = true + } + MODULE + { + name = ModuleAlternator + RESOURCE + { + name = ElectricCharge + rate = 4.0 + } + } + RESOURCE + { + name = ElectricCharge + amount = 0 + maxAmount = 0 + isTweakable = false + hideFlow = true + } + MODULE + { + name = ModuleB9PartSwitch + moduleID = meshSwitch + switcherDescription = #LOC_CryoEngines_engine_switcher_mount_title + affectDragCubes = false + SUBTYPE + { + name = 1.25m + title = #LOC_CryoEngines_engine_switcher_mount_variant2 + transform = RingStructure + transform = ColliderB + } + SUBTYPE + { + name = Compact + title = #LOC_CryoEngines_engine_switcher_mount_variant5 + transform = Structure + transform = ColliderB_Alt + } + } + + MODULE + { + name = FXModuleLookAtConstraint + + + // CylA + CONSTRAINLOOKFX + { + targetName = CylSheathA001 + rotatorsName = CylA001 + } + CONSTRAINLOOKFX + { + targetName = CylSheathA002 + rotatorsName = CylA002 + } + CONSTRAINLOOKFX + { + targetName = CylSheathA003 + rotatorsName = CylA003 + } + CONSTRAINLOOKFX + { + targetName = CylA001 + rotatorsName = CylSheathA001 + } + CONSTRAINLOOKFX + { + targetName = CylA002 + rotatorsName = CylSheathA002 + } + CONSTRAINLOOKFX + { + targetName = CylA003 + rotatorsName = CylSheathA003 + } + + // CylB + CONSTRAINLOOKFX + { + targetName = CylSheathB001 + rotatorsName = CylB001 + } + CONSTRAINLOOKFX + { + targetName = CylSheathB002 + rotatorsName = CylB002 + } + CONSTRAINLOOKFX + { + targetName = CylSheathB003 + rotatorsName = CylB003 + } + CONSTRAINLOOKFX + { + targetName = CylB001 + rotatorsName = CylSheathB001 + } + CONSTRAINLOOKFX + { + targetName = CylB002 + rotatorsName = CylSheathB002 + } + CONSTRAINLOOKFX + { + targetName = CylB003 + rotatorsName = CylSheathB003 + } + + // Extenders + CONSTRAINLOOKFX + { + targetName = ExtenderTarget001 + rotatorsName = LinkExtend001 + } + CONSTRAINLOOKFX + { + targetName = ExtenderTarget002 + rotatorsName = LinkExtend002 + } + CONSTRAINLOOKFX + { + targetName = ExtenderTarget003 + rotatorsName = LinkExtend003 + } + } + + MODULE + { + name = ModuleJettison + jettisonName = Shroud + bottomNodeName = bottom + isFairing = True + jettisonedObjectMass = 0.1 + jettisonForce = 5 + jettisonDirection = 0 0 1 + } + MODULE + { + name = ModuleTestSubject + useStaging = True + useEvent = True + situationMask = 127 + CONSTRAINT + { + type = REPEATABILITY + value = ALWAYS + prestige = Trivial + } + CONSTRAINT + { + type = REPEATABILITY + value = BODYANDSITUATION + prestige = Significant + } + CONSTRAINT + { + type = REPEATABILITY + value = ONCEPERPART + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 4000 + prestige = Trivial + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 8000 + prestige = Trivial + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 2000 + prestige = Significant + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 4000 + prestige = Significant + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 1000 + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 2000 + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDE + test = GT + value = 0 // this just registers altitude as something to care about + situationMask = 8 + } + CONSTRAINT + { + type = ALTITUDE + test = LT + value = 300000 + situationMask = 16 + body = _NotSun + } + CONSTRAINT + { + type = ALTITUDE + test = LT + value = 600000 + situationMask = 32 + body = _NotSun + } + CONSTRAINT + { + type = SPEED + test = GT + value = 0 + situationMask = 8 + prestige = Trivial + } + CONSTRAINT + { + type = SPEED + test = LT + value = 600 + situationMask = 8 + prestige = Trivial + } + CONSTRAINT + { + type = SPEED + test = GT + value = 300 + situationMask = 8 + prestige = Significant + } + CONSTRAINT + { + type = SPEED + test = LT + value = 1200 + situationMask = 8 + prestige = Significant + } + CONSTRAINT + { + type = SPEED + test = GT + value = 600 + situationMask = 8 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEED + test = LT + value = 2500 + situationMask = 8 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 200 + prestige = Trivial + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 100 + prestige = Trivial + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 100 + prestige = Significant + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 50 + prestige = Significant + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 50 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 20 + prestige = Exceptional + } + } + MODULE + { + name = ModuleSurfaceFX + thrustProviderModuleIndex = 0 + fxMax = 0.3 + maxDistance = 30 + falloff = 1.7 + thrustTransformName = thrustTransform + } +} diff --git a/GameData/CryoEngines/Parts/Engine/125/cryoengine-vesuvius-1.cfg b/GameData/CryoEngines/Parts/Engine/125/cryoengine-vesuvius-1.cfg new file mode 100644 index 0000000..817cafa --- /dev/null +++ b/GameData/CryoEngines/Parts/Engine/125/cryoengine-vesuvius-1.cfg @@ -0,0 +1,505 @@ +// Cryo Engines 0.7.0 +// 1.25m sustainer engine (Vulcain 2) +PART +{ + name = cryoengine-vesuvius-1 + module = Part + author = Chris Adderley + MODEL + { + model = CryoEngines/Assets/Engine/cryoengine-vesuvius-1 + position = 0.0, 0.0, 0.0 + scale = 1,1,1 + rotation = 0, 0, 0 + } + rescaleFactor = 1 + node_stack_top = 0.0, 0.6956104, 0.0, 0.0, 1.0, 0.0, 1 + node_stack_bottom = 0.0, -0.8083692, 0.0, 0.0, -1.0, 0.0, 1 + node_attach = 0.0, 0.6956104, 0.0, 0.0, 1.0, 0.0, 1 + + TechRequired = advRocketry + entryCost = 4500 + cost = 1600 + category = Propulsion + subcategory = 0 + title = #LOC_CryoEngines_cryoengine-vesuvius-1_title + manufacturer = #LOC_CryoEngines_manufacturer_kadb_title + description = #LOC_CryoEngines_cryoengine-vesuvius-1_description + attachRules = 1,1,1,0,0 + mass = 1.30 + // heatConductivity = 0.06 // half default + skinInternalConductionMult = 4.0 + emissiveConstant = 0.8 // engine nozzles are good at radiating. + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + angularDrag = 2 + crashTolerance = 7 + breakingForce = 200 + breakingTorque = 200 + maxTemp = 2000 // = 3600 + bulkheadProfiles = size1 + tags = #LOC_CryoEngines_cryoengine-vesuvius-1_tags + EFFECTS + { + fx-vesuvius + { + AUDIO + { + channel = Ship + clip = sound_rocket_hard + volume = 0.0 0.0 + volume = 1.0 1.0 + pitch = 0.0 0.2 + pitch = 1.0 1.0 + loop = true + } + PREFAB_PARTICLE + { + prefabName = fx_smokeTrail_light + transformName = smokeTransform + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.25 + speed = 1.0 1.0 + localOffset = 0, 0, 0 + } + MODEL_MULTI_PARTICLE + { + name = core + modelName = CryoEngines/FX/fx-vesuvius-core-1 + transformName = fxTransformCore + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.5 + speed = 1.0 1.2 + } + MODEL_MULTI_PARTICLE + { + name = plume + modelName = CryoEngines/FX/fx-vesuvius-plume-1 + transformName = fxTransformPlume + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.5 + speed = 1.0 1.2 + } + } + engage + { + AUDIO + { + channel = Ship + clip = sound_vent_soft + volume = 1.0 + pitch = 2.0 + loop = false + } + } + flameout + { + PREFAB_PARTICLE + { + prefabName = fx_exhaustSparks_flameout_2 + transformName = thrustTransform + oneShot = true + } + AUDIO + { + channel = Ship + clip = sound_explosion_low + volume = 1.0 + pitch = 2.0 + loop = false + } + } + } + MODULE + { + name = ModuleEnginesFX + thrustVectorTransformName = thrustTransform + engineID = Primary + runningEffectName = fx-vesuvius + exhaustDamage = True + ignitionThreshold = 0.1 + minThrust = 0 + maxThrust = 230 + heatProduction = 227.6627959 + fxOffset = 0, 0, 0 + EngineType = LiquidFuel + PROPELLANT + { + name = LqdHydrogen + ratio = 1.5 + DrawGauge = True + } + PROPELLANT + { + name = Oxidizer + ratio = 0.1 + } + atmosphereCurve + { + key = 0 422 + key = 1 385 + key = 4 0.001 + } + } + MODULE + { + name = ModuleGimbal + gimbalTransformName = GimbalBone + gimbalRange = 1.5 + } + + MODULE + { + name = ModuleAlternator + RESOURCE + { + name = ElectricCharge + rate = 4.0 + } + } + RESOURCE + { + name = ElectricCharge + amount = 0 + maxAmount = 0 + isTweakable = false + hideFlow = true + } + + MODULE + { + name = ModuleJettison + jettisonName = Shroud + bottomNodeName = bottom + isFairing = True + jettisonedObjectMass = 0.1 + jettisonForce = 5 + jettisonDirection = 0 0 1 + } + MODULE + { + name = ModuleB9PartSwitch + moduleID = meshSwitch + switcherDescription = #LOC_CryoEngines_engine_switcher_mount_title + affectDragCubes = false + SUBTYPE + { + name = 1.25m + title = #LOC_CryoEngines_engine_switcher_mount_variant2 + transform = ColliderB + transform = RingStructure + transform = Cyl001 + transform = Cyl002 + transform = Cyl003 + transform = Cyl004 + transform = CylSleeve001 + transform = CylSleeve002 + transform = CylSleeve003 + transform = CylSleeve004 + + } + + SUBTYPE + { + name = Compact + title = #LOC_CryoEngines_engine_switcher_mount_variant5 + transform = ColliderB_Alt + transform = Structure + transform = Cyl005 + transform = Cyl006 + transform = Cyl007 + transform = Cyl008 + transform = CylSleeve005 + transform = CylSleeve006 + transform = CylSleeve007 + transform = CylSleeve008 + } + } + MODULE + { + name = FXModuleLookAtConstraint + + // Ringed + CONSTRAINLOOKFX + { + targetName = CylSleeve001 + rotatorsName = Cyl001 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve002 + rotatorsName = Cyl002 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve003 + rotatorsName = Cyl003 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve004 + rotatorsName = Cyl004 + } + CONSTRAINLOOKFX + { + targetName = Cyl001 + rotatorsName = CylSleeve001 + } + CONSTRAINLOOKFX + { + targetName = Cyl002 + rotatorsName = CylSleeve002 + } + CONSTRAINLOOKFX + { + targetName = Cyl003 + rotatorsName = CylSleeve003 + } + CONSTRAINLOOKFX + { + targetName = Cyl004 + rotatorsName = CylSleeve004 + } + // Unringed + CONSTRAINLOOKFX + { + targetName = CylSleeve005 + rotatorsName = Cyl005 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve006 + rotatorsName = Cyl006 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve007 + rotatorsName = Cyl007 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve008 + rotatorsName = Cyl008 + } + CONSTRAINLOOKFX + { + targetName = Cyl005 + rotatorsName = CylSleeve005 + } + CONSTRAINLOOKFX + { + targetName = Cyl006 + rotatorsName = CylSleeve006 + } + CONSTRAINLOOKFX + { + targetName = Cyl007 + rotatorsName = CylSleeve007 + } + CONSTRAINLOOKFX + { + targetName = Cyl008 + rotatorsName = CylSleeve008 + } + } + + MODULE + { + name = ModuleTestSubject + useStaging = True + useEvent = True + situationMask = 127 + CONSTRAINT + { + type = REPEATABILITY + value = ALWAYS + prestige = Trivial + } + CONSTRAINT + { + type = REPEATABILITY + value = BODYANDSITUATION + prestige = Significant + } + CONSTRAINT + { + type = REPEATABILITY + value = ONCEPERPART + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 4000 + prestige = Trivial + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 8000 + prestige = Trivial + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 2000 + prestige = Significant + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 4000 + prestige = Significant + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 1000 + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 2000 + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDE + test = GT + value = 0 // this just registers altitude as something to care about + situationMask = 8 + } + CONSTRAINT + { + type = ALTITUDE + test = LT + value = 300000 + situationMask = 16 + body = _NotSun + } + CONSTRAINT + { + type = ALTITUDE + test = LT + value = 600000 + situationMask = 32 + body = _NotSun + } + CONSTRAINT + { + type = SPEED + test = GT + value = 0 + situationMask = 8 + prestige = Trivial + } + CONSTRAINT + { + type = SPEED + test = LT + value = 600 + situationMask = 8 + prestige = Trivial + } + CONSTRAINT + { + type = SPEED + test = GT + value = 300 + situationMask = 8 + prestige = Significant + } + CONSTRAINT + { + type = SPEED + test = LT + value = 1200 + situationMask = 8 + prestige = Significant + } + CONSTRAINT + { + type = SPEED + test = GT + value = 600 + situationMask = 8 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEED + test = LT + value = 2500 + situationMask = 8 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 200 + prestige = Trivial + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 100 + prestige = Trivial + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 100 + prestige = Significant + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 50 + prestige = Significant + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 50 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 20 + prestige = Exceptional + } + } + MODULE + { + name = ModuleSurfaceFX + thrustProviderModuleIndex = 0 + fxMax = 0.5 + maxDistance = 30 + falloff = 1.5 + thrustTransformName = thrustTransform + } +} diff --git a/GameData/CryoEngines/Parts/Engine/1875/cryoengine-erebus-1.cfg b/GameData/CryoEngines/Parts/Engine/1875/cryoengine-erebus-1.cfg new file mode 100644 index 0000000..f988d02 --- /dev/null +++ b/GameData/CryoEngines/Parts/Engine/1875/cryoengine-erebus-1.cfg @@ -0,0 +1,505 @@ +// Cryo Engines 0.7.0 +// 1.875m sustainer engine (RD-0120) +PART +{ + name = cryoengine-erebus-1 + module = Part + author = Chris Adderley + MODEL + { + model = CryoEngines/Assets/Engine/cryoengine-erebus-1 + position = 0.0, 0.0, 0.0 + scale = 1,1,1 + rotation = 0, 0, 0 + } + rescaleFactor = 1 + node_stack_top = 0.0, 0.6956104, 0.0, 0.0, 1.0, 0.0, 1 + node_stack_bottom = 0.0, -0.8083692, 0.0, 0.0, -1.0, 0.0, 1 + node_attach = 0.0, 0.6956104, 0.0, 0.0, 1.0, 0.0, 1 + + TechRequired = advRocketry + entryCost = 4500 + cost = 1600 + category = Propulsion + subcategory = 0 + title = #LOC_CryoEngines_cryoengine-erebus-1_title + manufacturer = #LOC_CryoEngines_manufacturer_kadb_title + description = #LOC_CryoEngines_cryoengine-erebus-1_description + attachRules = 1,1,1,0,0 + mass = 1.30 + // heatConductivity = 0.06 // half default + skinInternalConductionMult = 4.0 + emissiveConstant = 0.8 // engine nozzles are good at radiating. + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + angularDrag = 2 + crashTolerance = 7 + breakingForce = 200 + breakingTorque = 200 + maxTemp = 2000 // = 3600 + bulkheadProfiles = size1 + tags = #LOC_CryoEngines_cryoengine-erebus-1_tags + EFFECTS + { + fx-erebus + { + AUDIO + { + channel = Ship + clip = sound_rocket_hard + volume = 0.0 0.0 + volume = 1.0 1.0 + pitch = 0.0 0.2 + pitch = 1.0 1.0 + loop = true + } + PREFAB_PARTICLE + { + prefabName = fx_smokeTrail_light + transformName = smokeTransform + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.25 + speed = 1.0 1.0 + localOffset = 0, 0, 0 + } + MODEL_MULTI_PARTICLE + { + name = core + modelName = CryoEngines/FX/fx-erebus-core-1 + transformName = fxTransformCore + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.5 + speed = 1.0 1.2 + } + MODEL_MULTI_PARTICLE + { + name = plume + modelName = CryoEngines/FX/fx-erebus-plume-1 + transformName = fxTransformPlume + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.5 + speed = 1.0 1.2 + } + } + engage + { + AUDIO + { + channel = Ship + clip = sound_vent_soft + volume = 1.0 + pitch = 2.0 + loop = false + } + } + flameout + { + PREFAB_PARTICLE + { + prefabName = fx_exhaustSparks_flameout_2 + transformName = thrustTransform + oneShot = true + } + AUDIO + { + channel = Ship + clip = sound_explosion_low + volume = 1.0 + pitch = 2.0 + loop = false + } + } + } + MODULE + { + name = ModuleEnginesFX + thrustVectorTransformName = thrustTransform + engineID = Primary + runningEffectName = fx-erebus + exhaustDamage = True + ignitionThreshold = 0.1 + minThrust = 0 + maxThrust = 230 + heatProduction = 227.6627959 + fxOffset = 0, 0, 0 + EngineType = LiquidFuel + PROPELLANT + { + name = LqdHydrogen + ratio = 1.5 + DrawGauge = True + } + PROPELLANT + { + name = Oxidizer + ratio = 0.1 + } + atmosphereCurve + { + key = 0 422 + key = 1 385 + key = 4 0.001 + } + } + MODULE + { + name = ModuleGimbal + gimbalTransformName = GimbalBone + gimbalRange = 1.5 + } + + MODULE + { + name = ModuleAlternator + RESOURCE + { + name = ElectricCharge + rate = 4.0 + } + } + RESOURCE + { + name = ElectricCharge + amount = 0 + maxAmount = 0 + isTweakable = false + hideFlow = true + } + + MODULE + { + name = ModuleJettison + jettisonName = Shroud + bottomNodeName = bottom + isFairing = True + jettisonedObjectMass = 0.1 + jettisonForce = 5 + jettisonDirection = 0 0 1 + } + MODULE + { + name = ModuleB9PartSwitch + moduleID = meshSwitch + switcherDescription = #LOC_CryoEngines_engine_switcher_mount_title + affectDragCubes = false + SUBTYPE + { + name = 1.25m + title = #LOC_CryoEngines_engine_switcher_mount_variant2 + transform = ColliderB + transform = RingStructure + transform = Cyl001 + transform = Cyl002 + transform = Cyl003 + transform = Cyl004 + transform = CylSleeve001 + transform = CylSleeve002 + transform = CylSleeve003 + transform = CylSleeve004 + + } + + SUBTYPE + { + name = Compact + title = #LOC_CryoEngines_engine_switcher_mount_variant5 + transform = ColliderB_Alt + transform = Structure + transform = Cyl005 + transform = Cyl006 + transform = Cyl007 + transform = Cyl008 + transform = CylSleeve005 + transform = CylSleeve006 + transform = CylSleeve007 + transform = CylSleeve008 + } + } + MODULE + { + name = FXModuleLookAtConstraint + + // Ringed + CONSTRAINLOOKFX + { + targetName = CylSleeve001 + rotatorsName = Cyl001 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve002 + rotatorsName = Cyl002 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve003 + rotatorsName = Cyl003 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve004 + rotatorsName = Cyl004 + } + CONSTRAINLOOKFX + { + targetName = Cyl001 + rotatorsName = CylSleeve001 + } + CONSTRAINLOOKFX + { + targetName = Cyl002 + rotatorsName = CylSleeve002 + } + CONSTRAINLOOKFX + { + targetName = Cyl003 + rotatorsName = CylSleeve003 + } + CONSTRAINLOOKFX + { + targetName = Cyl004 + rotatorsName = CylSleeve004 + } + // Unringed + CONSTRAINLOOKFX + { + targetName = CylSleeve005 + rotatorsName = Cyl005 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve006 + rotatorsName = Cyl006 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve007 + rotatorsName = Cyl007 + } + CONSTRAINLOOKFX + { + targetName = CylSleeve008 + rotatorsName = Cyl008 + } + CONSTRAINLOOKFX + { + targetName = Cyl005 + rotatorsName = CylSleeve005 + } + CONSTRAINLOOKFX + { + targetName = Cyl006 + rotatorsName = CylSleeve006 + } + CONSTRAINLOOKFX + { + targetName = Cyl007 + rotatorsName = CylSleeve007 + } + CONSTRAINLOOKFX + { + targetName = Cyl008 + rotatorsName = CylSleeve008 + } + } + + MODULE + { + name = ModuleTestSubject + useStaging = True + useEvent = True + situationMask = 127 + CONSTRAINT + { + type = REPEATABILITY + value = ALWAYS + prestige = Trivial + } + CONSTRAINT + { + type = REPEATABILITY + value = BODYANDSITUATION + prestige = Significant + } + CONSTRAINT + { + type = REPEATABILITY + value = ONCEPERPART + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 4000 + prestige = Trivial + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 8000 + prestige = Trivial + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 2000 + prestige = Significant + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 4000 + prestige = Significant + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 1000 + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 2000 + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDE + test = GT + value = 0 // this just registers altitude as something to care about + situationMask = 8 + } + CONSTRAINT + { + type = ALTITUDE + test = LT + value = 300000 + situationMask = 16 + body = _NotSun + } + CONSTRAINT + { + type = ALTITUDE + test = LT + value = 600000 + situationMask = 32 + body = _NotSun + } + CONSTRAINT + { + type = SPEED + test = GT + value = 0 + situationMask = 8 + prestige = Trivial + } + CONSTRAINT + { + type = SPEED + test = LT + value = 600 + situationMask = 8 + prestige = Trivial + } + CONSTRAINT + { + type = SPEED + test = GT + value = 300 + situationMask = 8 + prestige = Significant + } + CONSTRAINT + { + type = SPEED + test = LT + value = 1200 + situationMask = 8 + prestige = Significant + } + CONSTRAINT + { + type = SPEED + test = GT + value = 600 + situationMask = 8 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEED + test = LT + value = 2500 + situationMask = 8 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 200 + prestige = Trivial + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 100 + prestige = Trivial + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 100 + prestige = Significant + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 50 + prestige = Significant + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 50 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 20 + prestige = Exceptional + } + } + MODULE + { + name = ModuleSurfaceFX + thrustProviderModuleIndex = 0 + fxMax = 0.5 + maxDistance = 30 + falloff = 1.5 + thrustTransformName = thrustTransform + } +} diff --git a/GameData/CryoEngines/Parts/Engine/1875/cryoengine-pavonis-1.cfg b/GameData/CryoEngines/Parts/Engine/1875/cryoengine-pavonis-1.cfg new file mode 100644 index 0000000..af64a9b --- /dev/null +++ b/GameData/CryoEngines/Parts/Engine/1875/cryoengine-pavonis-1.cfg @@ -0,0 +1,497 @@ +// Cryo Engines 0.7.0 +// 1.875m upper stage engine (RL-60) +PART +{ + name = cryoengine-pavonis-1 + module = Part + author = Chris Adderley + MODEL + { + model = CryoEngines/Assets/Engine/cryoengine-pavonis-1 + position = 0.0, 0.0, 0.0 + scale = 1,1,1 + rotation = 0, 0, 0 + } + + rescaleFactor = 1 + + node_stack_top = 0.0, 0.8776748, 0.0, 0.0, 1.0, 0.0, 1 + node_stack_bottom = 0.0, -0.2517818, 0.0, 0.0, -1.0, 0.0, 1 + + node_attach =0.0, 0.8776748, 0.0, 0.0, 1.0, 0.0, 1 + + TechRequired = heavyRocketry + entryCost = 3160 + cost = 1020 + category = Propulsion + subcategory = 0 + title = #LOC_CryoEngines_cryoengine-pavonis-1_title + manufacturer = #LOC_CryoEngines_manufacturer_kadb_title + description = #LOC_CryoEngines_cryoengine-pavonis-1_description + attachRules = 1,1,1,0,0 + mass = 0.55 + // heatConductivity = 0.06 // half default + skinInternalConductionMult = 4.0 + emissiveConstant = 0.8 // engine nozzles are good at radiating. + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + angularDrag = 2 + crashTolerance = 7 + breakingForce = 200 + breakingTorque = 200 + maxTemp = 2000 // = 3600 + bulkheadProfiles = size1p5, srf + + tags = #LOC_CryoEngines_cryoengine-pavonis-1_tags + EFFECTS + { + fx-pavonis + { + AUDIO + { + channel = Ship + clip = sound_rocket_hard + volume = 0.0 0.0 + volume = 1.0 1.0 + pitch = 0.0 0.2 + pitch = 1.0 1.0 + loop = true + } + PREFAB_PARTICLE + { + prefabName = fx_smokeTrail_light + transformName = smokeTransform + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.25 + speed = 1.0 1.0 + localOffset = 0, 0, 1 + } + MODEL_MULTI_PARTICLE + { + name = core + modelName = CryoEngines/FX/fx-pavonis-core-1 + transformName = fxTransformCore + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.5 + speed = 1.0 1.2 + } + MODEL_MULTI_PARTICLE + { + name = plume + modelName = CryoEngines/FX/fx-pavonis-plume-1 + transformName = fxTransformPlume + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.5 + speed = 1.0 1.2 + } + } + engage + { + AUDIO + { + channel = Ship + clip = sound_vent_soft + volume = 1.0 + pitch = 2.0 + loop = false + } + } + flameout + { + PREFAB_PARTICLE + { + prefabName = fx_exhaustSparks_flameout_2 + transformName = thrustTransform + oneShot = true + } + AUDIO + { + channel = Ship + clip = sound_explosion_low + volume = 1.0 + pitch = 2.0 + loop = false + } + } + } + MODULE + { + name = ModuleEnginesFX + thrustVectorTransformName = thrustTransform + engineID = Primary + runningEffectName = fx-pavonis + exhaustDamage = True + ignitionThreshold = 0.1 + minThrust = 0 + maxThrust = 55 + heatProduction = 137.1163876 + fxOffset = 0, 1.5, 0 + EngineType = LiquidFuel + PROPELLANT + { + name = LqdHydrogen + ratio = 1.5 + DrawGauge = True + } + PROPELLANT + { + name = Oxidizer + ratio = 0.1 + } + atmosphereCurve + { + key = 0 465 + key = 1 140 + key = 4 0.001 + } + } + MODULE + { + name = ModuleGimbal + gimbalTransformName = GimbalBone + gimbalRange = 3.5 + } + MODULE + { + name = ModuleDeployableEngine + EngineAnimationName = CryoEngine125-2-Extend + WaitForAnimation = 0.95 + Layer = 1 + OneAnimationForAll = true + } + MODULE + { + name = ModuleAlternator + RESOURCE + { + name = ElectricCharge + rate = 4.0 + } + } + RESOURCE + { + name = ElectricCharge + amount = 0 + maxAmount = 0 + isTweakable = false + hideFlow = true + } + MODULE + { + name = ModuleB9PartSwitch + moduleID = meshSwitch + switcherDescription = #LOC_CryoEngines_engine_switcher_mount_title + affectDragCubes = false + SUBTYPE + { + name = 1.875m + title = #LOC_CryoEngines_engine_switcher_mount_variant7 + transform = RingStructure + transform = ColliderB + } + SUBTYPE + { + name = Compact + title = #LOC_CryoEngines_engine_switcher_mount_variant5 + transform = Structure + transform = ColliderB_Alt + } + } + + MODULE + { + name = FXModuleLookAtConstraint + + + // CylA + CONSTRAINLOOKFX + { + targetName = CylSheathA001 + rotatorsName = CylA001 + } + CONSTRAINLOOKFX + { + targetName = CylSheathA002 + rotatorsName = CylA002 + } + CONSTRAINLOOKFX + { + targetName = CylSheathA003 + rotatorsName = CylA003 + } + CONSTRAINLOOKFX + { + targetName = CylA001 + rotatorsName = CylSheathA001 + } + CONSTRAINLOOKFX + { + targetName = CylA002 + rotatorsName = CylSheathA002 + } + CONSTRAINLOOKFX + { + targetName = CylA003 + rotatorsName = CylSheathA003 + } + + // CylB + CONSTRAINLOOKFX + { + targetName = CylSheathB001 + rotatorsName = CylB001 + } + CONSTRAINLOOKFX + { + targetName = CylSheathB002 + rotatorsName = CylB002 + } + CONSTRAINLOOKFX + { + targetName = CylSheathB003 + rotatorsName = CylB003 + } + CONSTRAINLOOKFX + { + targetName = CylB001 + rotatorsName = CylSheathB001 + } + CONSTRAINLOOKFX + { + targetName = CylB002 + rotatorsName = CylSheathB002 + } + CONSTRAINLOOKFX + { + targetName = CylB003 + rotatorsName = CylSheathB003 + } + + // Extenders + CONSTRAINLOOKFX + { + targetName = ExtenderTarget001 + rotatorsName = LinkExtend001 + } + CONSTRAINLOOKFX + { + targetName = ExtenderTarget002 + rotatorsName = LinkExtend002 + } + CONSTRAINLOOKFX + { + targetName = ExtenderTarget003 + rotatorsName = LinkExtend003 + } + } + + MODULE + { + name = ModuleJettison + jettisonName = Shroud + bottomNodeName = bottom + isFairing = True + jettisonedObjectMass = 0.1 + jettisonForce = 5 + jettisonDirection = 0 0 1 + } + MODULE + { + name = ModuleTestSubject + useStaging = True + useEvent = True + situationMask = 127 + CONSTRAINT + { + type = REPEATABILITY + value = ALWAYS + prestige = Trivial + } + CONSTRAINT + { + type = REPEATABILITY + value = BODYANDSITUATION + prestige = Significant + } + CONSTRAINT + { + type = REPEATABILITY + value = ONCEPERPART + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 4000 + prestige = Trivial + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 8000 + prestige = Trivial + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 2000 + prestige = Significant + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 4000 + prestige = Significant + } + CONSTRAINT + { + type = ALTITUDEENV + test = GT + value = 1000 + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDEENV + test = LT + value = 2000 + prestige = Exceptional + } + CONSTRAINT + { + type = ALTITUDE + test = GT + value = 0 // this just registers altitude as something to care about + situationMask = 8 + } + CONSTRAINT + { + type = ALTITUDE + test = LT + value = 300000 + situationMask = 16 + body = _NotSun + } + CONSTRAINT + { + type = ALTITUDE + test = LT + value = 600000 + situationMask = 32 + body = _NotSun + } + CONSTRAINT + { + type = SPEED + test = GT + value = 0 + situationMask = 8 + prestige = Trivial + } + CONSTRAINT + { + type = SPEED + test = LT + value = 600 + situationMask = 8 + prestige = Trivial + } + CONSTRAINT + { + type = SPEED + test = GT + value = 300 + situationMask = 8 + prestige = Significant + } + CONSTRAINT + { + type = SPEED + test = LT + value = 1200 + situationMask = 8 + prestige = Significant + } + CONSTRAINT + { + type = SPEED + test = GT + value = 600 + situationMask = 8 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEED + test = LT + value = 2500 + situationMask = 8 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 200 + prestige = Trivial + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 100 + prestige = Trivial + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 100 + prestige = Significant + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 50 + prestige = Significant + } + CONSTRAINT + { + type = SPEEDENV + test = LT + value = 50 + prestige = Exceptional + } + CONSTRAINT + { + type = SPEEDENV + test = GT + value = 20 + prestige = Exceptional + } + } + MODULE + { + name = ModuleSurfaceFX + thrustProviderModuleIndex = 0 + fxMax = 0.3 + maxDistance = 30 + falloff = 1.7 + thrustTransformName = thrustTransform + } +} diff --git a/GameData/CryoEngines/Patches/CryoEnginesCTT.cfg b/GameData/CryoEngines/Patches/CryoEnginesCTT.cfg index cfd592c..ef0ab38 100644 --- a/GameData/CryoEngines/Patches/CryoEnginesCTT.cfg +++ b/GameData/CryoEngines/Patches/CryoEnginesCTT.cfg @@ -1,5 +1,9 @@ -// CTT Compatability for CryoEngines v0.2+ +// CTT Compatability for CryoEngines v0.7.0+ +// New (post-0.7.0 parts) + + +// Old (pre-0.7.0 parts) // Big engines in ExpRocketry @PART[cryoengine-375-1]:NEEDS[CommunityTechTree] { @@ -8,4 +12,4 @@ @PART[cryoengine-375-2]:NEEDS[CommunityTechTree] { @TechRequired = experimentalRocketry -} \ No newline at end of file +} diff --git a/GameData/CryoEngines/Patches/CryoEnginesEngineLight.cfg b/GameData/CryoEngines/Patches/CryoEnginesEngineLight.cfg index 0356961..08380a0 100644 --- a/GameData/CryoEngines/Patches/CryoEnginesEngineLight.cfg +++ b/GameData/CryoEngines/Patches/CryoEnginesEngineLight.cfg @@ -3,20 +3,20 @@ //EngineLighting by tajampi (for KSP 1.5.1) https://forum.kerbalspaceprogram.com/index.php?/topic/109845-151-engine-lighting-151-little-config-update-13-october/ //For KSP version 1.5.1 +// New (post-0.7.0 parts) - -//Patch Engine Light Colors +// Old (pre-0.7.0 parts) @PART[cryoengine-125-1]:AFTER[EngineLight]:NEEDS[EngineLight] { @MODULE[EngineLightEffect] - { + { @enableEmissiveLight = true // engines with no emissive will shut this off automatically @engineEmissiveMultiplier = 1.33 // scale emissive brightness @jitterMultiplier = 0.13 // controls main engine light flicker intensity @lightPower = 1.1 @lightRange = 20 @maxLightPower = 23.0 - + @exhaustRed = 1 @exhaustGreen = 0.88 @exhaustBlue = 0.68 @@ -27,7 +27,7 @@ @PART[cryoengine-125-2]:AFTER[EngineLight]:NEEDS[EngineLight] { @MODULE[EngineLightEffect] - { + { @enableEmissiveLight = true // engines with no emissive will shut this off automatically @engineEmissiveMultiplier = 1.33 // scale emissive brightness @jitterMultiplier = 0.12 // controls main engine light flicker intensity @@ -38,21 +38,21 @@ @exhaustRed = 0.85 @exhaustGreen = 0.85 @exhaustBlue = 0.9 - + @exhaustOffsetZ = #$../node_stack_bottom[1]$ } } @PART[cryoengine-25-1]:AFTER[EngineLight]:NEEDS[EngineLight] { @MODULE[EngineLightEffect] - { + { @enableEmissiveLight = true // engines with no emissive will shut this off automatically @engineEmissiveMultiplier = 1.33 // scale emissive brightness @jitterMultiplier = 0.12 // controls main engine light flicker intensity @lightPower = 1.2 @lightRange = 30 @maxLightPower = 23.0 - + @exhaustRed = 1 @exhaustGreen = 0.88 @exhaustBlue = 0.68 @@ -63,7 +63,7 @@ @PART[cryoengine-25-2]:AFTER[EngineLight]:NEEDS[EngineLight] { @MODULE[EngineLightEffect] - { + { @enableEmissiveLight = true // engines with no emissive will shut this off automatically @engineEmissiveMultiplier = 1.33 // scale emissive brightness @jitterMultiplier = 0.11 // controls main engine light flicker intensity @@ -81,14 +81,14 @@ @PART[cryoEngine-375-1]:AFTER[EngineLight]:NEEDS[EngineLight] { @MODULE[EngineLightEffect] - { + { @enableEmissiveLight = true // engines with no emissive will shut this off automatically @engineEmissiveMultiplier = 1.33 // scale emissive brightness @jitterMultiplier = 0.11 // controls main engine light flicker intensity @lightPower = 1.3 @lightRange = 40 @maxLightPower = 23.0 - + @exhaustRed = 1 @exhaustGreen = 0.88 @exhaustBlue = 0.68 @@ -99,18 +99,18 @@ @PART[cryoengine-375-2]:AFTER[EngineLight]:NEEDS[EngineLight] { @MODULE[EngineLightEffect] - { + { @enableEmissiveLight = true // engines with no emissive will shut this off automatically @engineEmissiveMultiplier = 1.33 // scale emissive brightness @jitterMultiplier = 0.11 // controls main engine light flicker intensity @lightPower = 1.0 @lightRange = 9 @maxLightPower = 23.0 - + @exhaustRed = 0.85 @exhaustGreen = 0.85 @exhaustBlue = 0.9 @exhaustOffsetZ = #$../node_stack_bottom[1]$ } -} \ No newline at end of file +} diff --git a/GameData/CryoEngines/Versioning/CryoEngines.version b/GameData/CryoEngines/Versioning/CryoEngines.version index 1579463..416a56d 100644 --- a/GameData/CryoEngines/Versioning/CryoEngines.version +++ b/GameData/CryoEngines/Versioning/CryoEngines.version @@ -5,8 +5,8 @@ "VERSION": { "MAJOR":0, - "MINOR":6, - "PATCH":6, + "MINOR":7, + "PATCH":0, "BUILD":0 }, "KSP_VERSION": diff --git a/README.md b/README.md index 4e8eb2f..5b753a2 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,10 @@ A mod pack for Kerbal Space Program, focused on delivering a new set of engines ## Features -This mod features several new engines that use a new resource, Liquid Hydrogen. This fuel provides awesome efficiency and fuel economy. Added engines are divided into two categories +This mod features several new engines that use a new resource, Liquid Hydrogen. This fuel provides awesome efficiency and fuel economy. Added engines are divided into two categories: -* **Sustainer Engines:** Three sustainer style engines in 1.25m, 2.5m and 3.75m size classes. Sustainers perform well at most altitudes but are less thrusty than LF/O engines -* **Vacuum Engines:** Three vacuum-optimized engines in 1.25m, 2.5m and 3.75m size classes. These engines work best in orbit. +* **Sustainer Engines:** Four sustainer style engines in 1.25m, 1.875m, 2.5m and 3.75m size classes. Sustainers perform well at most altitudes but are less thrusty than LF/O engines, so may require boosters +* **Vacuum Engines:** Four vacuum-optimized engines in 1.25m, 1.875m, 2.5m and 3.75m size classes. These engines work best outside of at atmosphere and don't produce much thrust. In addition, my CryoTanks mod is also bundled to provide fuel handling for Liquid Hydrogen. @@ -28,10 +28,10 @@ For more information, check out the [CryoTanks readme](https://github.com/ChrisA ### Required These components are required for the mod to function and are bundled as part of any download: * [ModuleManager (4.0.2)](https://github.com/sarbian/ModuleManager) -* [B9PartSwitch (2.7.0)](https://github.com/blowfishpro/B9PartSwitch) +* [B9PartSwitch (2.8.0)](https://github.com/blowfishpro/B9PartSwitch) * [Community Resource Pack (1.0.1)](https://github.com/BobPalmer/CommunityResourcePack) -* [CryoTanks (1.1.2)](https://github.com/ChrisAdderley/CryoTanks) -* [DynamicBatteryStorage (1.4.2)](https://github.com/ChrisAdderley/DynamicBatteryStorage) +* [CryoTanks (1.1.4)](https://github.com/ChrisAdderley/CryoTanks) +* [DynamicBatteryStorage (2.0.0)](https://github.com/ChrisAdderley/DynamicBatteryStorage) * [DeployableEngines (1.0.1)](https://github.com/ChrisAdderley/DeployableEngines) ## Installation @@ -45,6 +45,8 @@ NOTE: Do NOT rename or move folders within the GameData folder - this mod uses a Some extra patches are bundled that you can use to tweak your installation. To install them, drop the correct folder from the **Extras** folder into your KSP GameData Folder * **CryoEnginesLFO**: Converts engines to use LF/O instead of LH2/O at the cost of some Isp +* **CryoEnginesNFAero**: Converts some appropriate engines to use LH2/O or LH instead of LF/O with some Isp and thrust tweaks +* **CryoEnginesRestock**: Converts some appropriate engines to use LH2/O instead of LF/O with some Isp and thrust tweaks ## External Mod Compatibility diff --git a/changelog.txt b/changelog.txt index 5b5a6ba..613de5f 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,45 @@ +v0.7.0 +------ +- Updated B9PartSwitch to 2.8.0 +- Updated DynamicBatteryStorage to 2.0.0 + - Complete rebuild + - Mod now acts as a general power and thermal design tool as well as its previous functions + - Added toolbar icon to open a Vessel Systems Management window + - Vessel Systems Management Window + - Allows player to view relevant Thermal and Electrical summary of the current vessel in VAB or flight + - Electrical summary: + - Shows whole-vessel power flows, separated into consumption and generation + - VAB panel has a tool to simulate distance effects on solar panel efficiency + - Estimates time to drain or time to charge batteries + - Can drill down to part categories (eg. Solar Panels, Harvesters, etc) + - Can drill down to individual parts + - Handles these module types + - Stock: ModuleDeployableSolarPanel, ModuleGenerator, ModuleResourceConverter, ModuleActiveRadiator, ModuleResourceHarvester, ModuleCommand, ModuleLight, ModuleDataTransmitter, ModuleEnginesFX, ModuleAlternator + - NF Suite: ModuleCurvedSolarPanel, FissionGenerator, ModuleRadioisotopeGenerator, ModuleCryoTank, ModuleAntimatterTank, ModuleChargeableEngine, ModuleDeployableCentrifuge, DischargeCapacitor (partial) + - RealBattery: RealBattery + - Other: KopernicusSolarPanel + - Thermal mode: + - Shows whole-vessel core heat flows, separated into draw and generation + - Can drill down to part categories (eg. Solar Panels, Harvesters, etc) + - Can drill down to individual parts + - NOTE: does not handle non-core heat(eg re-entry, engines, solar) + - NOTE: does not make a distinction between adjacent-only radiators and full-vessel radiators + - Handles relevant module types + - Stock: ModuleCoreHeat (Passive heat only eg RTG), ModuleResourceConverter, ModuleActiveRadiator, ModuleResourceHarvester + - NF Suite: FissionReactor, ModuleFusionCore + - Customize settings with DynamicBatteryStorageSettings.cfg +- Updated CryoTanks to 1.1.4 + - Changed LH2/O tank switcher patch to not activate cooling by default as such tanks are on average intended to be uncooled (thanks Zorg) +- Soft-deprecated current Volcano and Chelyabinsk engines; they are replaced but nicely removed so people have time to adapt +- Revised 1.25m engines + - CR-2 'Vesuvius' Cryogenic Rocket Engine: Sustainer engine based on Vulcain 2. 1.25m, Boattail and Compact variants + - CE-10 'Hecate' Cryogenic Rocket Engine: Vacuum engine with extensible nozzle based on RL-10-C2. 1.25m and Compact variants +- New 1.875m engines + - CR-0120 'Erebus' Cryogenic Rocket Engine: Sustainer engine based on RD-0120. 1.875m, Boattail and Compact variants + - CE-60 'Pavonis' Cryogenic Rocket Engine: Vacuum engine with extensible nozzle based on RL-60. 1.875 and Compact variants +- New Extras package: CryoEnginesRestock + - Adapts the appropriate ReStock and ReStockPlus engines into cryogenic engines (Vector, Mammoth, Rhino, Skipper, Corgi, Skiff/Caravel) + v0.6.6 ------ - KSP 1.7.x diff --git a/readme.txt b/readme.txt index 9c8c5f0..c100d99 100644 --- a/readme.txt +++ b/readme.txt @@ -1,21 +1,21 @@ ======================== -CRYOGENIC ENGINES v0.6.6 +CRYOGENIC ENGINES v0.7.0 ======================== -This is a pack with several high efficiency engines that run on Liquid Hydrogen and Oxidizer. Liquid Hydrogen is a messy fuel that leaks out of most tanks (slowly) and takes up a lot of space. However engines using it have the highest possible specific impulse, so it can be quite useful. -Included are patches that allow all stock fuel tanks to contain the appropriate resources, and a set of new specialized LiquidHydrogen tanks that are insulated to stop leakage. +This is a pack with several high efficiency engines that run on Liquid Hydrogen and Oxidizer. Liquid Hydrogen is a messy fuel that leaks out of most tanks (slowly) and takes up a lot of space. However engines using it have the highest possible chemical specific impulse, so it can be quite useful. +Included are patches that allow all stock fuel tanks to contain the appropriate resources, and a set of new specialized fuel tanks that are insulated to stop leakage. ============ DEPENDENCIES ============ Required: -- B9PartSwitch (2.7.0) +- B9PartSwitch (2.8.0) - Community Resource Pack (1.0.0) - ModuleManager (v4.0.2) - Deployable Engines (1.0.1) -- DynamicBatteryStorage (1.4.2) -- CryoTanks (1.1.2) +- DynamicBatteryStorage (2.0.0) +- CryoTanks (1.1.4) Optional - Community Tech Tree (v3.0+) @@ -28,8 +28,6 @@ I recommend removing any previous versions of CryoEngines before installing an u To install, place the GameData folder inside your Kerbal Space Program folder. If asked to overwrite files, do so. -If you want your engines to use LF/O instead of LH2/O, drop the CryoEnginesLFO folder (found in the Extras folder in this archive) into your KSP GameData folder. - ====================== INSTALLATION OF EXTRAS ====================== @@ -37,7 +35,8 @@ INSTALLATION OF EXTRAS Some extra patches are bundled that you can use to tweak your installation. To install them, drop the correct folder from the Extras folder in this archive into your KSP GameData Folder CryoEnginesLFO: Converts engines to use LF/O instead of LH2/O at the cost of some Isp -CryoEnginesSurfaceAttach: Surface attach all engines +CryoEnginesNFAero: Surface attach all engines +CryoEnginesRestock: Converts ReStock and Restock+ engines that 'should' be cryogenic to cryogenics ======= KSP-AVC