diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9b7a2e6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+
+*.zip
+*.txt
+*.png
+*.tga
diff --git a/GameData/SterlingSystems/Agency/Categories/CCK.cfg b/GameData/SterlingSystems/Agency/Categories/CCK.cfg
new file mode 100644
index 0000000..da4acef
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/Categories/CCK.cfg
@@ -0,0 +1,15 @@
+@CCKExtraFilterConfig
+{
+ Item
+ {
+ name = Sterling Systems
+ tag = cck-strl
+ normalIcon = SterlingSystems/Agency/Categories/47_N
+ selectedIcon = SterlingSystems/Agency/Categories/47_S
+ usedByMod = Sterling Systems
+ }
+}
+@PART[strl-*]:NEEDS[CommunityCategoryKit]
+{
+ @tags ^= :$: cck-strl:
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Agency/Decals/Decal1.dds b/GameData/SterlingSystems/Agency/Decals/Decal1.dds
new file mode 100644
index 0000000..9d2620d
Binary files /dev/null and b/GameData/SterlingSystems/Agency/Decals/Decal1.dds differ
diff --git a/GameData/SterlingSystems/Agency/Decals/Decal2.dds b/GameData/SterlingSystems/Agency/Decals/Decal2.dds
new file mode 100644
index 0000000..15b0499
Binary files /dev/null and b/GameData/SterlingSystems/Agency/Decals/Decal2.dds differ
diff --git a/GameData/SterlingSystems/Agency/Flags/Sterling Age 01.png b/GameData/SterlingSystems/Agency/Flags/Sterling Age 01.png
new file mode 100644
index 0000000..b8e9c3e
Binary files /dev/null and b/GameData/SterlingSystems/Agency/Flags/Sterling Age 01.png differ
diff --git a/GameData/SterlingSystems/Agency/Flags/Sterling Age 02.png b/GameData/SterlingSystems/Agency/Flags/Sterling Age 02.png
new file mode 100644
index 0000000..b42be6f
Binary files /dev/null and b/GameData/SterlingSystems/Agency/Flags/Sterling Age 02.png differ
diff --git a/GameData/SterlingSystems/Agency/Localization/en-us_Core.cfg b/GameData/SterlingSystems/Agency/Localization/en-us_Core.cfg
new file mode 100644
index 0000000..871ca13
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/Localization/en-us_Core.cfg
@@ -0,0 +1,173 @@
+Localization
+{
+ en-us
+ {
+ #LOC_strl_agent = Sterling Age
+
+ // Resources
+ #LOC_strl_Beryllium_DisplayName = Beryllium
+ #LOC_strl_Beryllium_Abbreviation = Be
+
+ #LOC_strl_BerylOxide_DisplayName = Beryllium Oxide
+ #LOC_strl_BerylOxide_Abbreviation = Be2O3
+
+ #LOC_strl_FissileFuel_DisplayName = FissileFuel
+ #LOC_strl_FissileFuel_Abbreviation = FiF
+
+ #LOC_strl_FizzledFuel_DisplayName = Fizzled Fuel
+ #LOC_strl_FizzledFuel_Abbreviation = FzdF
+
+ #LOC_strl_FissilePebbles_DisplayName = Fissile Pebbles
+ #LOC_strl_FissilePebbles_Abbreviation = FiP
+
+ #LOC_strl_FizzledPebbles_DisplayName = Fizzled Pebbles
+ #LOC_strl_FizzledPebbles_Abbreviation = FzdP
+
+ #LOC_strl_LqdQuartz_DisplayName = Molten Quartz
+ #LOC_strl_LqdQuartz_Abbreviation = SiO2
+
+ // Upgrade Defs
+ #LOC_strl_upgrade_mirrorShieldTitle1 = Mirror Shields 1
+ #LOC_strl_upgrade_mirrorShieldTitle2 = Mirror Shields 2
+ #LOC_strl_upgrade_mirrorShieldDesc1 = Perfect Mirror (3500 K) subtypes enable survival at extremely low altitudes over stars.
+ #LOC_strl_upgrade_mirrorShieldDesc2 = Solar Thermal (2900 K) subtypes enable survival at extremely low altitudes over stars and allows for generating ThermalPower from star exposure.
+ #LOC_strl_upgrade_mirrorShieldBasicInfo = Unlocks mirror surface options in Super Heavy Shield.
+
+ #LOC_strl_upgrade_solarPanelTitle1 = Wrapper PV Upgrade 1
+ #LOC_strl_upgrade_solarPanelTitle2 = Wrapper PV Upgrade 2
+ #LOC_strl_upgrade_solarPanelDesc1 = - Allows solar PV cells to operate at peak temp of 340 K with complete deactivation at 1200 K.
- Melting point raised to 1600 K.
+ #LOC_strl_upgrade_solarPanelDesc2 = - Changes solar cells from photovoltaic to thermophotovoltaic, allowing them to operate at peak temp of 1800 K with reduced performance as far as 2500 K.
- Melting point raised to 2500 K.
+ #LOC_strl_upgrade_solarPanelBasicInfo = Improved performance and reliability of Sterling Wrapper Photovoltaics.
+
+ // Wrappers Misc
+ #LOC_strl_wrapMk2Height1_title = Extra Short
+ #LOC_strl_wrapMk2Height1_note = Can hold Mk2 Drone Core and possibly the service bay from Mk2 Stockalike Expansion.
+ #LOC_strl_wrapMk2Height2_title = Short
+ #LOC_strl_wrapMk2Height2_note = Fits Mk2 Short Fuselage.
+ #LOC_strl_wrapMk2Height4_title = Long
+ #LOC_strl_wrapMk2Height4_note = Fits Mk2 Long Fuselage.
+ #LOC_strl_wrapMk2Height8_title = Double Long
+ #LOC_strl_wrapMk2Height8_note = Fits 2x Mk2 Long Fuselage.
+
+ #LOC_strl_wrapMk3Height1_title = Mono
+ #LOC_strl_wrapMk3Height1_note = Fits Mk3 MonoPropellant Tank.
+ #LOC_strl_wrapMk3Height2_title = Short LF
+ #LOC_strl_wrapMk3Height2_note = Fits Mk3 Short Fuselage.
+ #LOC_strl_wrapMk3Height3_title = Crew
+ #LOC_strl_wrapMk3Height3_note = Fits Mk3 Crew Cabin.
+ #LOC_strl_wrapMk3Height4_title = Medium LF
+ #LOC_strl_wrapMk3Height4_note = Fits Mk3 Medium Fuselage.
+ #LOC_strl_wrapMk3Height8_title = Long LF
+ #LOC_strl_wrapMk3Height8_note = Fits Mk3 Long Fuselage.
+
+ // IO and Upgrades
+ #LOC_strl_upgrade_introUnlock =
Unlocks on upgrade:
+
+ #LOC_strl_txtInputs = - Inputs:
+ #LOC_strl_txtOutputs = - Outputs:
+ #LOC_strl_fc-recharger = Recharger
+ #LOC_strl_fc-main = Fuel Cell
+ #LOC_strl_gen-main = Generator
+ #LOC_strl_gen-eff = - Efficiency:
+
+ // #autoLOC_235499 = Efficiency
+ // #autoLOC_235502 = Activate Generator
+ // #autoLOC_235505 = Shutdown Generator
+ // #autoLOC_235508 = Toggle Generator
+
+ #LOC_strl_sysheat = System Heat features
+ #LOC_strl_sysheatvol =
- Volume:
+ #LOC_strl_sysheatpower =
- Power:
+ #LOC_strl_sysheattemp =
- Temperature:
+
+ #LOC_strl_elec_solarCell = Solar Cell features
+ #LOC_strl_elec_chargeRate =
- Charge Rate:
+ #LOC_strl_elec_chargeRatePlural =
- Charge Rate per side:
+ #LOC_strl_elec_maxTemp =
- Overheat Temperature:
+
+ #LOC_strl_converter_thermoelectric = ThermoElectric Converter
+ #LOC_strl_converter_recharger = Recharger
+ #LOC_strl_recharger_start = Start Recharger
+ #LOC_strl_recharger_stop = Stop Recharger
+ #LOC_strl_recharger_toggle = Toggle Recharger
+
+ #LOC_strl_reactor_fission = Fission Reactor
+ #LOC_strl_reactor_salt = Molten Salt Reactor
+ #LOC_strl_reactor_pebble = Pebble Bed Reactor
+ #LOC_strl_reactor_fusion = Fusion Reactor
+ #LOC_strl_reactor_start = Start Reactor
+ #LOC_strl_reactor_stop = Stop Reactor
+ #LOC_strl_reactor_toggle = Toggle Reactor
+
+ #LOC_strl_shl-sun-features = Sun shield features
+ #LOC_strl_shl-sun-1off =
- <#888>Ablator disabled.
+ #LOC_strl_shl-sun-2off =
- <#888>Radiator disabled.
+ #LOC_strl_shl-sun-3off =
- <#888>Solar thermal disabled.
+ #LOC_strl_shl-sun-1on =
- Ablator enabled.
+ #LOC_strl_shl-sun-2on =
- Radiator capacity:
+ #LOC_strl_shl-sun-3on =
- Solar thermal capacity:
+ #LOC_strl_shl-sun-maxTemp =
- Heat Tolerance:
+
+ #LOC_strl_quickload_warn =
Please quicksave + quickload after applying.
+
+ // Variant descriptions
+ #LOC_strl_subtype_Heights = Heights
+ #LOC_strl_subtype_Service = Service
+ #LOC_strl_subtype_Services = Services
+ #LOC_strl_subtype_Span = Span
+ #LOC_strl_subtype_Spans = Spans
+ #LOC_strl_subtype_Coupling = Coupling
+ #LOC_strl_subtype_Couplings = Couplings
+
+ #LOC_strl_maxTemp = Heat Tolerance:
+ }
+}
+
+// change localization keys into part config keys so they can be chained easily
+STRLB9LOC {}
+
+@STRLB9LOC
+{
+ txtMaxTemp = #LOC_strl_maxTemp
+ txtInputs = #LOC_strl_txtInputs
+ txtOutputs = #LOC_strl_txtOutputs
+ txtFCMain = #LOC_strl_fc-main
+ txtGenMain = #LOC_strl_gen-main
+ txtGenEff = #LOC_strl_gen-eff
+ txtFCRecharger = #LOC_strl_fc-recharger
+ txtIntroUnlock = #LOC_strl_upgrade_introUnlock
+
+ txtsysheat = #LOC_strl_sysheat
+ txtsysheatvol = #LOC_strl_sysheatvol
+ txtsysheatpwr = #LOC_strl_sysheatpower
+ txtsysheattemp = #LOC_strl_sysheattemp
+ txtQuickloadWarn = #LOC_strl_quickload_warn
+
+ elec_solarCell = #LOC_strl_elec_solarCell
+ elec_chargeRate = #LOC_strl_elec_chargeRate
+ elec_chargeRatePlural = #LOC_strl_elec_chargeRatePlural
+ wrappv_unlock1 = #LOC_strl_upgrade_solarPanelTitle1 // Wrapper PV Upgrade 1
+ wrappv_unlock2 = #LOC_strl_upgrade_solarPanelTitle2 // Wrapper PV Upgrade 2
+
+ txtWrapMk2Note1 = #LOC_strl_wrapMk2Height1_note
+ txtWrapMk2Note2 = #LOC_strl_wrapMk2Height2_note
+ txtWrapMk2Note4 = #LOC_strl_wrapMk2Height4_note
+ txtWrapMk2Note8 = #LOC_strl_wrapMk2Height8_note
+
+ txtWrapMk3Note1 = #LOC_strl_wrapMk3Height1_note
+ txtWrapMk3Note2 = #LOC_strl_wrapMk3Height2_note
+ txtWrapMk3Note3 = #LOC_strl_wrapMk3Height3_note
+ txtWrapMk3Note4 = #LOC_strl_wrapMk3Height4_note
+ txtWrapMk3Note8 = #LOC_strl_wrapMk3Height8_note
+
+ shl-sun-features = #LOC_strl_shl-sun-features
+ shl-sun-1off = #LOC_strl_shl-sun-1off
+ shl-sun-2off = #LOC_strl_shl-sun-2off
+ shl-sun-3off = #LOC_strl_shl-sun-3off
+ shl-sun-1on = #LOC_strl_shl-sun-1on
+ shl-sun-2on = #LOC_strl_shl-sun-2on
+ shl-sun-3on = #LOC_strl_shl-sun-3on
+ shl-sun-maxTemp = #LOC_strl_shl-sun-maxTemp
+ shl-sun-unlock1 = #LOC_strl_upgrade_mirrorShieldTitle1 // Mirror Shields 1
+ shl-sun-unlock2 = #LOC_strl_upgrade_mirrorShieldTitle2 // Mirror Shields 2
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Agency/Localization/en-us_Electric.cfg b/GameData/SterlingSystems/Agency/Localization/en-us_Electric.cfg
new file mode 100644
index 0000000..fd9b949
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/Localization/en-us_Electric.cfg
@@ -0,0 +1,113 @@
+Localization
+{
+ en-us
+ {
+ // TEC Turbine
+ #LOC_strl_tectrb_0625_title = Sterling Delta Electro TBC 0.625m
+ #LOC_strl_tectrb_125_title = Sterling Delta Electro TBC 1.25m
+ #LOC_strl_tectrb_1875_title = Sterling Delta Electro TBC 1.875m
+ #LOC_strl_tectrb_250_title = Sterling Delta Electro TBC 2.5m
+ #LOC_strl_tectrb_375_title = Sterling Delta Electro TBC 3.75m
+ #LOC_strl_tectrb_500_title = Sterling Delta Electro TBC 5m
+ #LOC_strl_tectrb_desc = Behind every great source of heat there is a great turbine-based converter cranking out electricity. Raise the fuel priority on this part to help it to drain itself later or last.
+
+ // Reactors KRUSTY
+ #LOC_strl_rctrkrusty_title = Sterling KLUSTR
+ #LOC_strl_rctrkrusty_desc = The Kerbal Low Uranium Stirling Topped Reactor meets the need for a fully integrated, small scale, always-on backup power source for operations on the moon and beyond.
+
+ // Reactors SubCritical Multiplier
+ #LOC_strl_rctrscm_title = Sterling Sub-Critical Multiplier Reactor
+ #LOC_strl_rctrscm_desc = A nuclear reactor specifically intended to burn fast and push above its weight. Due to its use of a super-heavy fissile element like Curium-245, the element itself won't last long, and the reactor cannot be completely stopped so make use of it while it's there.
+
+ // Fuel Cells
+ #LOC_strl_fuelcell_lug_title = Sterling MAEC Luggage
+ #LOC_strl_fuelcell_cube_title = Sterling MAEC Cube
+ #LOC_strl_fuelcell_125_title = Sterling MAEC 1.25m
+ #LOC_strl_fuelcell_mk2_title = Sterling MAEC Mk2
+ #LOC_strl_fuelcell_250_title = Sterling MAEC 2.5m
+ #LOC_strl_fuelcell_375_title = Sterling MAEC 3.75m
+ #LOC_strl_fuelcell_500_title = Sterling MAEC 5m
+ #LOC_strl_fuelcell_desc = It never gets boring to watch an alkali metal violently react with a choice oxidizer... But we eventually realized that we could do very productive things with that energy, partially since we dunked too much of our Potassium. Now, with this Metal-Air Electrochemical Cell thing we can burn metal all we want and get stuff done. Since we can't directly observe the fireworks anymore we built in a pulsating light to fill in and keep ourselves entertained.
+ #LOC_strl_fuelcell_lug_desc = It never gets boring to watch an alkali metal violently react with a choice oxidizer... But we eventually realized that we could do very productive things with that energy, partially since we dunked too much of our Potassium. Now, with this Metal-Air Electrochemical Cell thing we can burn metal all we want and get stuff done. Since we can't directly observe the fireworks anymore we built in a pulsating light to fill in and keep ourselves entertained.
+ #LOC_strl_fuelcell_cube_desc = How convenient is this? A KIS crate-sized metal fuel cell. It's great for small backup power but when fully loaded it becomes a serious back-breaker. Please do not try to equip this on EVA.
+
+ #LOC_strl_MAECmetalSwitch = Metal Fuel
+ #LOC_strl_MAECmetalSwitchPlural = Metal Fuels
+ #LOC_strl_MAECmetalSwitchSummary = Fuel cell will consume this metal. Recharger will restore this metal and its oxidizer at 75% rate.
+
+ #LOC_strl_recharger = Recharger
+ #LOC_strl_recharger_stop = Start Recharger
+ #LOC_strl_recharger_start = Stop Recharger
+ #LOC_strl_recharger_toggle = Toggle Recharger
+
+ // Batteries
+ #LOC_strl_batt_lug_title = Sterling Super Battery Luggage
+ #LOC_strl_batt_cube_title = Sterling Super Battery Cube
+ #LOC_strl_batt_125_title = Sterling Super Battery 1.25m
+ #LOC_strl_batt_mk2_title = Sterling Super Battery Mk2
+ #LOC_strl_batt_250_title = Sterling Super Battery 2.5m
+ #LOC_strl_batt_375_title = Sterling Super Battery 3.75m
+ #LOC_strl_batt_500_title = Sterling Super Battery 5m
+ #LOC_strl_batt_desc = The future is cast in Lithium and sculpted with experience gained over generations. No, there isn't an option to use the battery itself for ion fuel.
+ #LOC_strl_batt_lug_desc = The future is cast in Lithium and sculpted with experience gained over generations. No, there isn't an option to use the battery itself for ion fuel.
+ #LOC_strl_batt_cube_desc = The future is cast in Lithium and sculpted with experience gained over generations. No, there isn't an option to use the battery itself for ion fuel.
+
+ // Wrappers PV
+ #LOC_strl_pv-wrap-mk2_title = Sterling Wrapper Photovoltaics Mk2
+ #LOC_strl_pv-wrap-mk3_title = Sterling Wrapper Photovoltaics Mk3
+ #LOC_strl_pv-wrap-125_title = Sterling Wrapper Photovoltaics 1.25m
+ #LOC_strl_pv-wrap-187_title = Sterling Wrapper Photovoltaics 1.875m
+ #LOC_strl_pv-wrap-250_title = Sterling Wrapper Photovoltaics 2.5m
+ #LOC_strl_pv-wrap-375_title = Sterling Wrapper Photovoltaics 3.75m
+ #LOC_strl_pv-wrap-500_title = Sterling Wrapper Photovoltaics 5m
+
+ #LOC_strl_pv-wrapxs-062_title = Sterling Wrapper Photovoltaics 0.625m
+ #LOC_strl_pv-wrapxs-125_title = Sterling Wrapper Photovoltaics 1.25m
+ #LOC_strl_pv-wrapxs-187_title = Sterling Wrapper Photovoltaics 1.875m
+ #LOC_strl_pv-wrapxs-mk2_title = Sterling Wrapper Photovoltaics Mk2
+ #LOC_strl_pv-wrapxs-250_title = Sterling Wrapper Photovoltaics 2.5m
+ #LOC_strl_pv-wrapxs-lin_title = Sterling Linear Photovoltaics
+
+ #LOC_strl_pv_quality_a = Basic
+ #LOC_strl_pv_quality_a0-2m = Basic 0.2m
+ #LOC_strl_pv_quality_a0-4m = Basic 0.4m
+ #LOC_strl_pv_quality_a0-6m = Basic 0.6m
+ #LOC_strl_pv_quality_a0-8m = Basic 0.8m
+ #LOC_strl_pv_quality_a1m = Basic 1m
+ #LOC_strl_pv_quality_a1-2m = Basic 1.2m
+ #LOC_strl_pv_quality_a2m = Basic 2m
+ #LOC_strl_pv_quality_a4m = Basic 4m
+ #LOC_strl_pv_quality_a6m = Basic 6m
+ #LOC_strl_pv_quality_a8m = Basic 8m
+ #LOC_strl_pv_quality_a10m = Basic 10m
+
+ #LOC_strl_pv_quality_b = Advanced
+ #LOC_strl_pv_quality_b0-2m = Advanced 0.2m
+ #LOC_strl_pv_quality_b0-4m = Advanced 0.4m
+ #LOC_strl_pv_quality_b0-6m = Advanced 0.6m
+ #LOC_strl_pv_quality_b0-8m = Advanced 0.8m
+ #LOC_strl_pv_quality_b1m = Advanced 1m
+ #LOC_strl_pv_quality_b1-2m = Advanced 1.2m
+ #LOC_strl_pv_quality_b2m = Advanced 2m
+ #LOC_strl_pv_quality_b4m = Advanced 4m
+ #LOC_strl_pv_quality_b6m = Advanced 6m
+ #LOC_strl_pv_quality_b8m = Advanced 8m
+ #LOC_strl_pv_quality_b10m = Advanced 10m
+
+ #LOC_strl_pv_quality_c = Concentrator
+ #LOC_strl_pv_quality_c0-2m = Concentrator 0.2m
+ #LOC_strl_pv_quality_c0-4m = Concentrator 0.4m
+ #LOC_strl_pv_quality_c0-6m = Concentrator 0.6m
+ #LOC_strl_pv_quality_c0-8m = Concentrator 0.8m
+ #LOC_strl_pv_quality_c1m = Concentrator 1m
+ #LOC_strl_pv_quality_c1-2m = Concentrator 1.2m
+ #LOC_strl_pv_quality_c2m = Concentrator 2m
+ #LOC_strl_pv_quality_c4m = Concentrator 4m
+ #LOC_strl_pv_quality_c6m = Concentrator 6m
+ #LOC_strl_pv_quality_c8m = Concentrator 8m
+ #LOC_strl_pv_quality_c10m = Concentrator 10m
+
+ #LOC_strl_pv-wrap_desc = Form-fitting solar panel for many occasions. Due to its curve it has two distant points for peak solar exposure, represented by two solar modules. This panel is upgrade-able and also becomes ineffective if overheated.
+ #LOC_strl_pv-wrapxs_desc = Form-fitting solar panel very low profile vessels. Due to its curve it has two distant points for peak solar exposure, represented by two solar modules. This panel is upgrade-able and also becomes ineffective if overheated.
+ #LOC_strl_pv-wrapxs-lin_desc = Sometimes we just want a thin, long strip. This strip helps the lights stay on. This panel is upgrade-able and also becomes ineffective if overheated.
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Agency/Localization/en-us_Engines.cfg b/GameData/SterlingSystems/Agency/Localization/en-us_Engines.cfg
new file mode 100644
index 0000000..5c37510
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/Localization/en-us_Engines.cfg
@@ -0,0 +1,39 @@
+Localization
+{
+ en-us
+ {
+ // SSTO
+ #LOC_strl_eng_062_thnozbell_title = Sterling TN-DL 0.625m Thermal Bell Nozzle
+ #LOC_strl_eng_062_thnozbell_desc = Our new best friend, this vacuum-optimized DeLaval nozzle attaches to any compatible nuclear reactor and allows it to dump its heat immediately into any choice of propellant, granting much welcome superior impulse and immense thrust while reducing the amount of moving parts. It works well at sea level at home, too.
+ #LOC_strl_eng_125_thnozbell_title = Sterling TN-DL 1.25m Thermal Bell Nozzle
+ #LOC_strl_eng_125_thnozbell_desc = Our new best friend, this vacuum-optimized DeLaval nozzle attaches to any compatible nuclear reactor and allows it to dump its heat immediately into any choice of propellant, granting much welcome superior impulse and immense thrust while reducing the amount of moving parts. It works well at sea level at home, too.
+ #LOC_strl_eng_250_thnozbell_title = Sterling TN-DL 2.5m Thermal Bell Nozzle
+ #LOC_strl_eng_250_thnozbell_desc = This mighty DeLaval nozzle was prepared in advance for vessels that need less to lift their weight in atmosphere but to lift their weight in the void. The throat diameter is the same as the smaller engine so this engine is less thrusty and has better expansion for its size.
+
+ // IPV
+ #LOC_strl_eng_062_SULEU_title = Sterling IPE-NV "SULEU" 0.625m
+ #LOC_strl_eng_125_SULEU_title = Sterling IPE-NV "SULEU" 1.25m
+ #LOC_strl_eng_187_SULEU_title = Sterling IPE-NV "SULEU" 1.875m
+ #LOC_strl_eng_125_SULEU_desc = In the shadow of a handful of fallouts involving High-Enrichment Uranium, scientists turned to testing the viability of Low-Enrichment Uranium within NERVA-derived engine bodies. Through a series of very interesting events, the Krussian RD-0140 concept engine became the leading model body, and it showed truly Superb Use of Low-Enrichment Uranium (SULEU), therefore its name.
+ #LOC_strl_eng_250_MM_title = Sterling IPE-NP "MiniMag Orion"
+ #LOC_strl_eng_250_MM_desc = This odd breed of engine sits at the peak of nuclear pulse technology. Why go to the trouble of making nuclear bombs and a bulky mass to catch the blast when the nuclear material can instead be forced into a fusion situation by wrapping it in a magnetic coil and using Z-Pinch dynamics to implode it? For its great impulse, TWR expectedly suffers, but its blasts are magnetically confined for maximum efficiency and allowing for a relatively small and very lean engine assembly, making it quite a prize to be sought by nuclear pulse connoiseurs.
+ #LOC_strl_eng_375_CCGC_title = Sterling IPE-GC "Slim"
+ #LOC_strl_eng_375_CCGC_desc = Many good things are made in Kaina. It stood to reason that much of our staff would be Kainese too. We thought we'd do a great and welcome surprise for them by finding a very different shape for our nuclear lightbulb offering. This one is closed cycle and relatively safe. We expect everyone to use this one.
+ #LOC_strl_eng_375_MCF_title = Sterling IPE-MC "Calabash"
+ #LOC_strl_eng_375_MCF_desc = This deliberate, somewhat fruit-looking fusion rocket is the default choice of fusion rocket, inspired by the Discovery II project. The Calabash is a truly ripe main engine choice and engineering project by being capable of afterburning "gear-shifting" with its smaller chamber, possessing mechanical gimbal, and accepting diverse propellants. What's better than an engine that resembles something edible and can do all this??? ...Nothing.
+ #LOC_strl_eng_375_OCGC_title = Sterling IPE-GC "Tiny"
+ #LOC_strl_eng_375_OCGC_desc = Many good things are made in Kaina. It stood to reason that much of our staff would be Kainese too. We thought we'd do a great and welcome surprise for them by finding a very different shape for our nuclear lightbulb offering. This one is open cycle and its use is heavily restricted if not simply banned.
+
+ // ISV
+ #LOC_strl_eng_500_AIM_title = Sterling ISME-AIM "Torchbearer"
+ #LOC_strl_eng_500_AIM_desc = Antiproton-Initiated Microfusion. What a fancy term for "Sprinkle the normal fusion fuels with Antimatter to light them." The Torchbearer is so named for its role in being moderately thrusty and relatively very efficient versus other fusion rockets.
+ #LOC_strl_eng_1000_ASP_title = Sterling ISME-ASP "Kerblitzer"
+ #LOC_strl_eng_1000_ASP_desc = Artificial Singularity Power... A black hole engine. This is the Hawking radiation; thermal acceleration type and is modeled as a claw to visibly boast its Iron grip on something more terrifying than a burning star.
+ #LOC_strl_eng_250_ICF_title = Sterling ISME-IC "Olympian"
+ #LOC_strl_eng_250_ICF_desc = Per a natural flow of events and that much more investment into R&D, we were able to miniaturize the Icarus. For some reason, everyone celebrated this achievement by chanting "Don't talk to me or my son ever again!"
+ #LOC_strl_eng_500_ICF_title = Sterling ISME-IC "Icarus"
+ #LOC_strl_eng_500_ICF_desc = The legacy of the "Icarus" Inertial Confinement Fusion drive is extremely strong, even unavoidable, though many know it by its kindred's name, Daedalus. After 2 or 3 generations of R&D, this engine finally rises, much better and stronger than originally expected.
+ #LOC_strl_eng_1000_BCAM_title = Sterling ISME-BC "Immolator"
+ #LOC_strl_eng_1000_BCAM_desc = Beam Core AntiMatter. When AntiMatter becomes easy, the one and only thing to do is go all out. The sight of this engine when unlit will not fail to let observers know to be sure to look away while they still have functioning eyeballs.
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Agency/Localization/en-us_Tankage.cfg b/GameData/SterlingSystems/Agency/Localization/en-us_Tankage.cfg
new file mode 100644
index 0000000..5b17e91
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/Localization/en-us_Tankage.cfg
@@ -0,0 +1,55 @@
+Localization
+{
+ en-us
+ {
+ // Fuel Tanks
+ #LOC_strl_tankpillb_125_title = Sterling Tankage FV-T012
+ #LOC_strl_tankpillb_1875_title = Sterling Tankage FV-T018
+ #LOC_strl_tankpillb_250_title = Sterling Tankage FV-T025
+ #LOC_strl_tankpillb_375_title = Sterling Tankage FV-T038
+ #LOC_strl_tankpillb_500_title = Sterling Tankage FV-T050
+ #LOC_strl_tankpillb_750_title = Sterling Tankage FV-T075
+
+ #LOC_strl_tankpillg_125_title = Sterling Tankage FV-M012
+ #LOC_strl_tankpillg_1875_title = Sterling Tankage FV-M018
+ #LOC_strl_tankpillg_250_title = Sterling Tankage FV-M025
+ #LOC_strl_tankpillg_375_title = Sterling Tankage FV-M037
+ #LOC_strl_tankpillg_500_title = Sterling Tankage FV-M050
+ #LOC_strl_tankpillg_750_title = Sterling Tankage FV-M075
+
+ #LOC_strl_tankpillwg_125_title = Sterling Tankage FV-C012
+ #LOC_strl_tankpillwg_1875_title = Sterling Tankage FV-C018
+ #LOC_strl_tankpillwg_250_title = Sterling Tankage FV-C025
+ #LOC_strl_tankpillwg_375_title = Sterling Tankage FV-C037
+ #LOC_strl_tankpillwg_500_title = Sterling Tankage FV-C050
+ #LOC_strl_tankpillwg_750_title = Sterling Tankage FV-C075
+
+ #LOC_strl_tankpillwm_125_title = Sterling Tankage FV-N012
+ #LOC_strl_tankpillwm_1875_title = Sterling Tankage FV-N018
+ #LOC_strl_tankpillwm_250_title = Sterling Tankage FV-N025
+ #LOC_strl_tankpillwm_375_title = Sterling Tankage FV-N037
+ #LOC_strl_tankpillwm_500_title = Sterling Tankage FV-N050
+ #LOC_strl_tankpillwm_750_title = Sterling Tankage FV-N075
+
+ #LOC_strl_tankpillb_desc = This Fluid Volume series is specialized for holding substances which are incredibly toxic or otherwise incredibly dangerous.
+ #LOC_strl_tankpillg_desc = This Fluid Volume series is specialized for magnetic containment of substances.
+ #LOC_strl_tankpillwg_desc = This Fluid Volume series is specialized for holding ultra-cold liquids and keeping them that way.
+ #LOC_strl_tankpillwm_desc = This Fluid Volume series is specialized for liquids or gases which remain so at standard temperatures and pressures.
+
+ // Industry tanks
+ #LOC_strl_tankdrumb_250_title = Sterling Tankage IV-T025
+ #LOC_strl_tankdrumb_375_title = Sterling Tankage IV-T037
+ #LOC_strl_tankdrumb_500_title = Sterling Tankage IV-T050
+
+ #LOC_strl_tankdrumw_250_title = Sterling Tankage IV-N025
+ #LOC_strl_tankdrumw_375_title = Sterling Tankage IV-N037
+ #LOC_strl_tankdrumw_500_title = Sterling Tankage IV-N050
+
+ #LOC_strl_tankdrumb_desc = This Industry Volume series is specialized for holding substances which are incredibly toxic or otherwise incredibly dangerous.
+ #LOC_strl_tankdrumw_desc = This Industry Volume series is dedicated to holding the bulk of mined or refined, non-propellant goods.
+
+ // Misc
+ #LOC_strl_fuelSwitch = Contents
+ #LOC_strl_fuelSwitchPlural = Contents
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Agency/Localization/en-us_Thermals.cfg b/GameData/SterlingSystems/Agency/Localization/en-us_Thermals.cfg
new file mode 100644
index 0000000..79615d4
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/Localization/en-us_Thermals.cfg
@@ -0,0 +1,146 @@
+Localization
+{
+ en-us
+ {
+ // Wrappers Standard White
+ #LOC_strl_rad-wrapw-mk2_title = Sterling Wrapper Radiator W-0100
+ #LOC_strl_rad-wrapw-mk3_title = Sterling Wrapper Radiator W-0133
+ #LOC_strl_rad-wrapw-125_title = Sterling Wrapper Radiator W-0150
+ #LOC_strl_rad-wrapw-187_title = Sterling Wrapper Radiator W-0225
+ #LOC_strl_rad-wrapw-250_title = Sterling Wrapper Radiator W-0200
+ #LOC_strl_rad-wrapw-375_title = Sterling Wrapper Radiator W-0250
+ #LOC_strl_rad-wrapw-500_title = Sterling Wrapper Radiator W-0350
+ #LOC_strl_rad-wrapw-mk2_desc = Form-fitting Ammonia cycle wrapper radiator for Mk2.
+ #LOC_strl_rad-wrapw-mk3_desc = Form-fitting Ammonia cycle wrapper radiator for Mk3.
+ #LOC_strl_rad-wrapw-125_desc = Form-fitting Ammonia cycle wrapper radiator for 1.25m.
+ #LOC_strl_rad-wrapw-187_desc = Form-fitting Ammonia cycle wrapper radiator for 1.875m.
+ #LOC_strl_rad-wrapw-250_desc = Form-fitting Ammonia cycle wrapper radiator for 2.5m.
+ #LOC_strl_rad-wrapw-375_desc = Form-fitting Ammonia cycle wrapper radiator for 3.75m.
+ #LOC_strl_rad-wrapw-500_desc = Form-fitting Ammonia cycle wrapper radiator for 5m.
+
+ // Wrappers Standard Gray
+ #LOC_strl_rad-wrapg-mk2_title = Sterling Wrapper Radiator M-0180
+ #LOC_strl_rad-wrapg-mk3_title = Sterling Wrapper Radiator M-0240
+ #LOC_strl_rad-wrapg-125_title = Sterling Wrapper Radiator M-0270
+ #LOC_strl_rad-wrapg-187_title = Sterling Wrapper Radiator M-0405
+ #LOC_strl_rad-wrapg-250_title = Sterling Wrapper Radiator M-0360
+ #LOC_strl_rad-wrapg-375_title = Sterling Wrapper Radiator M-0450
+ #LOC_strl_rad-wrapg-500_title = Sterling Wrapper Radiator M-0540
+ #LOC_strl_rad-wrapg-mk2_desc = Form-fitting metal wrapper radiator for Mk2.
+ #LOC_strl_rad-wrapg-mk3_desc = Form-fitting metal wrapper radiator for Mk3.
+ #LOC_strl_rad-wrapg-125_desc = Form-fitting metal wrapper radiator for 1.25m.
+ #LOC_strl_rad-wrapg-187_desc = Form-fitting metal wrapper radiator for 1.875m.
+ #LOC_strl_rad-wrapg-250_desc = Form-fitting metal wrapper radiator for 2.5m.
+ #LOC_strl_rad-wrapg-375_desc = Form-fitting metal wrapper radiator for 3.75m.
+ #LOC_strl_rad-wrapg-500_desc = Form-fitting metal wrapper radiator for 5m.
+
+ // Wrappers Standard Black
+ #LOC_strl_rad-wrapb-mk2_title = Sterling Wrapper Radiator C-0500
+ #LOC_strl_rad-wrapb-mk3_title = Sterling Wrapper Radiator C-0660
+ #LOC_strl_rad-wrapb-125_title = Sterling Wrapper Radiator C-0750
+ #LOC_strl_rad-wrapb-187_title = Sterling Wrapper Radiator C-1125
+ #LOC_strl_rad-wrapb-250_title = Sterling Wrapper Radiator C-1000
+ #LOC_strl_rad-wrapb-375_title = Sterling Wrapper Radiator C-1250
+ #LOC_strl_rad-wrapb-500_title = Sterling Wrapper Radiator C-1500
+ #LOC_strl_rad-wrapb-mk2_desc = Form-fitting Graphene wrapper radiator for Mk2.
+ #LOC_strl_rad-wrapb-mk3_desc = Form-fitting Graphene wrapper radiator for Mk3.
+ #LOC_strl_rad-wrapb-125_desc = Form-fitting Graphene wrapper radiator for 1.25m.
+ #LOC_strl_rad-wrapb-187_desc = Form-fitting Graphene wrapper radiator for 1.875m.
+ #LOC_strl_rad-wrapb-250_desc = Form-fitting Graphene wrapper radiator for 2.5m.
+ #LOC_strl_rad-wrapb-375_desc = Form-fitting Graphene wrapper radiator for 3.75m.
+ #LOC_strl_rad-wrapb-500_desc = Form-fitting Graphene wrapper radiator for 5m.
+
+ // Wrappers Heatshields
+ #LOC_strl_shl-wrap-mk2cockpit_title = Sterling Wrapper Heatshield Mk2
+ #LOC_strl_shl-wrap-mk3cockpit_title = Sterling Wrapper Heatshield Mk3
+ #LOC_strl_shl-wrap-mk2_title = Sterling Wrapper Heatshield Mk2
+ #LOC_strl_shl-wrap-mk3_title = Sterling Wrapper Heatshield Mk3
+ #LOC_strl_shl-wrap-125_title = Sterling Wrapper Heatshield 1.25m
+ #LOC_strl_shl-wrap-187_title = Sterling Wrapper Heatshield 1.875m
+ #LOC_strl_shl-wrap-250_title = Sterling Wrapper Heatshield 2.5m
+ #LOC_strl_shl-wrap-375_title = Sterling Wrapper Heatshield 3.75m
+ #LOC_strl_shl-wrap-500_title = Sterling Wrapper Heatshield 5m
+ #LOC_strl_shl-wrap-mk2cockpit_desc = Form-fitting PICA-X wrapper heatshield for the C7 Mk2 forward cockpit.
+ #LOC_strl_shl-wrap-mk3cockpit_desc = Form-fitting PICA-X wrapper heatshield for the C7 Mk3 cockpit.
+ #LOC_strl_shl-wrap-mk2_desc = Form-fitting PICA-X wrapper heatshield for Mk2.
+ #LOC_strl_shl-wrap-mk3_desc = Form-fitting PICA-X wrapper heatshield for Mk3.
+ #LOC_strl_shl-wrap-125_desc = Form-fitting PICA-X wrapper heatshield for 1.25m.
+ #LOC_strl_shl-wrap-187_desc = Form-fitting PICA-X wrapper heatshield for 1.875m.
+ #LOC_strl_shl-wrap-250_desc = Form-fitting PICA-X wrapper heatshield for 2.5m.
+ #LOC_strl_shl-wrap-375_desc = Form-fitting PICA-X wrapper heatshield for 3.75m.
+ #LOC_strl_shl-wrap-500_desc = Form-fitting PICA-X wrapper heatshield for 5m.
+
+ // Inline Heatsinks
+ #LOC_strl_sink-mk2_title = Sterling Inline Heatsink M-1125
+ #LOC_strl_sink-125_title = Sterling Inline Heatsink M-0750
+ #LOC_strl_sink-250_title = Sterling Inline Heatsink M-2250
+ #LOC_strl_sink-375_title = Sterling Inline Heatsink M-5250
+ #LOC_strl_sink-500_title = Sterling Inline Heatsink M-9750
+ #LOC_strl_sink_desc = There are times when proper radiators cannot be adequately supplied or are awkward to place. There are times where the engine threatens to melt the structure or tank that it's directly attached to. And there are times where you want to cache thermal energy and utilize it for something else. In comes the MIHS which caters to all of these needs.
+ #LOC_strl_sinkcluster_desc = There are times when proper radiators cannot be adequately supplied or are awkward to place. There are times where the engine threatens to melt the structure or tank that it's directly attached to. And there are times where you want to cache thermal energy and utilize it for something else. In comes the MIHS which caters to all of these needs and even provides some engine clustering options.
+
+ // Super heavy shields
+ #LOC_strl_shl-shadow01_title = Sterling Conical Shadow Shield
+ #LOC_strl_shl-shadow01_desc = The better engines don't stop at just pouring out heat when running for a long time. They have to generate other unwanted energy like gammas and neutrons. To protect our fragile bodily bits and sensitive electronics against those we need an umbrella like thing that can withstand these, at least for a good while.
+ #LOC_strl_shl-sun01_title = Sterling Super Heavy Shield
+ #LOC_strl_shl-sun01_desc = Protection against the flames of reentry and from the constant wash of local stellar rays is a huge deal. And as we build huge and learn to pack huge dV, we realize that we need a huge shield. And we need it to be as versatile as whatever it's covering!
+
+ #LOC_strl_shl-sun01Var1a = 10m White Armor
+ #LOC_strl_shl-sun01Var1b = 25m White Armor
+ #LOC_strl_shl-sun01Var1c = 50m White Armor
+ #LOC_strl_shl-sun01Var1d = 50m White Armor (Open)
+ #LOC_strl_shl-sun01Var2a = 10m Coated Armor
+ #LOC_strl_shl-sun01Var2b = 25m Coated Armor
+ #LOC_strl_shl-sun01Var2c = 50m Coated Armor
+ #LOC_strl_shl-sun01Var2d = 50m Coated Armor (Open)
+ #LOC_strl_shl-sun01Var3a = 10m Perfect Mirror
+ #LOC_strl_shl-sun01Var3b = 25m Perfect Mirror
+ #LOC_strl_shl-sun01Var3c = 50m Perfect Mirror
+ #LOC_strl_shl-sun01Var3d = 50m Perfect Mirror (Open)
+ #LOC_strl_shl-sun01Var4a = 10m Solar Thermal
+ #LOC_strl_shl-sun01Var4b = 25m Solar Thermal
+ #LOC_strl_shl-sun01Var4c = 50m Solar Thermal
+ #LOC_strl_shl-sun01Var4d = 50m Solar Thermal (Open)
+
+ // Reactors MSR
+ #LOC_strl_rctrms_0625_title = Sterling Molten Salt Reactor 0.625m
+ #LOC_strl_rctrms_125_title = Sterling Molten Salt Reactor 1.25m
+ #LOC_strl_rctrms_250_title = Sterling Molten Salt Reactor 2.5m
+ #LOC_strl_rctrms_375_title = Sterling Molten Salt Reactor 3.75m
+ #LOC_strl_rctrms_desc = A few bright minds gathered and pondered over the issue of water-cooled reactors wasting 95% of their fuel and the need to bury it and mark lots of land as off-limits, land that could be far better used growing snacks or building colonies on. Ultimately they came to this solution which fits well for low to mid power situations and needs much less nuclear material in the fuel. Please do not attempt to use this salt to flavor any food. We know who you are.
+
+ // Reactors PBR
+ #LOC_strl_rctrpb_125_title = Sterling Pebble Bed Reactor 1.25m
+ #LOC_strl_rctrpb_250_title = Sterling Pebble Bed Reactor 2.5m
+ #LOC_strl_rctrpb_375_title = Sterling Pebble Bed Reactor 3.75m
+ #LOC_strl_rctrpb_desc = With great power comes great density. In this universe, no rule holds more true.
+
+ // Exotic Radiators
+ #LOC_strl_rad-lfr-sta01_title = Sterling Stackable Film Radiator 10m
+ #LOC_strl_rad-lfr-sta02_title = Sterling Stackable Film Radiator 20m
+ #LOC_strl_rad-lfr-sta03_title = Sterling Stackable Film Radiator 60m
+ #LOC_strl_rad-lfr-sta04_title = Sterling Stackable Film Radiator 90m
+ #LOC_strl_rad-lfr-sta05_title = Sterling Stackable Film Radiator 120m
+ #LOC_strl_rad-lfr-sta06_title = Sterling Stackable Film Radiator 150m
+ #LOC_strl_rad-lfr-sta07_title = Sterling Stackable Film Radiator 180m
+ #LOC_strl_rad-lfr-sta01_desc = We love things that produce energy and these things love to produce heat. Quickly enough, we reached the point where there is so much heat to deal with that the radiators would immediately melt. We never feared it. We watched it melt and we enjoyed it... Then we learned to catch it and pump it back around.
+
+ #LOC_strl_rad-lfr-staVar1a = 5m Standard
+ #LOC_strl_rad-lfr-staVar1b = 5m Premium
+ #LOC_strl_rad-lfr-staVar1c = 5m Super
+ #LOC_strl_rad-lfr-staVar2a = 10m Standard
+ #LOC_strl_rad-lfr-staVar2b = 10m Premium
+ #LOC_strl_rad-lfr-staVar2c = 10m Super
+ #LOC_strl_rad-lfr-staVar3a = 20m Standard
+ #LOC_strl_rad-lfr-staVar3b = 20m Premium
+ #LOC_strl_rad-lfr-staVar3c = 20m Super
+ }
+}
+
+// change localization keys into part config keys so they can be chained easily
+@STRLB9LOC
+{
+ txtRadExoticCoolant1 =
The coolant is molten Lithium.
+ txtRadExoticCoolant2 =
The coolant is fine Cobalt dust.
+ txtEnergyTransfer = #autoLOC_8100213 // Max Energy Transfer
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Agency/Localization/en-us_WorldPower.cfg b/GameData/SterlingSystems/Agency/Localization/en-us_WorldPower.cfg
new file mode 100644
index 0000000..653f821
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/Localization/en-us_WorldPower.cfg
@@ -0,0 +1,25 @@
+Localization
+{
+ en-us
+ {
+ // World Power
+ #LOC_strl-worldpower-wm1_title = Sterling World Power VAWT Type 1
+ #LOC_strl-worldpower-wm1_desc = A vertical axis wind turbine designed to cluster easily and help to power a city.
+
+ #LOC_strl-worldpower-pv1_title = Sterling World Power Photovoltaics Type 1
+ #LOC_strl-worldpower-pv1_desc = A solar panel designed to cluster easily and help to power a city. This panel is upgrade-able and also becomes ineffective if overheated.
+
+ #LOC_strl-worldpower-sth1_title = Sterling World Power Solar Furnace
+ #LOC_strl-worldpower-sthxl_title = Sterling World Power Solar Tower
+ #LOC_strl-worldpower-tcs1x_title = Sterling World Power Gulf Stream 1x TCS
+ #LOC_strl-worldpower-tcs3x_title = Sterling World Power Gulf Stream 3x TCS
+ #LOC_strl-worldpower-tcs6x_title = Sterling World Power Gulf Stream 6x TCS
+
+ #LOC_strl-worldpower-sth1_desc = A concentrating solar panel with a small built-in thermal energy buffer and variable generator.
+ #LOC_strl-worldpower-sthxl_desc = This solar thermal device consists of a very tall collector and a huge array of heliostats. It is the new gold standard for main power for landed settlements but includes no features for power conversion and handling of waste heat.
+ #LOC_strl-worldpower-tcs_desc = An incredibly powerful radiator, the Gulf Stream series relies entirely on plumbing waste heat into an active stream of high pressure fluid. By consequence, it can only be used if the given celestial body has abundant atmosphere or a vast store of expendable water.
+
+ #LOC_strl-worldpower-sth1-lowPower = The generator runs on boiling oil and works well at near-homeworld distances.
+ #LOC_strl-worldpower-sth1-highPower = The generator runs on molten salt and works well at inner system distances.
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/Items.cfg b/GameData/SterlingSystems/Agency/UpgradeDefs/Items.cfg
new file mode 100644
index 0000000..0fc7a32
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/UpgradeDefs/Items.cfg
@@ -0,0 +1,70 @@
+PARTUPGRADE
+{
+ name = strl-upgrade-mirrorShields1
+ partIcon = strl-upgrade1
+ techRequired = experimentalScience
+ entryCost = 40000
+ cost = 0 // for display only; all parts implementing this will need a PartStatsUpgradeModule with cost = this.
+ title = #LOC_strl_upgrade_mirrorShieldTitle1
+ basicInfo = #LOC_strl_upgrade_mirrorShieldBasicInfo
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_upgrade_mirrorShieldDesc1
+}
+@PARTUPGRADE[strl-upgrade-mirrorShields1]:NEEDS[CommunityTechTree]
+{
+ @techRequired = longTermScienceTech
+}
+
+
+PARTUPGRADE
+{
+ name = strl-upgrade-mirrorShields2
+ partIcon = strl-upgrade2
+ techRequired = experimentalScience
+ entryCost = 40000
+ cost = 0 // for display only; all parts implementing this will need a PartStatsUpgradeModule with cost = this.
+ title = #LOC_strl_upgrade_mirrorShieldTitle2
+ basicInfo = #LOC_strl_upgrade_mirrorShieldBasicInfo
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_upgrade_mirrorShieldDesc2
+}
+@PARTUPGRADE[strl-upgrade-mirrorShields2]:NEEDS[CommunityTechTree]
+{
+ @techRequired = advSolarTech
+}
+
+
+PARTUPGRADE
+{
+ name = strl-upgrade-solar1
+ partIcon = strl-upgrade1
+ techRequired = specializedElectrics
+ entryCost = 4000
+ cost = 0 // for display only; all parts implementing this will need a PartStatsUpgradeModule with cost = this.
+ title = #LOC_strl_upgrade_solarPanelTitle1
+ basicInfo = #LOC_strl_upgrade_solarPanelBasicInfo
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_upgrade_solarPanelDesc1
+}
+@PARTUPGRADE[strl-upgrade-solar1]:NEEDS[CommunityTechTree]
+{
+ @techRequired = advSolarTech
+}
+
+
+PARTUPGRADE
+{
+ name = strl-upgrade-solar2
+ partIcon = strl-upgrade2
+ techRequired = experimentalElectrics
+ entryCost = 9000
+ cost = 0 // for display only; all parts implementing this will need a PartStatsUpgradeModule with cost = this.
+ title = #LOC_strl_upgrade_solarPanelTitle2
+ basicInfo = #LOC_strl_upgrade_solarPanelBasicInfo
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_upgrade_solarPanelDesc2
+}
+@PARTUPGRADE[strl-upgrade-solar2]:NEEDS[CommunityTechTree]
+{
+ @techRequired = advPVMaterials
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/Parts.cfg b/GameData/SterlingSystems/Agency/UpgradeDefs/Parts.cfg
new file mode 100644
index 0000000..63d0363
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/UpgradeDefs/Parts.cfg
@@ -0,0 +1,42 @@
+PART
+{
+ name = strl-upgrade1
+ module = Part
+ author = JadeOfMaar
+
+ rescaleFactor = 1
+ node_stack_top = 0.0, 0.3268025, 0.0, 0.0, 1.0, 0.0, 0
+ // node_stack_bottom = 0.0, -0.3268025, 0.0, 0.0, -1.0, 0.0, 0
+ // node_attach = 0.0, -0.3268025, 0.0, 0.0, -1.0, 0.0, 0
+ TechRequired = Unresearcheable
+ // TechHidden = True
+ entryCost = 0
+ cost = 0
+ category = none
+
+ MODEL
+ {
+ model = SterlingSystems/Agency/UpgradeDefs/up1
+ }
+ subcategory = 0
+ title = Upgrade Party
+ manufacturer =
+ description = Your PARTUPGRADE now looks like this. Have a nice day.
+ attachRules = 1,1,0,0,0
+ mass = 0.08
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ crashTolerance = 7
+ maxTemp = 1200
+ bulkheadProfiles = srf
+}
++PART[strl-upgrade1]
+{
+ @name = strl-upgrade2
+ @MODEL
+ {
+ @model = SterlingSystems/Agency/UpgradeDefs/up2
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/logo.dds b/GameData/SterlingSystems/Agency/UpgradeDefs/logo.dds
new file mode 100644
index 0000000..e29bae9
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/logo.dds differ
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/ring_blue.dds b/GameData/SterlingSystems/Agency/UpgradeDefs/ring_blue.dds
new file mode 100644
index 0000000..cb7303d
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/ring_blue.dds differ
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/ring_green.dds b/GameData/SterlingSystems/Agency/UpgradeDefs/ring_green.dds
new file mode 100644
index 0000000..fd3420b
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/ring_green.dds differ
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/ring_purple.dds b/GameData/SterlingSystems/Agency/UpgradeDefs/ring_purple.dds
new file mode 100644
index 0000000..6dbe93d
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/ring_purple.dds differ
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/ring_red.dds b/GameData/SterlingSystems/Agency/UpgradeDefs/ring_red.dds
new file mode 100644
index 0000000..bdbc45a
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/ring_red.dds differ
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/ring_yellow.dds b/GameData/SterlingSystems/Agency/UpgradeDefs/ring_yellow.dds
new file mode 100644
index 0000000..498c005
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/ring_yellow.dds differ
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/up1.mu b/GameData/SterlingSystems/Agency/UpgradeDefs/up1.mu
new file mode 100644
index 0000000..737f89b
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/up1.mu differ
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/up2.mu b/GameData/SterlingSystems/Agency/UpgradeDefs/up2.mu
new file mode 100644
index 0000000..655c135
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/up2.mu differ
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/up3.mu b/GameData/SterlingSystems/Agency/UpgradeDefs/up3.mu
new file mode 100644
index 0000000..97e2056
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/up3.mu differ
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/up4.mu b/GameData/SterlingSystems/Agency/UpgradeDefs/up4.mu
new file mode 100644
index 0000000..fe794f2
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/up4.mu differ
diff --git a/GameData/SterlingSystems/Agency/UpgradeDefs/up5.mu b/GameData/SterlingSystems/Agency/UpgradeDefs/up5.mu
new file mode 100644
index 0000000..33c2263
Binary files /dev/null and b/GameData/SterlingSystems/Agency/UpgradeDefs/up5.mu differ
diff --git a/GameData/SterlingSystems/Agency/zPatches/Resources.cfg b/GameData/SterlingSystems/Agency/zPatches/Resources.cfg
new file mode 100644
index 0000000..c486737
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/zPatches/Resources.cfg
@@ -0,0 +1,184 @@
+RESOURCE_DEFINITION:NEEDS[!CommunityResourcePack]
+{
+ name = ThermalPower
+ abbreviation = ThP
+ displayName = Thermal Power
+ density = 0
+ unitCost = 0
+ flowMode = ALL_VESSEL
+ transfer = NONE
+ isTweakable = false
+ isVisible = true
+ ksparpicon = TriggerTech/KSPAlternateResourcePanel/Icons/ThermalPower
+}
+RESOURCE_DEFINITION
+{
+ name = FissileFuel
+ displayName = #LOC_strl_FissileFuel_DisplayName
+ abbreviation = #LOC_strl_FissileFuel_Abbreviation
+ density = 0.001556
+ unitCost = 1200
+ hsp = 2010
+ flowMode = STACK_PRIORITY_SEARCH
+ transfer = PUMP
+ isTweakable = true
+ volume = 1
+ RESOURCE_DRAIN_DEFINITION
+ {
+ isDrainable = true
+ showDrainFX = true
+ drainFXPriority = 7
+ drainForceISP = 5
+ drainFXDefinition = gasDraining
+ }
+}
+RESOURCE_DEFINITION
+{
+ name = FizzledFuel
+ displayName = #LOC_strl_FizzledFuel_DisplayName
+ abbreviation = #LOC_strl_FizzledFuel_Abbreviation
+ density = 0.001556
+ unitCost = 0
+ hsp = 2010
+ flowMode = STACK_PRIORITY_SEARCH
+ transfer = PUMP
+ isTweakable = true
+ volume = 1
+ RESOURCE_DRAIN_DEFINITION
+ {
+ isDrainable = true
+ showDrainFX = true
+ drainFXPriority = 7
+ drainForceISP = 5
+ drainFXDefinition = gasDraining
+ }
+}
+RESOURCE_DEFINITION
+{
+ name = FissilePebbles
+ displayName = #LOC_strl_FissilePebbles_DisplayName
+ abbreviation = #LOC_strl_FissilePebbles_Abbreviation
+ density = 0.00321
+ unitCost = 1640
+ isTweakable = true
+ isVisible = true
+ flowMode = STAGE_PRIORITY_FLOW
+ transfer = PUMP
+ volume = 1
+}
+RESOURCE_DEFINITION
+{
+ name = FizzledPebbles
+ displayName = #LOC_strl_FizzledPebbles_DisplayName
+ abbreviation = #LOC_strl_FizzledPebbles_Abbreviation
+ density = 0.00321
+ unitCost = 0
+ isTweakable = true
+ isVisible = true
+ flowMode = STAGE_PRIORITY_FLOW
+ transfer = PUMP
+ volume = 1
+}
+// RESOURCE_DEFINITION
+// {
+ // name = MMPU
+ // displayName = MiniMag Pulse Units
+ // abbreviation = MMPU
+ // density = 0.00105
+ // unitCost = 4
+ // isTweakable = true
+ // isVisible = true
+ // flowMode = STAGE_PRIORITY_FLOW
+ // transfer = PUMP
+ // volume = 1
+// }
+RESOURCE_DEFINITION
+{
+ name = Beryllium
+ displayName = #LOC_strl_Beryllium_DisplayName
+ abbreviation = #LOC_strl_Beryllium_Abbreviation
+ density = 0.0007508 // 0.00901
+ unitCost = 250
+ hsp = 0
+ flowMode = STACK_PRIORITY_SEARCH
+ transfer = PUMP
+ isTweakable = true
+ volume = 1
+ RESOURCE_DRAIN_DEFINITION
+ {
+ isDrainable = true
+ showDrainFX = true
+ drainFXPriority = 7
+ drainForceISP = 5
+ drainFXDefinition = gasDraining
+ }
+}
+RESOURCE_DEFINITION
+{
+ name = BerylOxide
+ displayName = #LOC_strl_BerylOxide_DisplayName
+ abbreviation = #LOC_strl_BerylOxide_Abbreviation
+ density = 0.00244518 // 0.02501
+ unitCost = 0.8
+ hsp = 0
+ flowMode = STACK_PRIORITY_SEARCH
+ transfer = PUMP
+ isTweakable = true
+ volume = 1
+ RESOURCE_DRAIN_DEFINITION
+ {
+ isDrainable = false
+ showDrainFX = false
+ drainFXPriority = 7
+ drainForceISP = 5
+ drainFXDefinition = gasDraining
+ }
+}
+
+RESOURCE_DEFINITION
+{
+ name = LqdQuartz
+ displayName = #LOC_strl_LqdQuartz_DisplayName
+ abbreviation = #LOC_strl_LqdQuartz_Abbreviation
+ density = 0.00347 // 0.0025
+ flowMode = ALL_VESSEL
+ transfer = PUMP
+ isTweakable = true
+ isVisible = true
+ unitCost = 0.01
+ volume = 1
+ RESOURCE_DRAIN_DEFINITION
+ {
+ isDrainable = false
+ showDrainFX = false
+ drainFXPriority = 7
+ drainForceISP = 5
+ drainFXDefinition = gasDraining
+ }
+}
+// RESOURCE_DEFINITION
+// {
+ // name = NuclearSaltWater
+ // displayName = Nuclear SaltWater
+ // abbreviation = NSW
+ // density = 0.00105
+ // unitCost = 4
+ // isTweakable = true
+ // isVisible = true
+ // flowMode = STAGE_PRIORITY_FLOW
+ // transfer = PUMP
+ // volume = 1
+// }
+// RESOURCE_DEFINITION
+// {
+ // name = LithiumSaltWater
+ // displayName = Lithium SaltWater
+ // abbreviation = LSW
+ // density = 0.00105
+ // unitCost = 4
+ // isTweakable = true
+ // isVisible = true
+ // flowMode = STAGE_PRIORITY_FLOW
+ // transfer = PUMP
+ // volume = 1
+// }
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Agency/zPatches/SimpleRepaint.cfg b/GameData/SterlingSystems/Agency/zPatches/SimpleRepaint.cfg
new file mode 100644
index 0000000..b085a0c
--- /dev/null
+++ b/GameData/SterlingSystems/Agency/zPatches/SimpleRepaint.cfg
@@ -0,0 +1,44 @@
+// = = = Tag parts to blacklist them, if any = = =
+// Electric
+@PART[strl-rctrkrusty,strl-rctrscm]:NEEDS[B9PartSwitch,SimpleRepaint]
+{
+ SR_Ignore = true
+}
+
+// Thermals
+@PART[strl-rad-wrap*,strl-shl-wrap*,strl-rad-sink*,strl-fuelcell-lug,strl-shl-shadow01,strl-upgrade*,strl-pv-wrapxs*]:NEEDS[B9PartSwitch,SimpleRepaint]
+{
+ SR_Ignore = true
+}
+
+// Tankage
+@PART[strl-tankdrumb-*,strl-tankpillb-*,strl-tankpillg-*,strl-tankpillwg-*]:NEEDS[B9PartSwitch,SimpleRepaint]
+{
+ SR_Ignore = true
+}
+
+
+// Tag parts that aren't tagged for blacklisting, so they receive the keys that the mod is looking for and will act upon and patch them
+@PART[strl-*]:HAS[~SR_Ignore]:NEEDS[B9PartSwitch,SimpleRepaint]
+{
+ SR_MaterialMask1 = *
+ SR_RepaintType = B9PS
+}
+
+// Alter the installed module on my parts after the mod has done its work
+// Give one or more named transforms so the repaint switcher will only affect these transforms
+@PART[strl-*]:AFTER[zzzzzzSimpleRepaint]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[SimpleRepaint]]
+ {
+ %switcherDescription = Repaint
+ %switcherDescriptionPlural = Repaints
+ @SUBTYPE:HAS[@MATERIAL],*
+ {
+ @MATERIAL
+ {
+ transform = White
+ }
+ }
+ }
+}
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_Cube.cfg b/GameData/SterlingSystems/Electric/Batteries/Batt_Cube.cfg
new file mode 100644
index 0000000..6df8d66
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Batteries/Batt_Cube.cfg
@@ -0,0 +1,55 @@
+PART
+{
+ name = strl-batt-cube
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Batteries/Batt_Cube
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.41, 0.0, 0.0, -1.0
+ TechRequired = electrics
+ entryCost = 7400
+ cost = 475
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_batt_cube_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_batt_cube_desc
+ tags =
+ attachRules = 0,1,0,1,0
+
+ mass = 0.084
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 0.41, 0
+ CoLOffset = 0, 0.41, 0
+ CoPOffset = 0, 0.41, 0
+
+ refVolume = 422
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 422
+ switcherDescription = Chemistry
+ switcherDescriptionPlural = Chemistries
+ SUBTYPE
+ {
+ name = Default
+ tankType = Battery
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_Cube.mu b/GameData/SterlingSystems/Electric/Batteries/Batt_Cube.mu
new file mode 100644
index 0000000..11c3563
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/Batt_Cube.mu differ
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_DIFF.dds b/GameData/SterlingSystems/Electric/Batteries/Batt_DIFF.dds
new file mode 100644
index 0000000..3d8840b
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/Batt_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_Lug.mu b/GameData/SterlingSystems/Electric/Batteries/Batt_Lug.mu
new file mode 100644
index 0000000..4205e5b
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/Batt_Lug.mu differ
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_Luggage.cfg b/GameData/SterlingSystems/Electric/Batteries/Batt_Luggage.cfg
new file mode 100644
index 0000000..efd5fc0
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Batteries/Batt_Luggage.cfg
@@ -0,0 +1,55 @@
+PART
+{
+ name = strl-batt-lug
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Batteries/Batt_Lug
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.23, 0.0, 0.0, -1.0
+ TechRequired = electrics
+ entryCost = 7400
+ cost = 108
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_batt_lug_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_batt_lug_desc
+ tags =
+ attachRules = 0,1,0,1,0
+
+ mass = 0.019
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 1.25, 0
+ CoLOffset = 0, 1.25, 0
+ CoPOffset = 0, 1.25, 0
+
+ refVolume = 96
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 96
+ switcherDescription = Chemistry
+ switcherDescriptionPlural = Chemistries
+ SUBTYPE
+ {
+ name = Default
+ tankType = Battery
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_Mk2.cfg b/GameData/SterlingSystems/Electric/Batteries/Batt_Mk2.cfg
new file mode 100644
index 0000000..523285b
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Batteries/Batt_Mk2.cfg
@@ -0,0 +1,195 @@
+PART
+{
+ name = strl-batt-mk2
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Batteries/Batt_Mk2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.75, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 7400
+ cost = 4163
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_batt_mk2_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_batt_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 0.74
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = mk2,srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 2.5, 0
+ CoLOffset = 0, 2.5, 0
+ CoPOffset = 0, 2.5, 0
+
+ refVolume = 3700
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top04
+ transform = top04
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 3700
+ switcherDescription = Chemistry
+ switcherDescriptionPlural = Chemistries
+ SUBTYPE
+ {
+ name = Default
+ tankType = Battery
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 2.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAdded = 0
+ transform = 1
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 3.5m
+ addedMass = 0.445
+ addedCost = 2503
+ volumeAddedToParent = 2225
+ transform = 2
+ node = top01
+ CoMOffset = 0, 3.375, 0
+ CoLOffset = 0, 3.375, 0
+ CoPOffset = 0, 3.375, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 1, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 4.5m
+ addedMass = 0.445
+ @addedMass *= 2
+ addedCost = 2503
+ @addedCost *= 2
+ volumeAddedToParent = 4450
+ transform = 3
+ node = top02
+ CoMOffset = 0, 4.25, 0
+ CoLOffset = 0, 4.25, 0
+ CoPOffset = 0, 4.25, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 5.5m
+ addedMass = 0.445
+ @addedMass *= 3
+ addedCost = 2503
+ @addedCost *= 3
+ volumeAddedToParent = 6675
+ transform = 4
+ node = top03
+ CoMOffset = 0, 5.125, 0
+ CoLOffset = 0, 5.125, 0
+ CoPOffset = 0, 5.125, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 3, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 5
+ title = 7.5m
+ addedMass = 0.445
+ @addedMass *= 4
+ addedCost = 2503
+ @addedCost *= 4
+ volumeAddedToParent = 8900
+ transform = 5
+ node = top04
+ CoMOffset = 0, 6, 0
+ CoLOffset = 0, 6, 0
+ CoPOffset = 0, 6, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 5, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_Mk2.mu b/GameData/SterlingSystems/Electric/Batteries/Batt_Mk2.mu
new file mode 100644
index 0000000..73e6c58
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/Batt_Mk2.mu differ
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_NRM.dds b/GameData/SterlingSystems/Electric/Batteries/Batt_NRM.dds
new file mode 100644
index 0000000..ba897b7
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/Batt_NRM.dds differ
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_S1.cfg b/GameData/SterlingSystems/Electric/Batteries/Batt_S1.cfg
new file mode 100644
index 0000000..7cf3c2e
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Batteries/Batt_S1.cfg
@@ -0,0 +1,195 @@
+PART
+{
+ name = strl-batt-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Batteries/Batt_S1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.625, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 7400
+ cost = 2705
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_batt_125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_batt_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 0.481
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1,srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 1.25, 0
+ CoLOffset = 0, 1.25, 0
+ CoPOffset = 0, 1.25, 0
+
+ refVolume = 2404
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top04
+ transform = top04
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 2400
+ switcherDescription = Chemistry
+ switcherDescriptionPlural = Chemistries
+ SUBTYPE
+ {
+ name = Default
+ tankType = Battery
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 2.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAdded = 0
+ transform = 1
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 3.7m
+ addedMass = 0.346
+ addedCost = 1945
+ volumeAddedToParent = 1730
+ transform = 2
+ node = top01
+ CoMOffset = 0, 1.85, 0
+ CoLOffset = 0, 1.85, 0
+ CoPOffset = 0, 1.85, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 1.2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 4.9m
+ addedMass = 0.346
+ @addedMass *= 2
+ addedCost = 1945
+ @addedCost *= 2
+ volumeAddedToParent = 3460
+ transform = 3
+ node = top02
+ CoMOffset = 0, 2.45, 0
+ CoLOffset = 0, 2.45, 0
+ CoPOffset = 0, 2.45, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 2.4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 6.1m
+ addedMass = 0.346
+ @addedMass *= 3
+ addedCost = 1945
+ @addedCost *= 3
+ volumeAddedToParent = 5190
+ transform = 4
+ node = top03
+ CoMOffset = 0, 3.05, 0
+ CoLOffset = 0, 3.05, 0
+ CoPOffset = 0, 3.05, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 3.6, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 5
+ title = 7.3m
+ addedMass = 0.346
+ @addedMass *= 4
+ addedCost = 1945
+ @addedCost *= 4
+ volumeAddedToParent = 6920
+ transform = 5
+ node = top04
+ CoMOffset = 0, 3.65, 0
+ CoLOffset = 0, 3.65, 0
+ CoPOffset = 0, 3.65, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 4.8, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_S1.mu b/GameData/SterlingSystems/Electric/Batteries/Batt_S1.mu
new file mode 100644
index 0000000..2964ece
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/Batt_S1.mu differ
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_S2.cfg b/GameData/SterlingSystems/Electric/Batteries/Batt_S2.cfg
new file mode 100644
index 0000000..fbe0d38
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Batteries/Batt_S2.cfg
@@ -0,0 +1,196 @@
+PART
+{
+ name = strl-batt-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Batteries/Batt_S2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 7400
+ cost = 16111
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_batt_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_batt_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 2.864
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 2, 0
+ CoLOffset = 0, 2, 0
+ CoPOffset = 0, 2, 0
+
+ refPower = 1
+ refVolume = 14320
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top04
+ transform = top04
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 14320
+ switcherDescription = Chemistry
+ switcherDescriptionPlural = Chemistries
+ SUBTYPE
+ {
+ name = Default
+ tankType = Battery
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 4m
+ addedMass = 0
+ addedCost = 0
+ volumeAdded = 0
+ transform = 1
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 5.25m
+ addedMass = 1.636
+ addedCost = 9205
+ volumeAddedToParent = 8180
+ transform = 2
+ node = top01
+ CoMOffset = 0, 2.625, 0
+ CoLOffset = 0, 2.625, 0
+ CoPOffset = 0, 2.625, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 1.25, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 6.5m
+ addedMass = 1.636
+ @addedMass *= 2
+ addedCost = 9205
+ @addedCost *= 2
+ volumeAddedToParent = 16360
+ transform = 3
+ node = top02
+ CoMOffset = 0, 3.25, 0
+ CoLOffset = 0, 3.25, 0
+ CoPOffset = 0, 3.25, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 2.5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 7.75m
+ addedMass = 1.636
+ @addedMass *= 3
+ addedCost = 9205
+ @addedCost *= 3
+ volumeAddedToParent = 24540
+ transform = 4
+ node = top03
+ CoMOffset = 0, 3.875, 0
+ CoLOffset = 0, 3.875, 0
+ CoPOffset = 0, 3.875, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 3.75, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 5
+ title = 9m
+ addedMass = 1.636
+ @addedMass *= 4
+ addedCost = 9205
+ @addedCost *= 4
+ volumeAddedToParent = 40900
+ transform = 5
+ node = top04
+ CoMOffset = 0, 4.5, 0
+ CoLOffset = 0, 4.5, 0
+ CoPOffset = 0, 4.5, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 5, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_S2.mu b/GameData/SterlingSystems/Electric/Batteries/Batt_S2.mu
new file mode 100644
index 0000000..60fb432
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/Batt_S2.mu differ
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_S3.cfg b/GameData/SterlingSystems/Electric/Batteries/Batt_S3.cfg
new file mode 100644
index 0000000..df8dd38
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Batteries/Batt_S3.cfg
@@ -0,0 +1,194 @@
+PART
+{
+ name = strl-batt-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Batteries/Batt_S3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 7400
+ cost = 51267
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_batt_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_batt_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 9.114
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3,srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 3, 0
+ CoLOffset = 0, 3, 0
+ CoPOffset = 0, 3, 0
+
+ refVolume = 45570
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top04
+ transform = top04
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 45570
+ switcherDescription = Chemistry
+ switcherDescriptionPlural = Chemistries
+ SUBTYPE
+ {
+ name = Default
+ tankType = Battery
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 5m
+ addedMass = 0
+ addedCost = 0
+ volumeAdded = 0
+ transform = 1
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 6.75m
+ addedMass = 5.247
+ addedCost = 29514
+ volumeAddedToParent = 26230
+ transform = 2
+ node = top01
+ CoMOffset = 0, 3.375, 0
+ CoLOffset = 0, 3.375, 0
+ CoPOffset = 0, 3.375, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 1.75, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 8.5m
+ addedMass = 5.247
+ @addedMass *= 2
+ addedCost = 29514
+ @addedCost *= 2
+ volumeAddedToParent = 52460
+ transform = 3
+ node = top02
+ CoMOffset = 0, 4.25, 0
+ CoLOffset = 0, 4.25, 0
+ CoPOffset = 0, 4.25, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 3.5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 10.25m
+ addedMass = 5.247
+ @addedMass *= 3
+ addedCost = 29514
+ @addedCost *= 3
+ volumeAddedToParent = 78690
+ transform = 4
+ node = top03
+ CoMOffset = 0, 5.125, 0
+ CoLOffset = 0, 5.125, 0
+ CoPOffset = 0, 5.125, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 5.25, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 5
+ title = 12m
+ addedMass = 5.247
+ @addedMass *= 4
+ addedCost = 29514
+ @addedCost *= 4
+ volumeAddedToParent = 104920
+ transform = 5
+ node = top04
+ CoMOffset = 0, 6, 0
+ CoLOffset = 0, 6, 0
+ CoPOffset = 0, 6, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 7, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_S3.mu b/GameData/SterlingSystems/Electric/Batteries/Batt_S3.mu
new file mode 100644
index 0000000..e41ee15
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/Batt_S3.mu differ
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_S4.cfg b/GameData/SterlingSystems/Electric/Batteries/Batt_S4.cfg
new file mode 100644
index 0000000..1a75946
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Batteries/Batt_S4.cfg
@@ -0,0 +1,195 @@
+PART
+{
+ name = strl-batt-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Batteries/Batt_S4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 2.5, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 7400
+ cost = 117839
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_batt_500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_batt_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 20.949
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size4,srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 3, 0
+ CoLOffset = 0, 3, 0
+ CoPOffset = 0, 3, 0
+
+ refVolume = 104745
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top04
+ transform = top04
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 104745
+ switcherDescription = Chemistry
+ switcherDescriptionPlural = Chemistries
+ SUBTYPE
+ {
+ name = Default
+ tankType = Battery
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 6m
+ addedMass = 0
+ addedCost = 0
+ volumeAdded = 0
+ transform = 1
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 8.25m
+ addedMass = 12.11
+ addedCost = 68118
+ volumeAddedToParent = 60550
+ transform = 2
+ node = top01
+ CoMOffset = 0, 4.125, 0
+ CoLOffset = 0, 4.125, 0
+ CoPOffset = 0, 4.125, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 2.25, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 10.5m
+ addedMass = 12.11
+ @addedMass *= 2
+ addedCost = 68118
+ @addedCost *= 2
+ volumeAddedToParent = 121100
+ transform = 3
+ node = top02
+ CoMOffset = 0, 5.25, 0
+ CoLOffset = 0, 5.25, 0
+ CoPOffset = 0, 5.25, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 4.5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 12.75m
+ addedMass = 12.11
+ @addedMass *= 3
+ addedCost = 68118
+ @addedCost *= 3
+ volumeAddedToParent = 181650
+ transform = 4
+ node = top03
+ CoMOffset = 0, 6.375, 0
+ CoLOffset = 0, 6.375, 0
+ CoPOffset = 0, 6.375, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 6.75, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 5
+ title = 15m
+ addedMass = 12.11
+ @addedMass *= 4
+ addedCost = 68118
+ @addedCost *= 4
+ volumeAddedToParent = 242200
+ transform = 5
+ node = top04
+ CoMOffset = 0, 7.5, 0
+ CoLOffset = 0, 7.5, 0
+ CoPOffset = 0, 7.5, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 9, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Batteries/Batt_S4.mu b/GameData/SterlingSystems/Electric/Batteries/Batt_S4.mu
new file mode 100644
index 0000000..5d3375c
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/Batt_S4.mu differ
diff --git a/GameData/SterlingSystems/Electric/Batteries/MAEC_BSPEC.dds b/GameData/SterlingSystems/Electric/Batteries/MAEC_BSPEC.dds
new file mode 100644
index 0000000..1e9aa8d
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/MAEC_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Electric/Batteries/MAEC_EMM.dds b/GameData/SterlingSystems/Electric/Batteries/MAEC_EMM.dds
new file mode 100644
index 0000000..3347244
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Batteries/MAEC_EMM.dds differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECHUD_DIFF.dds b/GameData/SterlingSystems/Electric/Converters/TECHUD_DIFF.dds
new file mode 100644
index 0000000..13c2232
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECHUD_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECHUD_EMM.dds b/GameData/SterlingSystems/Electric/Converters/TECHUD_EMM.dds
new file mode 100644
index 0000000..6642daf
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECHUD_EMM.dds differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECHUD_NRM.dds b/GameData/SterlingSystems/Electric/Converters/TECHUD_NRM.dds
new file mode 100644
index 0000000..4014890
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECHUD_NRM.dds differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S0.cfg b/GameData/SterlingSystems/Electric/Converters/TECTurb_S0.cfg
new file mode 100644
index 0000000..381d6a6
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Converters/TECTurb_S0.cfg
@@ -0,0 +1,52 @@
+PART
+{
+ name = strl-tectrb-0625
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Converters/TECTurb_S0
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.313, 0.0, 0.0, -1.0
+ TechRequired = advElectrics
+ entryCost = 5000
+ cost = 1406
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_tectrb_0625_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tectrb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 1.125
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size0
+ crashTolerance = 15
+ breakingForce = 400
+ breakingTorque = 400
+ maxTemp = 2000
+ skinMaxTemp = 2000
+ emissiveConstant = 0.4
+
+ refPower = 0.125
+ refVolume = 154
+ NODE
+ {
+ name = top
+ transform = top
+ size = 0
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 0
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S0.mu b/GameData/SterlingSystems/Electric/Converters/TECTurb_S0.mu
new file mode 100644
index 0000000..59efd24
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECTurb_S0.mu differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S1.cfg b/GameData/SterlingSystems/Electric/Converters/TECTurb_S1.cfg
new file mode 100644
index 0000000..3cffedb
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Converters/TECTurb_S1.cfg
@@ -0,0 +1,52 @@
+PART
+{
+ name = strl-tectrb-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Converters/TECTurb_S1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.625, 0.0, 0.0, -1.0
+ TechRequired = advElectrics
+ entryCost = 5000
+ cost = 11250
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_tectrb_125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tectrb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 9
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1
+ crashTolerance = 15
+ breakingForce = 500
+ breakingTorque = 500
+ maxTemp = 2000
+ skinMaxTemp = 2000
+ emissiveConstant = 0.4
+
+ refPower = 1
+ refVolume = 1227
+ NODE
+ {
+ name = top
+ transform = top
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S1.mu b/GameData/SterlingSystems/Electric/Converters/TECTurb_S1.mu
new file mode 100644
index 0000000..4d85dd9
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECTurb_S1.mu differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S1p5.cfg b/GameData/SterlingSystems/Electric/Converters/TECTurb_S1p5.cfg
new file mode 100644
index 0000000..62d4259
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Converters/TECTurb_S1p5.cfg
@@ -0,0 +1,52 @@
+PART
+{
+ name = strl-tectrb-1875
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Converters/TECTurb_S1p5
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.9375, 0.0, 0.0, -1.0
+ TechRequired = advElectrics
+ entryCost = 5000
+ cost = 25313
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_tectrb_1875_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tectrb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 20.25
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1p5
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2000
+ skinMaxTemp = 2000
+ emissiveConstant = 0.4
+
+ refPower = 2.25
+ refVolume = 2764
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S1p5.mu b/GameData/SterlingSystems/Electric/Converters/TECTurb_S1p5.mu
new file mode 100644
index 0000000..8d1eb9e
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECTurb_S1p5.mu differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S2.cfg b/GameData/SterlingSystems/Electric/Converters/TECTurb_S2.cfg
new file mode 100644
index 0000000..0f99daf
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Converters/TECTurb_S2.cfg
@@ -0,0 +1,52 @@
+PART
+{
+ name = strl-tectrb-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Converters/TECTurb_S2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ TechRequired = advElectrics
+ entryCost = 5000
+ cost = 33750
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_tectrb_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tectrb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 27
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2
+ crashTolerance = 15
+ breakingForce = 3200
+ breakingTorque = 3200
+ maxTemp = 2000
+ skinMaxTemp = 2000
+ emissiveConstant = 0.4
+
+ refPower = 3
+ refVolume = 4909
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S2.mu b/GameData/SterlingSystems/Electric/Converters/TECTurb_S2.mu
new file mode 100644
index 0000000..b9fbdf9
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECTurb_S2.mu differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S3.cfg b/GameData/SterlingSystems/Electric/Converters/TECTurb_S3.cfg
new file mode 100644
index 0000000..690968d
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Converters/TECTurb_S3.cfg
@@ -0,0 +1,52 @@
+PART
+{
+ name = strl-tectrb-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Converters/TECTurb_S3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 5000
+ cost = 67500
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_tectrb_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tectrb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 54
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3
+ crashTolerance = 15
+ breakingForce = 3200
+ breakingTorque = 3200
+ maxTemp = 2000
+ skinMaxTemp = 2000
+ emissiveConstant = 0.4
+
+ refPower = 6
+ refVolume = 11046
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S3.mu b/GameData/SterlingSystems/Electric/Converters/TECTurb_S3.mu
new file mode 100644
index 0000000..314117b
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECTurb_S3.mu differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S4.cfg b/GameData/SterlingSystems/Electric/Converters/TECTurb_S4.cfg
new file mode 100644
index 0000000..e837595
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Converters/TECTurb_S4.cfg
@@ -0,0 +1,52 @@
+PART
+{
+ name = strl-tectrb-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Converters/TECTurb_S4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 2.5, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 5000
+ cost = 101250
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_tectrb_500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tectrb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 81
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size4
+ crashTolerance = 15
+ breakingForce = 3200
+ breakingTorque = 3200
+ maxTemp = 2000
+ skinMaxTemp = 2000
+ emissiveConstant = 0.4
+
+ refPower = 9
+ refVolume = 19638
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Converters/TECTurb_S4.mu b/GameData/SterlingSystems/Electric/Converters/TECTurb_S4.mu
new file mode 100644
index 0000000..0e6c2bb
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECTurb_S4.mu differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECgroup_DIFF.dds b/GameData/SterlingSystems/Electric/Converters/TECgroup_DIFF.dds
new file mode 100644
index 0000000..203815d
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECgroup_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Electric/Converters/TECgroup_NRM.dds b/GameData/SterlingSystems/Electric/Converters/TECgroup_NRM.dds
new file mode 100644
index 0000000..936926e
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Converters/TECgroup_NRM.dds differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/FuelCell_Cube.cfg b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_Cube.cfg
new file mode 100644
index 0000000..ccafe41
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_Cube.cfg
@@ -0,0 +1,124 @@
+PART
+{
+ name = strl-fuelcell-cube
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/FuelCells/MAEC_Cube
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.41, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_fuelcell_cube_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_fuelcell_cube_desc
+ tags =
+ attachRules = 0,1,0,1,0
+
+ mass = 0.084
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 0.41, 0
+ CoLOffset = 0, 0.41, 0
+ CoPOffset = 0, 0.41, 0
+
+ refPower = 0.1
+ refVolume = 422
+
+ // NODE
+ // {
+ // name = top
+ // transform = top
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+ // NODE
+ // {
+ // name = top01
+ // transform = top01
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+ // NODE
+ // {
+ // name = top02
+ // transform = top02
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+ // NODE
+ // {
+ // name = top03
+ // transform = top03
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+ // NODE
+ // {
+ // name = top04
+ // transform = top04
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+ // NODE
+ // {
+ // name = bottom
+ // transform = bottom
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+
+ MODULE
+ {
+ name = ModuleAnimationGroup
+ deployAnimationName = FCStart
+ activeAnimationName = FCPulse
+ moduleType = FuelCell
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 0
+ switcherDescription = #LOC_strl_MAECmetalSwitch
+ switcherDescriptionPlural = #LOC_strl_MAECmetalSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Aluminium
+ title = #LOC_CRP_Aluminium_DisplayName
+ primaryColor = Grey
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Silicon
+ title = #LOC_CRP_Silicon_DisplayName
+ primaryColor = DarkPeach
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Beryllium
+ title = #LOC_strl_Beryllium_DisplayName
+ primaryColor = AquaMarine
+ secondaryColor = ResourceColorOxidizer
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/FuelCells/FuelCell_Luggage.cfg b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_Luggage.cfg
new file mode 100644
index 0000000..c052655
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_Luggage.cfg
@@ -0,0 +1,124 @@
+PART
+{
+ name = strl-fuelcell-lug
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/FuelCells/MAEC_Lug
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.23, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_fuelcell_lug_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_fuelcell_lug_desc
+ tags =
+ attachRules = 0,1,0,1,0
+
+ mass = 0.019
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 1.25, 0
+ CoLOffset = 0, 1.25, 0
+ CoPOffset = 0, 1.25, 0
+
+ refPower = 0.0064
+ refVolume = 96
+
+ // NODE
+ // {
+ // name = top
+ // transform = top
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+ // NODE
+ // {
+ // name = top01
+ // transform = top01
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+ // NODE
+ // {
+ // name = top02
+ // transform = top02
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+ // NODE
+ // {
+ // name = top03
+ // transform = top03
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+ // NODE
+ // {
+ // name = top04
+ // transform = top04
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+ // NODE
+ // {
+ // name = bottom
+ // transform = bottom
+ // size = 1
+ // method = FIXED_JOINT
+ // }
+
+ MODULE
+ {
+ name = ModuleAnimationGroup
+ deployAnimationName = FCStart
+ activeAnimationName = FCPulse
+ moduleType = FuelCell
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 0
+ switcherDescription = #LOC_strl_MAECmetalSwitch
+ switcherDescriptionPlural = #LOC_strl_MAECmetalSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Aluminium
+ title = #LOC_CRP_Aluminium_DisplayName
+ primaryColor = Grey
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Silicon
+ title = #LOC_CRP_Silicon_DisplayName
+ primaryColor = DarkPeach
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Beryllium
+ title = #LOC_strl_Beryllium_DisplayName
+ primaryColor = AquaMarine
+ secondaryColor = ResourceColorOxidizer
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/FuelCells/FuelCell_Mk2.cfg b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_Mk2.cfg
new file mode 100644
index 0000000..5379a5b
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_Mk2.cfg
@@ -0,0 +1,214 @@
+PART
+{
+ name = strl-fuelcell-mk2
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/FuelCells/MAEC_Mk2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.75, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_fuelcell_mk2_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_fuelcell_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 0.74
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = mk2,srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 2.5, 0
+ CoLOffset = 0, 2.5, 0
+ CoPOffset = 0, 2.5, 0
+
+ refPower = 0.36
+ refVolume = 3700
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top04
+ transform = top04
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleAnimationGroup
+ deployAnimationName = FCVarStart
+ activeAnimationName = FCVarPulse
+ moduleType = FuelCell
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 0
+ switcherDescription = #LOC_strl_MAECmetalSwitch
+ switcherDescriptionPlural = #LOC_strl_MAECmetalSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Aluminium
+ title = #LOC_CRP_Aluminium_DisplayName
+ primaryColor = Grey
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Silicon
+ title = #LOC_CRP_Silicon_DisplayName
+ primaryColor = DarkPeach
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Beryllium
+ title = #LOC_strl_Beryllium_DisplayName
+ primaryColor = AquaMarine
+ secondaryColor = ResourceColorOxidizer
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 2.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAdded = 0
+ transform = 1
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 3.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 2225
+ transform = 2
+ node = top01
+ CoMOffset = 0, 3.375, 0
+ CoLOffset = 0, 3.375, 0
+ CoPOffset = 0, 3.375, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 1, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 4.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 4450
+ transform = 3
+ node = top02
+ CoMOffset = 0, 4.25, 0
+ CoLOffset = 0, 4.25, 0
+ CoPOffset = 0, 4.25, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 5.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 6675
+ transform = 4
+ node = top03
+ CoMOffset = 0, 5.125, 0
+ CoLOffset = 0, 5.125, 0
+ CoPOffset = 0, 5.125, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 3, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 5
+ title = 7.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 8900
+ transform = 5
+ node = top04
+ CoMOffset = 0, 6, 0
+ CoLOffset = 0, 6, 0
+ CoPOffset = 0, 6, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 5, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S1.cfg b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S1.cfg
new file mode 100644
index 0000000..8806ced
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S1.cfg
@@ -0,0 +1,214 @@
+PART
+{
+ name = strl-fuelcell-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/FuelCells/MAEC_S1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.625, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_fuelcell_125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_fuelcell_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 0.481
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1,srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 1.25, 0
+ CoLOffset = 0, 1.25, 0
+ CoPOffset = 0, 1.25, 0
+
+ refPower = 0.25
+ refVolume = 2404
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top04
+ transform = top04
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleAnimationGroup
+ deployAnimationName = FCVarStart
+ activeAnimationName = FCVarPulse
+ moduleType = FuelCell
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 0
+ switcherDescription = #LOC_strl_MAECmetalSwitch
+ switcherDescriptionPlural = #LOC_strl_MAECmetalSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Aluminium
+ title = #LOC_CRP_Aluminium_DisplayName
+ primaryColor = Grey
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Silicon
+ title = #LOC_CRP_Silicon_DisplayName
+ primaryColor = DarkPeach
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Beryllium
+ title = #LOC_strl_Beryllium_DisplayName
+ primaryColor = AquaMarine
+ secondaryColor = ResourceColorOxidizer
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 2.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAdded = 0
+ transform = 1
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 3.7m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 1730
+ transform = 2
+ node = top01
+ CoMOffset = 0, 1.85, 0
+ CoLOffset = 0, 1.85, 0
+ CoPOffset = 0, 1.85, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 1.2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 4.9m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 3460
+ transform = 3
+ node = top02
+ CoMOffset = 0, 2.45, 0
+ CoLOffset = 0, 2.45, 0
+ CoPOffset = 0, 2.45, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 2.4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 6.1m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 5190
+ transform = 4
+ node = top03
+ CoMOffset = 0, 3.05, 0
+ CoLOffset = 0, 3.05, 0
+ CoPOffset = 0, 3.05, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 3.6, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 5
+ title = 7.3m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 6920
+ transform = 5
+ node = top04
+ CoMOffset = 0, 3.65, 0
+ CoLOffset = 0, 3.65, 0
+ CoPOffset = 0, 3.65, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 4.8, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S2.cfg b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S2.cfg
new file mode 100644
index 0000000..66d809f
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S2.cfg
@@ -0,0 +1,214 @@
+PART
+{
+ name = strl-fuelcell-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/FuelCells/MAEC_S2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_fuelcell_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_fuelcell_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 2.864
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 2, 0
+ CoLOffset = 0, 2, 0
+ CoPOffset = 0, 2, 0
+
+ refPower = 1
+ refVolume = 14320
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top04
+ transform = top04
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleAnimationGroup
+ deployAnimationName = FCVarStart
+ activeAnimationName = FCVarPulse
+ moduleType = FuelCell
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 0
+ switcherDescription = #LOC_strl_MAECmetalSwitch
+ switcherDescriptionPlural = #LOC_strl_MAECmetalSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Aluminium
+ title = #LOC_CRP_Aluminium_DisplayName
+ primaryColor = Grey
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Silicon
+ title = #LOC_CRP_Silicon_DisplayName
+ primaryColor = DarkPeach
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Beryllium
+ title = #LOC_strl_Beryllium_DisplayName
+ primaryColor = AquaMarine
+ secondaryColor = ResourceColorOxidizer
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 4m
+ addedMass = 0
+ addedCost = 0
+ volumeAdded = 0
+ transform = 1
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 5.25m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 8180
+ transform = 2
+ node = top01
+ CoMOffset = 0, 2.625, 0
+ CoLOffset = 0, 2.625, 0
+ CoPOffset = 0, 2.625, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 1.25, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 6.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 16360
+ transform = 3
+ node = top02
+ CoMOffset = 0, 3.25, 0
+ CoLOffset = 0, 3.25, 0
+ CoPOffset = 0, 3.25, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 2.5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 7.75m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 24540
+ transform = 4
+ node = top03
+ CoMOffset = 0, 3.875, 0
+ CoLOffset = 0, 3.875, 0
+ CoPOffset = 0, 3.875, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 3.75, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 5
+ title = 9m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 40900
+ transform = 5
+ node = top04
+ CoMOffset = 0, 4.5, 0
+ CoLOffset = 0, 4.5, 0
+ CoPOffset = 0, 4.5, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 5, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S3.cfg b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S3.cfg
new file mode 100644
index 0000000..a806bc8
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S3.cfg
@@ -0,0 +1,214 @@
+PART
+{
+ name = strl-fuelcell-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/FuelCells/MAEC_S3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_fuelcell_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_fuelcell_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 9.114
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3,srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 3, 0
+ CoLOffset = 0, 3, 0
+ CoPOffset = 0, 3, 0
+
+ refPower = 2.25
+ refVolume = 45570
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top04
+ transform = top04
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleAnimationGroup
+ deployAnimationName = FCVarStart
+ activeAnimationName = FCVarPulse
+ moduleType = FuelCell
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 0
+ switcherDescription = #LOC_strl_MAECmetalSwitch
+ switcherDescriptionPlural = #LOC_strl_MAECmetalSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Aluminium
+ title = #LOC_CRP_Aluminium_DisplayName
+ primaryColor = Grey
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Silicon
+ title = #LOC_CRP_Silicon_DisplayName
+ primaryColor = DarkPeach
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Beryllium
+ title = #LOC_strl_Beryllium_DisplayName
+ primaryColor = AquaMarine
+ secondaryColor = ResourceColorOxidizer
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 5m
+ addedMass = 0
+ addedCost = 0
+ volumeAdded = 0
+ transform = 1
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 6.75m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 26230
+ transform = 2
+ node = top01
+ CoMOffset = 0, 3.375, 0
+ CoLOffset = 0, 3.375, 0
+ CoPOffset = 0, 3.375, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 1.75, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 8.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 52460
+ transform = 3
+ node = top02
+ CoMOffset = 0, 4.25, 0
+ CoLOffset = 0, 4.25, 0
+ CoPOffset = 0, 4.25, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 3.5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 10.25m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 78690
+ transform = 4
+ node = top03
+ CoMOffset = 0, 5.125, 0
+ CoLOffset = 0, 5.125, 0
+ CoPOffset = 0, 5.125, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 5.25, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 5
+ title = 12m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 104920
+ transform = 5
+ node = top04
+ CoMOffset = 0, 6, 0
+ CoLOffset = 0, 6, 0
+ CoPOffset = 0, 6, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 7, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S4.cfg b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S4.cfg
new file mode 100644
index 0000000..3a4ef52
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/FuelCells/FuelCell_S4.cfg
@@ -0,0 +1,214 @@
+PART
+{
+ name = strl-fuelcell-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/FuelCells/MAEC_S4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 2.5, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_fuelcell_500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_fuelcell_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 20.949
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size4,srf
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ CoMOffset = 0, 3, 0
+ CoLOffset = 0, 3, 0
+ CoPOffset = 0, 3, 0
+
+ refPower = 4
+ refVolume = 104745
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top04
+ transform = top04
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleAnimationGroup
+ deployAnimationName = FCVarStart
+ activeAnimationName = FCVarPulse
+ moduleType = FuelCell
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 0
+ switcherDescription = #LOC_strl_MAECmetalSwitch
+ switcherDescriptionPlural = #LOC_strl_MAECmetalSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Aluminium
+ title = #LOC_CRP_Aluminium_DisplayName
+ primaryColor = Grey
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Silicon
+ title = #LOC_CRP_Silicon_DisplayName
+ primaryColor = DarkPeach
+ secondaryColor = ResourceColorOxidizer
+ }
+ SUBTYPE
+ {
+ name = Beryllium
+ title = #LOC_strl_Beryllium_DisplayName
+ primaryColor = AquaMarine
+ secondaryColor = ResourceColorOxidizer
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 6m
+ addedMass = 0
+ addedCost = 0
+ volumeAdded = 0
+ transform = 1
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 8.25m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 60550
+ transform = 2
+ node = top01
+ CoMOffset = 0, 4.125, 0
+ CoLOffset = 0, 4.125, 0
+ CoPOffset = 0, 4.125, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 2.25, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 10.5m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 121100
+ transform = 3
+ node = top02
+ CoMOffset = 0, 5.25, 0
+ CoLOffset = 0, 5.25, 0
+ CoPOffset = 0, 5.25, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 4.5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 12.75m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 181650
+ transform = 4
+ node = top03
+ CoMOffset = 0, 6.375, 0
+ CoLOffset = 0, 6.375, 0
+ CoPOffset = 0, 6.375, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 6.75, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 5
+ title = 15m
+ addedMass = 0
+ addedCost = 0
+ volumeAddedToParent = 242200
+ transform = 5
+ node = top04
+ CoMOffset = 0, 7.5, 0
+ CoLOffset = 0, 7.5, 0
+ CoPOffset = 0, 7.5, 0
+ TRANSFORM
+ {
+ name = FanSpinner
+ positionOffset = 0, 9, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_BSPEC.dds b/GameData/SterlingSystems/Electric/FuelCells/MAEC_BSPEC.dds
new file mode 100644
index 0000000..1e9aa8d
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_Cube.mu b/GameData/SterlingSystems/Electric/FuelCells/MAEC_Cube.mu
new file mode 100644
index 0000000..93878b9
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_Cube.mu differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_DIFF.dds b/GameData/SterlingSystems/Electric/FuelCells/MAEC_DIFF.dds
new file mode 100644
index 0000000..63b1454
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_EMM.dds b/GameData/SterlingSystems/Electric/FuelCells/MAEC_EMM.dds
new file mode 100644
index 0000000..3347244
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_EMM.dds differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_Lug.mu b/GameData/SterlingSystems/Electric/FuelCells/MAEC_Lug.mu
new file mode 100644
index 0000000..3230841
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_Lug.mu differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_Mk2.mu b/GameData/SterlingSystems/Electric/FuelCells/MAEC_Mk2.mu
new file mode 100644
index 0000000..19bff59
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_Mk2.mu differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_NRM.dds b/GameData/SterlingSystems/Electric/FuelCells/MAEC_NRM.dds
new file mode 100644
index 0000000..f5a8d20
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_NRM.dds differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_S1.mu b/GameData/SterlingSystems/Electric/FuelCells/MAEC_S1.mu
new file mode 100644
index 0000000..403e97a
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_S1.mu differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_S2.mu b/GameData/SterlingSystems/Electric/FuelCells/MAEC_S2.mu
new file mode 100644
index 0000000..2a2dd88
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_S2.mu differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_S3.mu b/GameData/SterlingSystems/Electric/FuelCells/MAEC_S3.mu
new file mode 100644
index 0000000..41effdf
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_S3.mu differ
diff --git a/GameData/SterlingSystems/Electric/FuelCells/MAEC_S4.mu b/GameData/SterlingSystems/Electric/FuelCells/MAEC_S4.mu
new file mode 100644
index 0000000..2f369d5
Binary files /dev/null and b/GameData/SterlingSystems/Electric/FuelCells/MAEC_S4.mu differ
diff --git a/GameData/SterlingSystems/Electric/Reactors/Decal.dds b/GameData/SterlingSystems/Electric/Reactors/Decal.dds
new file mode 100644
index 0000000..7c611c7
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Reactors/Decal.dds differ
diff --git a/GameData/SterlingSystems/Electric/Reactors/KRUSTY.cfg b/GameData/SterlingSystems/Electric/Reactors/KRUSTY.cfg
new file mode 100644
index 0000000..f467ca0
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Reactors/KRUSTY.cfg
@@ -0,0 +1,45 @@
+PART
+{
+ name = strl-rctrkrusty
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Reactors/KRUSTY
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, -0.6, 0.0, 0.0, -1.0, 0.0
+ TechRequired = experimentalElectrics
+ entryCost = 7800
+ cost = 4200
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_rctrkrusty_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rctrkrusty_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 1.44
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ refPower = 1
+ refVolume = 6
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Reactors/KRUSTY.mu b/GameData/SterlingSystems/Electric/Reactors/KRUSTY.mu
new file mode 100644
index 0000000..672ddaf
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Reactors/KRUSTY.mu differ
diff --git a/GameData/SterlingSystems/Electric/Reactors/KRUSTY_DIFF.dds b/GameData/SterlingSystems/Electric/Reactors/KRUSTY_DIFF.dds
new file mode 100644
index 0000000..84b43d3
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Reactors/KRUSTY_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Electric/Reactors/KRUSTY_NRM.dds b/GameData/SterlingSystems/Electric/Reactors/KRUSTY_NRM.dds
new file mode 100644
index 0000000..bff1e68
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Reactors/KRUSTY_NRM.dds differ
diff --git a/GameData/SterlingSystems/Electric/Reactors/SCM.cfg b/GameData/SterlingSystems/Electric/Reactors/SCM.cfg
new file mode 100644
index 0000000..b0768e9
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/Reactors/SCM.cfg
@@ -0,0 +1,45 @@
+PART
+{
+ name = strl-rctrscm
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/Reactors/SCM
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, -0.3, 0, 0.0, -1.0, 0.0
+ TechRequired = experimentalElectrics
+ entryCost = 7800
+ cost = 4200
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_rctrscm_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rctrscm_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 1.1
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size0
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ refPower = 1
+ refVolume = 7
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/Reactors/SCM.mu b/GameData/SterlingSystems/Electric/Reactors/SCM.mu
new file mode 100644
index 0000000..1743768
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Reactors/SCM.mu differ
diff --git a/GameData/SterlingSystems/Electric/Reactors/SCM_DIFF.dds b/GameData/SterlingSystems/Electric/Reactors/SCM_DIFF.dds
new file mode 100644
index 0000000..130def1
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Reactors/SCM_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Electric/Reactors/SCM_NRM.dds b/GameData/SterlingSystems/Electric/Reactors/SCM_NRM.dds
new file mode 100644
index 0000000..eea67a2
Binary files /dev/null and b/GameData/SterlingSystems/Electric/Reactors/SCM_NRM.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk2.cfg b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk2.cfg
new file mode 100644
index 0000000..8d04d68
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk2.cfg
@@ -0,0 +1,78 @@
+PART
+{
+ name = strl-pv-wrap-mk2
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanels/WrapPVMk2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 1880
+ cost = 1730
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrap-mk2_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrap_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.115
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, mk2
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 4.61
+ refPowerB = 6.45
+ refPowerC = 13.82
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 4.61
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 4.61
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk2.mu b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk2.mu
new file mode 100644
index 0000000..b34b2df
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk2.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk3.cfg b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk3.cfg
new file mode 100644
index 0000000..902552e
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk3.cfg
@@ -0,0 +1,78 @@
+PART
+{
+ name = strl-pv-wrap-mk3
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanels/WrapPVMk3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.02, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 1880
+ cost = 1730
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrap-mk3_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrap_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.115
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, mk3
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 4.61
+ refPowerB = 6.45
+ refPowerC = 13.82
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 4.61
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 4.61
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk3.mu b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk3.mu
new file mode 100644
index 0000000..3b3d7e4
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVMk3.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS1.cfg b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS1.cfg
new file mode 100644
index 0000000..860dbfc
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS1.cfg
@@ -0,0 +1,78 @@
+PART
+{
+ name = strl-pv-wrap-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanels/WrapPVS1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 1880
+ cost = 920
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrap-125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrap_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.061
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, size1
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 2.46
+ refPowerB = 3.44
+ refPowerC = 7.37
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 2.46
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 2.46
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS1.mu b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS1.mu
new file mode 100644
index 0000000..5b7ac55
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS1.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS1p5.cfg b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS1p5.cfg
new file mode 100644
index 0000000..d273f32
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS1p5.cfg
@@ -0,0 +1,79 @@
+PART
+{
+ name = strl-pv-wrap-187
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanels/WrapPVS1
+ scale = 1.5, 1.5, 1.5
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 1880
+ cost = 2070
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrap-187_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrap_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.138
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, size1p5
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 5.52
+ refPowerB = 7.73
+ refPowerC = 16.57
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 5.52
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 5.52
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS2.cfg b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS2.cfg
new file mode 100644
index 0000000..b396719
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS2.cfg
@@ -0,0 +1,78 @@
+PART
+{
+ name = strl-pv-wrap-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanels/WrapPVS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 1880
+ cost = 3680
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrap-250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrap_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.246
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, size2
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 9.82
+ refPowerB = 13.75
+ refPowerC = 29.46
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 9.82
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 9.82
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS2.mu b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS2.mu
new file mode 100644
index 0000000..0185fc7
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS2.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS3.cfg b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS3.cfg
new file mode 100644
index 0000000..1600a41
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS3.cfg
@@ -0,0 +1,78 @@
+PART
+{
+ name = strl-pv-wrap-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanels/WrapPVS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 1880
+ cost = 5530
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrap-375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrap_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.368
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, size3
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 14.73
+ refPowerB = 20.63
+ refPowerC = 44.2
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 14.73
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 14.73
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS3.mu b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS3.mu
new file mode 100644
index 0000000..11c0230
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS3.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS4.cfg b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS4.cfg
new file mode 100644
index 0000000..173a5be
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS4.cfg
@@ -0,0 +1,78 @@
+PART
+{
+ name = strl-pv-wrap-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanels/WrapPVS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 1880
+ cost = 7370
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrap-500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrap_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.491
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, size4
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 19.64
+ refPowerB = 27.5
+ refPowerC = 58.93
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 19.64
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 19.64
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS4.mu b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS4.mu
new file mode 100644
index 0000000..1ed10db
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/WrapPVS4.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC.dds b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC.dds
new file mode 100644
index 0000000..bfd2a8d
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1.dds b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1.dds
new file mode 100644
index 0000000..1cf2b85
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2.dds b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2.dds
new file mode 100644
index 0000000..469726c
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF.dds b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF.dds
new file mode 100644
index 0000000..728acb9
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1.dds b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1.dds
new file mode 100644
index 0000000..3109f28
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2.dds b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2.dds
new file mode 100644
index 0000000..5f22c3d
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_EMM.dds b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_EMM.dds
new file mode 100644
index 0000000..7d6dce0
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_EMM.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_NRM.dds b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_NRM.dds
new file mode 100644
index 0000000..9b30f23
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanels/wrapsPV_NRM.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVLin.cfg b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVLin.cfg
new file mode 100644
index 0000000..35722e3
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVLin.cfg
@@ -0,0 +1,54 @@
+PART
+{
+ name = strl-pv-wrapxs-lin
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanelsTiny/WrapPVLin
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = specializedElectrics
+ entryCost = 1880
+ cost = 280
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrapxs-lin_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrapxs-lin_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.019
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 1.5
+ refPowerB = 2.1
+ refPowerC = 4.5
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher
+ pivotName = sunCatcher
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 1.5
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVLin.mu b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVLin.mu
new file mode 100644
index 0000000..c61734b
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVLin.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVMk2.cfg b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVMk2.cfg
new file mode 100644
index 0000000..d51b0d1
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVMk2.cfg
@@ -0,0 +1,72 @@
+PART
+{
+ name = strl-pv-wrapxs-mk2
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanelsTiny/WrapPVMk2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = specializedElectrics
+ entryCost = 1880
+ cost = 368
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrapxs-mk2_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrapxs_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.025
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, mk2
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 0.98
+ refPowerB = 1.38
+ refPowerC = 2.95
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 0.98
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 0.98
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVMk2.mu b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVMk2.mu
new file mode 100644
index 0000000..f15ba14
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVMk2.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS0.cfg b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS0.cfg
new file mode 100644
index 0000000..ad10f78
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS0.cfg
@@ -0,0 +1,72 @@
+PART
+{
+ name = strl-pv-wrapxs-062
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanelsTiny/WrapPVS0
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = specializedElectrics
+ entryCost = 1880
+ cost = 90
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrapxs-062_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrapxs_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.006
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, size0
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 0.25
+ refPowerB = 0.34
+ refPowerC = 0.74
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 0.25
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 0.25
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS0.mu b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS0.mu
new file mode 100644
index 0000000..ae11ed5
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS0.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1.cfg b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1.cfg
new file mode 100644
index 0000000..c3059ea
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1.cfg
@@ -0,0 +1,72 @@
+PART
+{
+ name = strl-pv-wrapxs-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = specializedElectrics
+ entryCost = 1880
+ cost = 184
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrapxs-125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrapxs_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.012
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, size1
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 0.49
+ refPowerB = 0.69
+ refPowerC = 1.47
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 0.49
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 0.49
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1.mu b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1.mu
new file mode 100644
index 0000000..f6eb3e1
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1p5.cfg b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1p5.cfg
new file mode 100644
index 0000000..ffca80f
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1p5.cfg
@@ -0,0 +1,72 @@
+PART
+{
+ name = strl-pv-wrapxs-187
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1p5
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = specializedElectrics
+ entryCost = 1880
+ cost = 280
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrapxs-187_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrapxs_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.018
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, size1p5
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 0.74
+ refPowerB = 1.03
+ refPowerC = 2.21
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 0.74
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 0.74
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1p5.mu b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1p5.mu
new file mode 100644
index 0000000..5de5735
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS1p5.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS2.cfg b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS2.cfg
new file mode 100644
index 0000000..f7e21ea
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS2.cfg
@@ -0,0 +1,72 @@
+PART
+{
+ name = strl-pv-wrapxs-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Electric/SolarPanelsTiny/WrapPVS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = specializedElectrics
+ entryCost = 1880
+ cost = 740
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl_pv-wrapxs-250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_pv-wrapxs_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 0,1,0,0,0
+
+ mass = 0.049
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf, size2
+ crashTolerance = 20
+ maxTemp = 1200
+
+ refPower = 1.96
+ refPowerB = 2.75
+ refPowerC = 5.89
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher1
+ pivotName = sunCatcher1
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 1.96
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher2
+ pivotName = sunCatcher2
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 1.96
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 300 1 0 0
+ key = 900 0 0 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS2.mu b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS2.mu
new file mode 100644
index 0000000..5fc059f
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/WrapPVS2.mu differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC.dds b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC.dds
new file mode 100644
index 0000000..9d64937
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1.dds b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1.dds
new file mode 100644
index 0000000..3ba1469
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2.dds b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2.dds
new file mode 100644
index 0000000..753e64e
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF.dds b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF.dds
new file mode 100644
index 0000000..90e84af
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1.dds b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1.dds
new file mode 100644
index 0000000..efb5fdd
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2.dds b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2.dds
new file mode 100644
index 0000000..9abeee8
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2.dds differ
diff --git a/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_NRM.dds b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_NRM.dds
new file mode 100644
index 0000000..55f8c2c
Binary files /dev/null and b/GameData/SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_NRM.dds differ
diff --git a/GameData/SterlingSystems/Electric/zPatches/B9PS-Tiny.cfg b/GameData/SterlingSystems/Electric/zPatches/B9PS-Tiny.cfg
new file mode 100644
index 0000000..21d53ed
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/zPatches/B9PS-Tiny.cfg
@@ -0,0 +1,1110 @@
+@PART[strl-pv-wrapxs-062|strl-pv-wrapxs-1??|strl-pv-wrapxs-250|strl-pv-wrapxs-mk2]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower3 = #$refPower$
+ @refPower2 *= 2
+ @refPower3 *= 3
+ refPowerB2 = #$refPowerB$
+ refPowerB3 = #$refPowerB$
+ @refPowerB2 *= 2.8
+ @refPowerB3 *= 4.2
+ refPowerC2 = #$refPowerC$
+ refPowerC3 = #$refPowerC$
+ @refPowerC2 *= 4
+ @refPowerC3 *= 6
+ massb = #$mass$
+ massbp = #$mass$
+ @massb *= 1.15
+ @massbp *= 0.15
+ massc = #$mass$
+ masscp = #$mass$
+ @massc *= 1.2
+ @masscp *= 0.2
+ costb = #$cost$
+ costbp = #$cost$
+ @costb *= 1.15
+ @costbp *= 0.15
+ costc = #$cost$
+ costcp = #$cost$
+ @costc *= 1.2
+ @costcp *= 0.2
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #LOC_strl_subtype_Service
+ switcherDescriptionPlural = #LOC_strl_subtype_Services
+ SUBTYPE
+ {
+ name = a1x
+ title = #LOC_strl_pv_quality_a0-2m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 1
+ }
+ SUBTYPE
+ {
+ name = a2x
+ title = #LOC_strl_pv_quality_a0-4m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 2
+ addedMass = #$/mass$
+ addedCost = #$/cost$
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = a3x
+ title = #LOC_strl_pv_quality_a0-6m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$$@STRLB9LOC/elec_chargeRatePlural$ $/refPower3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 3
+ addedMass = #$/mass$
+ @addedMass *= 2
+ addedCost = #$/cost$
+ @addedCost *= 2
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower3$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower3$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b1x
+ title = #LOC_strl_pv_quality_b0-2m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$$@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 1
+ maxTemp = 1600
+ addedMass = #$/massbp$
+ addedCost = #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b2x
+ title = #LOC_strl_pv_quality_b0-4m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 2
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b3x
+ title = #LOC_strl_pv_quality_b0-6m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 3
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 2
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 2
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB3$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB3$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c1x
+ title = #LOC_strl_pv_quality_c0-2m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 1
+ maxTemp = 2500
+ addedMass = #$/masscp$
+ addedCost = #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c2x
+ title = #LOC_strl_pv_quality_c0-4m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 2
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c3x
+ title = #LOC_strl_pv_quality_c0-6m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 3
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 2
+ @addedMass += #$/masscp$
+ addedCost = #$/costb$
+ @addedCost *= 2
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC3$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC3$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-pv-wrapxs-250]:NEEDS[B9PartSwitch]
+{
+ @MODULE[ModuleB9PartSwitch]:has[#moduleID[Height]]
+ {
+ @SUBTYPE[a1x]
+ {
+ @title = #LOC_strl_pv_quality_a0-4m
+ }
+ @SUBTYPE[a2x]
+ {
+ @title = #LOC_strl_pv_quality_a0-8m
+ }
+ @SUBTYPE[a3x]
+ {
+ @title = #LOC_strl_pv_quality_a1-2m
+ }
+ @SUBTYPE[b1x]
+ {
+ @title = #LOC_strl_pv_quality_b0-4m
+ }
+ @SUBTYPE[b2x]
+ {
+ @title = #LOC_strl_pv_quality_b0-8m
+ }
+ @SUBTYPE[b3x]
+ {
+ @title = #LOC_strl_pv_quality_b1-2m
+ }
+ @SUBTYPE[c1x]
+ {
+ @title = #LOC_strl_pv_quality_c0-4m
+ }
+ @SUBTYPE[c2x]
+ {
+ @title = #LOC_strl_pv_quality_c0-8m
+ }
+ @SUBTYPE[c3x]
+ {
+ @title = #LOC_strl_pv_quality_c1-2m
+ }
+ }
+}
+
+
+@PART[strl-pv-wrapxs-lin]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower3 = #$refPower$
+ refPower4 = #$refPower$
+ refPower5 = #$refPower$
+ @refPower2 *= 2
+ @refPower3 *= 3
+ @refPower4 *= 4
+ @refPower5 *= 5
+ refPowerB2 = #$refPowerB$
+ refPowerB3 = #$refPowerB$
+ refPowerB4 = #$refPowerB$
+ refPowerB5 = #$refPowerB$
+ @refPowerB2 *= 2.8
+ @refPowerB3 *= 4.2
+ @refPowerB4 *= 5.6
+ @refPowerB5 *= 7.0
+ refPowerC2 = #$refPowerC$
+ refPowerC3 = #$refPowerC$
+ refPowerC4 = #$refPowerC$
+ refPowerC5 = #$refPowerC$
+ @refPowerC2 *= 4
+ @refPowerC3 *= 6
+ @refPowerC4 *= 8
+ @refPowerC5 *= 10
+ massb = #$mass$
+ massbp = #$mass$
+ @massb *= 1.15
+ @massbp *= 0.15
+ massc = #$mass$
+ masscp = #$mass$
+ @massc *= 1.2
+ @masscp *= 0.2
+ costb = #$cost$
+ costbp = #$cost$
+ @costb *= 1.15
+ @costbp *= 0.15
+ costc = #$cost$
+ costcp = #$cost$
+ @costc *= 1.2
+ @costcp *= 0.2
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #LOC_strl_subtype_Service
+ switcherDescriptionPlural = #LOC_strl_subtype_Services
+ SUBTYPE
+ {
+ name = a1x
+ title = #LOC_strl_pv_quality_a2m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPower$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 1
+ }
+ SUBTYPE
+ {
+ name = a2x
+ title = #LOC_strl_pv_quality_a4m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPower2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 2
+ addedMass = #$/mass$
+ addedCost = #$/cost$
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = a3x
+ title = #LOC_strl_pv_quality_a6m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPower3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 3
+ addedMass = #$/mass$
+ @addedMass *= 2
+ addedCost = #$/cost$
+ @addedCost *= 2
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPower3$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = a4x
+ title = #LOC_strl_pv_quality_a8m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPower4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 4
+ addedMass = #$/mass$
+ @addedMass *= 3
+ addedCost = #$/cost$
+ @addedCost *= 3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPower4$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = a5x
+ title = #LOC_strl_pv_quality_a10m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPower5$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 5
+ addedMass = #$/mass$
+ @addedMass *= 4
+ addedCost = #$/cost$
+ @addedCost *= 4
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPower5$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b1x
+ title = #LOC_strl_pv_quality_b2m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerB$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 1
+ maxTemp = 1600
+ addedMass = #$/massbp$
+ addedCost = #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b2x
+ title = #LOC_strl_pv_quality_b4m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerB2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 2
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b3x
+ title = #LOC_strl_pv_quality_b6m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerB3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 3
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 2
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 2
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB3$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b4x
+ title = #LOC_strl_pv_quality_b8m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerB4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 4
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 3
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 3
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB4$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b5x
+ title = #LOC_strl_pv_quality_b10m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerB5$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 5
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 4
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 4
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB5$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c1x
+ title = #LOC_strl_pv_quality_c2m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerC$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 1
+ maxTemp = 2500
+ addedMass = #$/masscp$
+ addedCost = #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c2x
+ title = #LOC_strl_pv_quality_c4m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerC2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 2
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c3x
+ title = #LOC_strl_pv_quality_c6m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerC3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 3
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 2
+ @addedMass += #$/masscp$
+ addedCost = #$/costb$
+ @addedCost *= 2
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC3$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c4x
+ title = #LOC_strl_pv_quality_c8m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerC4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 4
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 3
+ @addedMass += #$/masscp$
+ addedCost = #$/costb$
+ @addedCost *= 3
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC4$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c5x
+ title = #LOC_strl_pv_quality_c10m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerC5$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 5
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 4
+ @addedMass += #$/masscp$
+ addedCost = #$/costb$
+ @addedCost *= 4
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanelsTiny/wrapsPV-S_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC5$
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-wrappvxs*]:HAS[#refPowerB2]:NEEDS[B9PartSwitch]
+{
+ !refPower* = nope
+ !massb* = nope
+ !massc* = nope
+ !costb* = nope
+ !costc* = nope
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/zPatches/B9PS.cfg b/GameData/SterlingSystems/Electric/zPatches/B9PS.cfg
new file mode 100644
index 0000000..fd10ed4
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/zPatches/B9PS.cfg
@@ -0,0 +1,2903 @@
+@PART[strl-pv-wrap-1??]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower4 = #$refPower$
+ refPower6 = #$refPower$
+ refPower8 = #$refPower$
+ @refPower2 *= 2
+ @refPower4 *= 4
+ @refPower6 *= 6
+ @refPower8 *= 8
+ refPowerB2 = #$refPowerB$
+ refPowerB4 = #$refPowerB$
+ refPowerB6 = #$refPowerB$
+ refPowerB8 = #$refPowerB$
+ @refPowerB2 *= 2.8
+ @refPowerB4 *= 5.6
+ @refPowerB6 *= 8.4
+ @refPowerB8 *= 11.2
+ refPowerC2 = #$refPowerC$
+ refPowerC4 = #$refPowerC$
+ refPowerC6 = #$refPowerC$
+ refPowerC8 = #$refPowerC$
+ @refPowerC2 *= 4
+ @refPowerC4 *= 8
+ @refPowerC6 *= 12
+ @refPowerC8 *= 16
+ massb = #$mass$
+ massbp = #$mass$
+ @massb *= 1.15
+ @massbp *= 0.15
+ massc = #$mass$
+ masscp = #$mass$
+ @massc *= 1.2
+ @masscp *= 0.2
+ costb = #$cost$
+ costbp = #$cost$
+ @costb *= 1.15
+ @costbp *= 0.15
+ costc = #$cost$
+ costcp = #$cost$
+ @costc *= 1.2
+ @costcp *= 0.2
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #LOC_strl_subtype_Service
+ switcherDescriptionPlural = #LOC_strl_subtype_Services
+ SUBTYPE
+ {
+ name = a1x
+ title = #LOC_strl_pv_quality_a1m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 1m
+ }
+ SUBTYPE
+ {
+ name = a2x
+ title = #LOC_strl_pv_quality_a2m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 2m
+ addedMass = #$/mass$
+ addedCost = #$/cost$
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = a4x
+ title = #LOC_strl_pv_quality_a4m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 4m
+ addedMass = #$/mass$
+ @addedMass *= 3
+ addedCost = #$/cost$
+ @addedCost *= 3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower4$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower4$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = a6x
+ title = #LOC_strl_pv_quality_a6m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower6$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 6m
+ addedMass = #$/mass$
+ @addedMass *= 5
+ addedCost = #$/cost$
+ @addedCost *= 5
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower6$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower6$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = a8x
+ title = #LOC_strl_pv_quality_a8m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower8$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 8m
+ addedMass = #$/mass$
+ @addedMass *= 7
+ addedCost = #$/cost$
+ @addedCost *= 7
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower8$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower8$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b1x
+ title = #LOC_strl_pv_quality_b1m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 1m
+ maxTemp = 1600
+ addedMass = #$/massbp$
+ addedCost = #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b2x
+ title = #LOC_strl_pv_quality_b2m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 2m
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b4x
+ title = #LOC_strl_pv_quality_b4m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 4m
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 3
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 3
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB4$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB4$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b6x
+ title = #LOC_strl_pv_quality_b6m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB6$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 6m
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 5
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 5
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB6$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB6$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b8x
+ title = #LOC_strl_pv_quality_b8m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB8$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 8m
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 7
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 7
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB8$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB8$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c1x
+ title = #LOC_strl_pv_quality_c1m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 1m
+ maxTemp = 2500
+ addedMass = #$/masscp$
+ addedCost = #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c2x
+ title = #LOC_strl_pv_quality_c2m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 2m
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c4x
+ title = #LOC_strl_pv_quality_c4m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 4m
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 3
+ @addedMass += #$/masscp$
+ addedCost = #$/costb$
+ @addedCost *= 3
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC4$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC4$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c6x
+ title = #LOC_strl_pv_quality_c6m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC6$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 6m
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 5
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost *= 5
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC6$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC6$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c8x
+ title = #LOC_strl_pv_quality_c8m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC8$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 8m
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 7
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost *= 7
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC8$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC8$
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-pv-wrap-250|strl-pv-wrap-375|strl-pv-wrap-500]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower3 = #$refPower$
+ refPower4 = #$refPower$
+ @refPower2 *= 2
+ @refPower3 *= 3
+ @refPower4 *= 4
+ refPowerB2 = #$refPowerB$
+ refPowerB3 = #$refPowerB$
+ refPowerB4 = #$refPowerB$
+ @refPowerB2 *= 2.8
+ @refPowerB3 *= 4.2
+ @refPowerB4 *= 5.6
+ refPowerC2 = #$refPowerC$
+ refPowerC3 = #$refPowerC$
+ refPowerC4 = #$refPowerC$
+ @refPowerC2 *= 4
+ @refPowerC3 *= 6
+ @refPowerC4 *= 8
+ massb = #$mass$
+ massbp = #$mass$
+ @massb *= 1.15
+ @massbp *= 0.15
+ massc = #$mass$
+ masscp = #$mass$
+ @massc *= 1.2
+ @masscp *= 0.2
+ costb = #$cost$
+ costbp = #$cost$
+ @costb *= 1.15
+ @costbp *= 0.15
+ costc = #$cost$
+ costcp = #$cost$
+ @costc *= 1.2
+ @costcp *= 0.2
+
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #LOC_strl_subtype_Service
+ switcherDescriptionPlural = #LOC_strl_subtype_Services
+ SUBTYPE
+ {
+ name = a1x
+ title = #LOC_strl_pv_quality_a2m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 2m
+ }
+ SUBTYPE
+ {
+ name = a2x
+ title = #LOC_strl_pv_quality_a4m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 4m
+ addedMass = #$/mass$
+ addedCost = #$/cost$
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = a3x
+ title = #LOC_strl_pv_quality_a6m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 6m
+ addedMass = #$/mass$
+ @addedMass *= 2
+ addedCost = #$/cost$
+ @addedCost *= 2
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower3$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower3$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = a4x
+ title = #LOC_strl_pv_quality_a8m
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 8m
+ addedMass = #$/mass$
+ @addedMass *= 3
+ addedCost = #$/cost$
+ @addedCost *= 3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower4$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower4$
+ }
+ }
+ }
+
+ SUBTYPE
+ {
+ name = b1x
+ title = #LOC_strl_pv_quality_b2m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 2m
+ maxTemp = 1600
+ addedMass = #$/massbp$
+ addedCost = #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b2x
+ title = #LOC_strl_pv_quality_b4m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 4m
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b3x
+ title = #LOC_strl_pv_quality_b6m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 6m
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 2
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 2
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB3$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB3$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b4x
+ title = #LOC_strl_pv_quality_b8m
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 8m
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 3
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 3
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB4$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB4$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+
+ SUBTYPE
+ {
+ name = c1x
+ title = #LOC_strl_pv_quality_c2m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 2m
+ maxTemp = 2500
+ addedMass = #$/masscp$
+ addedCost = #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c2x
+ title = #LOC_strl_pv_quality_c4m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 4m
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c3x
+ title = #LOC_strl_pv_quality_c6m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 6m
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 2
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost *= 2
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC3$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC3$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c4x
+ title = #LOC_strl_pv_quality_c8m
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 8m
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 3
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost *= 3
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC4$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC4$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-pv-wrap-mk2]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower4 = #$refPower$
+ refPower8 = #$refPower$
+ @refPower2 *= 2
+ @refPower4 *= 4
+ @refPower8 *= 8
+ refPowerB2 = #$refPowerB$
+ refPowerB4 = #$refPowerB$
+ refPowerB8 = #$refPowerB$
+ @refPowerB2 *= 2.8
+ @refPowerB4 *= 5.6
+ @refPowerB8 *= 11.2
+ refPowerC2 = #$refPowerC$
+ refPowerC4 = #$refPowerC$
+ refPowerC8 = #$refPowerC$
+ @refPowerC2 *= 4
+ @refPowerC4 *= 8
+ @refPowerC8 *= 16
+ massb = #$mass$
+ massbp = #$mass$
+ @massb *= 1.15
+ @massbp *= 0.15
+ massc = #$mass$
+ masscp = #$mass$
+ @massc *= 1.2
+ @masscp *= 0.2
+ costb = #$cost$
+ costbp = #$cost$
+ @costb *= 1.15
+ @costbp *= 0.15
+ costc = #$cost$
+ costcp = #$cost$
+ @costc *= 1.2
+ @costcp *= 0.2
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #LOC_strl_subtype_Service
+ switcherDescriptionPlural = #LOC_strl_subtype_Services
+ SUBTYPE
+ {
+ name = 1x
+ title = Basic Extra Short
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note1$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 2short
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = Basic Short
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ defaultSubtypePriority = 1
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note2$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = short
+ addedMass = #$/mass$
+ addedCost = #$/cost$
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = Basic Long
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note4$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = long
+ addedMass = #$/mass$
+ @addedMass *= 3
+ addedCost = #$/cost$
+ @addedCost *= 3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower4$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower4$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 8x
+ title = Basic Double Long
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note8$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower8$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 2long
+ addedMass = #$/mass$
+ @addedMass *= 7
+ addedCost = #$/cost$
+ @addedCost *= 7
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower8$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower8$
+ }
+ }
+ }
+
+ SUBTYPE
+ {
+ name = b1x
+ title = Advanced Extra Short
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note1$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 2short
+ addedMass = #$/massbp$
+ maxTemp = 1600
+ addedCost = #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b2x
+ title = Advanced Short
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note2$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = short
+ addedMass = #$/massb$
+ maxTemp = 1600
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b4x
+ title = Advanced Long
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note4$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = long
+ addedMass = #$/massb$
+ maxTemp = 1600
+ @addedMass *= 3
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 3
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB4$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB4$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b8x
+ title = Advanced Double Long
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note8$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB8$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 2long
+ addedMass = #$/massb$
+ maxTemp = 1600
+ @addedMass *= 7
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 7
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB8$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB8$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+
+ SUBTYPE
+ {
+ name = c1x
+ title = Concentrator Extra Short
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note1$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 2short
+ addedMass = #$/masscp$
+ maxTemp = 2500
+ addedCost = #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c2x
+ title = Concentrator Short
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ defaultSubtypePriority = 1
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note2$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = short
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c4x
+ title = Concentrator Long
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note4$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = long
+ addedMass = #$/massc$
+ maxTemp = 2500
+ @addedMass *= 3
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost *= 3
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC4$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC4$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c8x
+ title = Concentrator Double Long
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note8$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC8$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 2long
+ addedMass = #$/massc$
+ maxTemp = 2500
+ @addedMass *= 3
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost *= 3
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC8$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC8$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-pv-wrap-mk3]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower3 = #$refPower$
+ refPower4 = #$refPower$
+ refPower8 = #$refPower$
+ @refPower2 *= 2
+ @refPower3 *= 3
+ @refPower4 *= 4
+ @refPower8 *= 8
+ refPowerB2 = #$refPowerB$
+ refPowerB3 = #$refPowerB$
+ refPowerB4 = #$refPowerB$
+ refPowerB8 = #$refPowerB$
+ @refPowerB2 *= 2.8
+ @refPowerB3 *= 4.2
+ @refPowerB4 *= 5.6
+ @refPowerB8 *= 11.2
+ refPowerC2 = #$refPowerC$
+ refPowerC3 = #$refPowerC$
+ refPowerC4 = #$refPowerC$
+ refPowerC8 = #$refPowerC$
+ @refPowerC2 *= 4
+ @refPowerC3 *= 6
+ @refPowerC4 *= 8
+ @refPowerC8 *= 16
+ massb = #$mass$
+ massbp = #$mass$
+ @massb *= 1.15
+ @massbp *= 0.15
+ massc = #$mass$
+ masscp = #$mass$
+ @massc *= 1.2
+ @masscp *= 0.2
+ costb = #$cost$
+ costbp = #$cost$
+ @costb *= 1.15
+ @costbp *= 0.15
+ costc = #$cost$
+ costcp = #$cost$
+ @costc *= 1.2
+ @costcp *= 0.2
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #LOC_strl_subtype_Service
+ switcherDescriptionPlural = #LOC_strl_subtype_Services
+ SUBTYPE
+ {
+ name = 1x
+ title = Basic Mono
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note1$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = mono
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = Basic Short LF
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ defaultSubtypePriority = 1
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note2$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = lf
+ addedMass = #$/mass$
+ addedCost = #$/cost$
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower2$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 3x
+ title = Basic Crew
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note3$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = crew
+ addedMass = #$/mass$
+ @addedMass *= 2
+ addedCost = #$/cost$
+ @addedCost *= 2
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower3$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower3$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = Basic Medium LF
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note4$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 2lf
+ addedMass = #$/mass$
+ @addedMass *= 3
+ addedCost = #$/cost$
+ @addedCost *= 3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower4$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower4$
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 8x
+ title = Basic Long LF
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note8$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPower8$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1200 K
+ transform = 4lf
+ addedMass = #$/mass$
+ @addedMass *= 7
+ addedCost = #$/cost$
+ @addedCost *= 7
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPower8$
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPower8$
+ }
+ }
+ }
+
+ SUBTYPE
+ {
+ name = b1x
+ title = Advanced Mono
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note1$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = mono
+ maxTemp = 1600
+ addedMass = #$/massbp$
+ addedCost = #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b2x
+ title = Advanced Short LF
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ defaultSubtypePriority = 1
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note2$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = lf
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB2$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b3x
+ title = Advanced Crew
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note3$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = crew
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 3
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 3
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB3$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB3$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b4x
+ title = Advanced Medium LF
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note4$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 2lf
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 3
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 3
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB4$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB4$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = b8x
+ title = Advanced Long LF
+ primaryColor = CobaltBlue
+ secondaryColor = CobaltBlue
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note8$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerB8$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 1600 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock1$
+ transform = 4lf
+ maxTemp = 1600
+ addedMass = #$/massb$
+ @addedMass *= 3
+ @addedMass += #$/massbp$
+ addedCost = #$/costb$
+ @addedCost *= 3
+ @addedCost += #$/costbp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB8$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerB8$
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ }
+ }
+
+ SUBTYPE
+ {
+ name = c1x
+ title = Concentrator Mono
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note1$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = mono
+ maxTemp = 2500
+ addedMass = #$/masscp$
+ addedCost = #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c2x
+ title = Concentrator Short LF
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar1
+ defaultSubtypePriority = 1
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note2$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC2$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = lf
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC2$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c3x
+ title = Concentrator Crew
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note3$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC3$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = crew
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 2
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost *= 2
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC3$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC3$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c4x
+ title = Concentrator Medium LF
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note4$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC4$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 2lf
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 3
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost *= 3
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC4$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC4$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = c8x
+ title = Concentrator Long LF
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar1
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note8$
$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRatePlural$ $/refPowerC8$ EC/s
- $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ transform = 4lf
+ maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass *= 7
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost *= 7
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_DIFF2
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/Electric/SolarPanels/wrapsPV_BSPEC2
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher1
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC8$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ secondaryTransformName = sunCatcher2
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC8$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-pv-wrap*]:HAS[#refPowerB2]:NEEDS[B9PartSwitch]
+{
+ !refPower* = nope
+ !massb* = nope
+ !massc* = nope
+ !costb* = nope
+ !costc* = nope
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/zPatches/CTT.cfg b/GameData/SterlingSystems/Electric/zPatches/CTT.cfg
new file mode 100644
index 0000000..4e80709
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/zPatches/CTT.cfg
@@ -0,0 +1,28 @@
+@PART[strl-fuelcell-mk2|strl-fuelcell-125|strl-fuelcell-250|strl-fuelcell-375|strl-fuelcell-500]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = highPowerElectricalSystems
+}
+@PART[strl-rctrkrusty|strl-rctrms-0625|strl-rctrms-125|strl-rctrms-250]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = nuclearPower
+}
+@PART[strl-rctrms-375]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = largeNuclearPower
+}
+@PART[strl-rctrpb*]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = advNuclearPower
+}
+@PART[strl-rctrscm]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = expNuclearPower
+}
+@PART[strl-worldpower-wm1]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = highPowerElectricalSystems
+}
+@PART[strl-worldpower*-pv1]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = advSolarTech
+}
diff --git a/GameData/SterlingSystems/Electric/zPatches/IndicatorLigts.cfg b/GameData/SterlingSystems/Electric/zPatches/IndicatorLigts.cfg
new file mode 100644
index 0000000..6dd2cbd
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/zPatches/IndicatorLigts.cfg
@@ -0,0 +1,20 @@
+@PART[strl-batt-*]:NEEDS[IndicatorLights]
+{
+ MODULE
+ {
+ name = ModuleControllableEmissive
+ target = Gloss
+ emissiveName = indicator1
+ }
+ MODULE
+ {
+ name = ModuleResourceLevelIndicator
+ }
+ MODULE
+ {
+ name = ModuleResourceEnabledIndicator
+ enabledColor = ModuleResourceLevelIndicator
+ disabledColor = blink(ModuleResourceLevelIndicator, 900, $Off, 300)
+ emissiveName = indicator1
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/zPatches/Power_FuelCells.cfg b/GameData/SterlingSystems/Electric/zPatches/Power_FuelCells.cfg
new file mode 100644
index 0000000..9fa94cc
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/zPatches/Power_FuelCells.cfg
@@ -0,0 +1,495 @@
+// - - Fuel Cells
+B9_TANK_TYPE:NEEDS[CommunityResourcePack]
+{
+ name = MAECAlumina
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = ElectricCharge
+ unitsPerVolume = 1
+ }
+ RESOURCE
+ {
+ name = Aluminium
+ unitsPerVolume = 2.5
+ }
+ RESOURCE
+ {
+ name = Alumina
+ unitsPerVolume = 2.5
+ percentFilled = 0
+ }
+}
+
+B9_TANK_TYPE:NEEDS[CommunityResourcePack]
+{
+ name = MAECQuartz
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = ElectricCharge
+ unitsPerVolume = 1
+ }
+ RESOURCE
+ {
+ name = Silicon
+ unitsPerVolume = 2.5
+ }
+ RESOURCE
+ {
+ name = LqdQuartz
+ unitsPerVolume = 2.5
+ percentFilled = 0
+ }
+}
+
+B9_TANK_TYPE:NEEDS[CommunityResourcePack]
+{
+ name = MAECBeryl
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = ElectricCharge
+ unitsPerVolume = 1
+ }
+ RESOURCE
+ {
+ name = Beryllium
+ unitsPerVolume = 2.5
+ }
+ RESOURCE
+ {
+ name = BerylOxide
+ unitsPerVolume = 2.5
+ percentFilled = 0
+ }
+}
+
+@PART[strl-fuelcell-*]:NEEDS[CommunityResourcePack]
+{
+ RatioAl = 0.3610 //1083
+ RatioO2Al = 0.3828 //44765 // LqdOxygen
+ RatioOXAl = 0.0873 //65175 // Oxidizer
+ RatioECAl = 16000
+ RatioTPAl = 8
+ RatioAl2O3 = 0.3610 //1083
+ // O2 ratios are fudged to keep Aluminium and Alumina storage 1:1
+
+ RatioSi = 0.4293 //68828
+ RatioO2Si = 0.4293 //68828 // LqdOxygen
+ RatioOXSi = 0.0979 //81967 // Oxidizer
+ RatioECSi = 15000
+ RatioTPSi = 7.5
+ RatioSiO2 = 0.8555 //4
+
+ RatioBe = 1.3319 //12627
+ RatioO2Be = 1.9978 //6894 // LqdOxygen
+ RatioOXBe = 0.4559 //13692 // Oxidizer
+ RatioECBe = 24000
+ RatioTPBe = 12
+ RatioBeO2 = 1.3319 //12627
+
+ @RatioAl *= #$refPower$
+ @RatioOXAl *= #$refPower$
+ @RatioO2Al *= #$refPower$
+ @RatioECAl *= #$refPower$
+ RatioECAl_Re = #$RatioECAl$
+ @RatioECAl_Re *= 0.75
+ RatioECAl_SH:NEEDS[SystemHeatConverters] = #$RatioECAl_Re$
+ @RatioECAl_SH:NEEDS[SystemHeatConverters] *= 0.9
+ @RatioTPAl *= #$refPower$
+ @RatioAl2O3 *= #$refPower$
+
+ @RatioSi *= #$refPower$
+ @RatioOXSi *= #$refPower$
+ @RatioO2Si *= #$refPower$
+ @RatioECSi *= #$refPower$
+ RatioECSi_Re = #$RatioECSi$
+ @RatioECSi_Re *= 0.75
+ RatioECSi_SH:NEEDS[SystemHeatConverters] = #$RatioECSi_Re$
+ @RatioECSi_SH:NEEDS[SystemHeatConverters] *= 0.9
+ @RatioTPSi *= #$refPower$
+ @RatioSiO2 *= #$refPower$
+
+ @RatioBe *= #$refPower$
+ @RatioOXBe *= #$refPower$
+ @RatioO2Be *= #$refPower$
+ @RatioECBe *= #$refPower$
+ RatioECBe_Re = #$RatioECBe$
+ @RatioECBe_Re *= 0.75
+ RatioECBe_SH:NEEDS[SystemHeatConverters] = #$RatioECBe_Re$
+ @RatioECBe_SH:NEEDS[SystemHeatConverters] *= 0.9
+ @RatioTPBe *= #$refPower$
+ @RatioBeO2 *= #$refPower$
+
+ MODULE
+ {
+ name = ModuleResourceConverter
+ ConverterName = #autoLOC_502022 // Fuel Cell
+ StartActionName = #autoLOC_502023 // Start Fuel Cell
+ StopActionName = #autoLOC_502024 // Stop Fuel Cell
+ ToggleActionName = #autoLOC_502025 // Toggle Fuel Cell
+ FillAmount = 0.95
+ AutoShutdown = False
+ GeneratesHeat = False
+ UseSpecialistBonus = False
+ INPUT_RESOURCE
+ {
+ ResourceName = Aluminium
+ Ratio = #$/RatioAl$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = Oxidizer
+ Ratio = #$/RatioOXAl$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Alumina
+ Ratio = #$/RatioAl2O3$
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = #$/RatioTPAl$
+ DumpExcess = True
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = #$/RatioECAl$
+ }
+ }
+ MODULE:NEEDS[!SystemHeatConverters]
+ {
+ name = ModuleResourceConverter
+ ConverterName = #LOC_strl_converter_recharger
+ StartActionName = #LOC_strl_recharger_start
+ StopActionName = #LOC_strl_recharger_stop
+ ToggleActionName = #LOC_strl_recharger_toggle
+ FillAmount = 1
+ AutoShutdown = False
+ GeneratesHeat = False
+ UseSpecialistBonus = False
+ INPUT_RESOURCE
+ {
+ ResourceName = Alumina
+ Ratio = #$/RatioAl2O3$
+ @Ratio *= 0.75
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = #$/RatioECAl$
+ @Ratio *= 0.75
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Aluminium
+ Ratio = #$/RatioAl$
+ @Ratio *= 0.75
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Oxidizer
+ Ratio = #$/RatioOXAl$
+ @Ratio *= 0.75
+ DumpExcess = True
+ }
+ }
+
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[fuelSwitch]]
+ {
+ @baseVolume = #$/refVolume$
+ @SUBTYPE[Aluminium]
+ {
+ tankType = MAECAlumina
+ descriptionSummary = #LOC_strl_MAECmetalSwitchSummary
+ descriptionDetail = #$@STRLB9LOC/txtFCMain$$@STRLB9LOC/txtInputs$ $/RatioAl$ Al/s + $/RatioOXAl$ OX/s.
$@STRLB9LOC/txtOutputs$ $/RatioECAl$ EC/s + $/RatioTPAl$ TP/s.
$@STRLB9LOC/txtFCRecharger$$@STRLB9LOC/txtInputs$ $/RatioECAl_Re$ EC/s. $@STRLB9LOC/txtQuickloadWarn$
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleResourceConverter
+ ConverterName = #autoLOC_502022
+ }
+ DATA
+ {
+ INPUT_RESOURCE
+ {
+ ResourceName = Aluminium
+ Ratio = #$/RatioAl$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = Oxidizer
+ Ratio = #$/RatioOXAl$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Alumina
+ Ratio = #$/RatioAl2O3$
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = #$/RatioTPAl$
+ DumpExcess = True
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = #$/RatioECAl$
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleResourceConverter
+ ConverterName = Recharger
+ }
+ DATA
+ {
+ INPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = #$/RatioECAl$
+ @Ratio *= 0.75
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = Alumina
+ Ratio = #$/RatioAl2O3$
+ @Ratio *= 0.75
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Aluminium
+ Ratio = #$/RatioAl$
+ @Ratio *= 0.75
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Oxidizer
+ Ratio = #$/RatioOXAl$
+ @Ratio *= 0.75
+ DumpExcess = True
+ }
+ }
+ }
+ }
+ @SUBTYPE[Silicon]
+ {
+ tankType = MAECQuartz
+ descriptionSummary = #LOC_strl_MAECmetalSwitchSummary
+ descriptionDetail = #$@STRLB9LOC/txtFCMain$$@STRLB9LOC/txtInputs$ $/RatioSi$ Si/s + $/RatioOXSi$ OX/s.
$@STRLB9LOC/txtOutputs$ $/RatioECSi$ EC/s + $/RatioTPSi$ TP/s.
$@STRLB9LOC/txtFCRecharger$$@STRLB9LOC/txtInputs$ $/RatioECSi_Re$ EC/s. $@STRLB9LOC/txtQuickloadWarn$
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleResourceConverter
+ ConverterName = #autoLOC_502022
+ }
+ DATA
+ {
+ INPUT_RESOURCE
+ {
+ ResourceName = Silicon
+ Ratio = #$/RatioSi$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = Oxidizer
+ Ratio = #$/RatioOXSi$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = LqdQuartz
+ Ratio = #$/RatioSiO2$
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = #$/RatioTPSi$
+ DumpExcess = True
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = #$/RatioECSi$
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleResourceConverter
+ ConverterName = Recharger
+ }
+ DATA
+ {
+ INPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = #$/RatioECSi$
+ @Ratio *= 0.75
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = LqdQuartz
+ Ratio = #$/RatioSiO2$
+ @Ratio *= 0.75
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Silicon
+ Ratio = #$/RatioSi$
+ @Ratio *= 0.75
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Oxidizer
+ Ratio = #$/RatioOXSi$
+ @Ratio *= 0.75
+ DumpExcess = True
+ }
+ }
+ }
+ }
+ @SUBTYPE[Beryllium]
+ {
+ tankType = MAECBeryl
+ descriptionSummary = #LOC_strl_MAECmetalSwitchSummary
+ descriptionDetail = #$@STRLB9LOC/txtFCMain$$@STRLB9LOC/txtInputs$ $/RatioBe$ Be/s + $/RatioOXBe$ OX/s.
$@STRLB9LOC/txtOutputs$ $/RatioECBe$ EC/s + $/RatioTPBe$ TP/s.
$@STRLB9LOC/txtFCRecharger$$@STRLB9LOC/txtInputs$ $/RatioECBe_Re$ EC/s. $@STRLB9LOC/txtQuickloadWarn$
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleResourceConverter
+ ConverterName = #autoLOC_502022
+ }
+ DATA
+ {
+ INPUT_RESOURCE
+ {
+ ResourceName = Beryllium
+ Ratio = #$/RatioBe$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = Oxidizer
+ Ratio = #$/RatioOXBe$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = BerylOxide
+ Ratio = #$/RatioBeO2$
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = #$/RatioTPBe$
+ DumpExcess = True
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = #$/RatioECBe$
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleResourceConverter
+ ConverterName = Recharger
+ }
+ DATA
+ {
+ INPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = #$/RatioECBe$
+ @Ratio *= 0.75
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = BerylOxide
+ Ratio = #$/RatioBeO2$
+ @Ratio *= 0.75
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Beryllium
+ Ratio = #$/RatioBe$
+ @Ratio *= 0.75
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Oxidizer
+ Ratio = #$/RatioOXBe$
+ @Ratio *= 0.75
+ DumpExcess = True
+ }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-fuelcell-*]:HAS[#RatioAl]:NEEDS[CommunityResourcePack]:FOR[zSterlingSystems]
+{
+ !RatioAl = nope
+ !RatioOXAl = nope
+ !RatioO2Al = nope
+ !RatioECAl = nope
+ !RatioTPAl = nope
+ !RatioAl2O3 = nope
+
+ !RatioSi = nope
+ !RatioOXSi = nope
+ !RatioO2Si = nope
+ !RatioECSi = nope
+ !RatioTPSi = nope
+ !RatioSiO2 = nope
+
+ !RatioBe = nope
+ !RatioOXBe = nope
+ !RatioO2Be = nope
+ !RatioECBe = nope
+ !RatioTPBe = nope
+ !RatioBeO2 = nope
+
+ !RatioECAl_Re = nope
+ !RatioECAl_SH = nope
+ !RatioECSi_Re = nope
+ !RatioECSi_SH = nope
+ !RatioECBe_Re = nope
+ !RatioECBe_SH = nope
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/zPatches/Power_Reactors.cfg b/GameData/SterlingSystems/Electric/zPatches/Power_Reactors.cfg
new file mode 100644
index 0000000..5c8d68e
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/zPatches/Power_Reactors.cfg
@@ -0,0 +1,256 @@
+// Reactors
+// - - SubCritical Multiplication
+@PART[strl-rctrscm]
+{
+ RESOURCE
+ {
+ name = EnrichedUranium
+ amount = 40
+ maxAmount = 40
+ @amount *= #$/refPower$
+ @maxAmount *= #$/refPower$
+ }
+ RESOURCE
+ {
+ name = DepletedUranium
+ amount = 0
+ maxAmount = 40
+ @maxAmount *= #$/refPower$
+ }
+
+ // RESOURCE
+ // {
+ // name = ThermalPower
+ // amount = 0.4
+ // maxAmount = 0.4
+ // @amount *= #$/refPower$
+ // @maxAmount *= #$/refPower$
+ // }
+ RESOURCE
+ {
+ name = ElectricCharge
+ amount = 40
+ maxAmount = 40
+ @amount *= #$/refPower$
+ @maxAmount *= #$/refPower$
+ }
+ MODULE
+ {
+ name = ModuleGenerator
+ isAlwaysActive = true
+ requiresAllInputs = true
+ INPUT_RESOURCE
+ {
+ name = EnrichedUranium
+ rate = 0.00000009536265
+ }
+ OUTPUT_RESOURCE
+ {
+ name = DepletedUranium
+ rate = 0.00000009536265
+ }
+ OUTPUT_RESOURCE
+ {
+ name = ElectricCharge
+ rate = 27
+ }
+ }
+}
+@PART[strl-rctrscm]:NEEDS[!SystemHeatConverters]
+{
+ MODULE
+ {
+ name = ModuleOverheatDisplay
+ }
+ MODULE
+ {
+ name = ModuleResourceConverter
+ ConverterName = #LOC_strl_reactor_fission
+ StartActionName = #LOC_strl_reactor_start
+ StopActionName = #LOC_strl_reactor_stop
+ ToggleActionName = #LOC_strl_reactor_toggle
+ AutoShutdown = true
+ GeneratesHeat = true
+ DefaultShutoffTemp = 0.8
+ EfficiencyBonus = 1
+ resourceOutputName = ThermalPower
+
+ TemperatureModifier
+ {
+ key = 0 25000 0 0
+ key = 800 20000 -12.20591 -12.20591
+ key = 1300 15000 0 0
+ }
+ ThermalEfficiency
+ {
+ key = 0 0.5 0 0
+ key = 300 0.5 0 0
+ key = 800 1 0 0
+ key = 1300 0
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = EnrichedUranium
+ Ratio = 0.00000141278
+ FlowMode = NO_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = DepletedUranium
+ Ratio = 0.00000141278
+ FlowMode = NO_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 400
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleCoreHeat
+ //Internal temp goal - we don't transfer till we hit this point
+ CoreTempGoal = 600
+ //At what core temperature do we shut down all generators on this part?
+ CoreShutdownTemp = 1600
+ //Maximum amount of radiator capacity we can consume - 50 = 1 small
+ MaxCoolant = 700
+
+ // Uninteresting stuff
+ 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
+ }
+}
+
+// - - KRUSTY
+@PART[strl-rctrkrusty]
+{
+ RESOURCE
+ {
+ name = EnrichedUranium
+ amount = 70
+ maxAmount = 70
+ @amount *= #$/refPower$
+ @maxAmount *= #$/refPower$
+ }
+ RESOURCE
+ {
+ name = DepletedUranium
+ amount = 0
+ maxAmount = 70
+ @maxAmount *= #$/refPower$
+ }
+}
+@PART[strl-rctrkrusty]:NEEDS[!SystemHeatConverters]
+{
+
+ MODULE
+ {
+ name = ModuleOverheatDisplay
+ }
+ // MODULE
+ // {
+ // name = ModuleGenerator
+ // isAlwaysActive = true
+ // OUTPUT_RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 13.5
+ // }
+ // }
+ MODULE
+ {
+ name = ModuleResourceConverter
+ ConverterName = #LOC_strl_reactor_fission
+ StartActionName = #LOC_strl_reactor_start
+ StopActionName = #LOC_strl_reactor_stop
+ ToggleActionName = #LOC_strl_reactor_toggle
+ AutoShutdown = true
+ GeneratesHeat = true
+ DefaultShutoffTemp = 0.8
+ EfficiencyBonus = 1
+ isAlwaysActive = True
+ resourceOutputName = ElectricCharge
+
+ TemperatureModifier
+ {
+ key = 0 3600 0 0
+ key = 800 2700
+ key = 1400 1800
+ }
+ ThermalEfficiency
+ {
+ key = 0 0 0 0
+ key = 300 0 0 0
+ key = 800 1 0 0
+ key = 1300 0 0 0
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = EnrichedUranium
+ Ratio = 0.000000047681325
+ FlowMode = NO_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = DepletedUranium
+ Ratio = 0.000000047681325
+ FlowMode = NO_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 13.5
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleCoreHeat
+ //Internal temp goal - we don't transfer till we hit this point
+ CoreTempGoal = 800
+ //At what core temperature do we shut down all generators on this part?
+ CoreShutdownTemp = 1300
+ //Maximum amount of radiator capacity we can consume - 50 = 1 small
+ MaxCoolant = 108
+
+ // Uninteresting stuff
+ 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
+ // PassiveEnergy
+ // {
+ // key = 280 250 0 0
+ // key = 430 1140 18.3416 18.3416
+ // key = 495 2250 -1.147305 -46.264
+ // key = 501 0 0 0
+ // }
+ }
+}
+
+@PART[strl-rctrscm|strl-rctrkrusty]
+{
+ addedCost = #$@RESOURCE_DEFINITION[EnrichedUranium]/unitCost$
+ @addedCost *= #$RESOURCE[EnrichedUranium]/maxAmount$
+ @cost += #$addedCost$
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/zPatches/Power_TECs.cfg b/GameData/SterlingSystems/Electric/zPatches/Power_TECs.cfg
new file mode 100644
index 0000000..38d1170
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/zPatches/Power_TECs.cfg
@@ -0,0 +1,98 @@
+// Turbine TECs
+@PART[strl-tectrb-*]
+{
+ @cost *= #$/refPower$
+ energyStart = 90000
+ energyNorminal = 60000
+ @energyStart *= #$/refPower$
+ @energyNorminal *= #$/refPower$
+ MaxCoolant = 1800
+ @MaxCoolant *= #$/refPower$
+
+ RESOURCE
+ {
+ name = ThermalPower
+ amount = 2.4
+ maxAmount = 2.4
+ @amount *= #$/refPower$
+ @maxAmount *= #$/refPower$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ amount = 1200
+ maxAmount = 1200
+ @amount *= #$/refPower$
+ @maxAmount *= #$/refPower$
+ }
+
+ MODULE:NEEDS[!SystemHeatConverters]
+ {
+ name = ModuleOverheatDisplay
+ }
+
+ MODULE:NEEDS[!SystemHeatConverters]
+ {
+ name = ModuleResourceConverter
+ ConverterName = #LOC_strl_converter_thermoelectric
+ StartActionName = #autoLOC_235502 // Activate Generator
+ StopActionName = #autoLOC_235505 // Shutdown Generator
+ ToggleActionName = #autoLOC_235508 // Toggle Generator
+ AutoShutdown = true
+ GeneratesHeat = true
+ DefaultShutoffTemp = 0.8
+ EfficiencyBonus = 1
+ resourceOutputName = ElectricCharge
+ TemperatureModifier
+ {
+ key = 0 $/energyStart$ 0 0
+ key = 800 $/energyNorminal$
+ key = 1500 0
+ }
+ ThermalEfficiency
+ {
+ key = 0 0.1 0 0
+ key = 300 0.1 0 0
+ key = 800 1 0 0
+ key = 1500 0 0 0
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 2.4
+ @Ratio *= #$/refPower$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 1200
+ @Ratio *= #$/refPower$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+
+ MODULE:NEEDS[!SystemHeatConverters]
+ {
+ name = ModuleCoreHeat
+ //Internal temp goal - we don't transfer till we hit this point
+ CoreTempGoal = 800
+ //At what core temperature do we shut down all generators on this part?
+ CoreShutdownTemp = 1500
+ //Maximum amount of radiator capacity we can consume - 50 = 1 small
+ MaxCoolant = #$/MaxCoolant$
+
+ // Uninteresting stuff
+ 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
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/zPatches/SystemHeatConverters.cfg b/GameData/SterlingSystems/Electric/zPatches/SystemHeatConverters.cfg
new file mode 100644
index 0000000..1949126
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/zPatches/SystemHeatConverters.cfg
@@ -0,0 +1,184 @@
+@PART[strl-tectrb-*]:NEEDS[CommunityResourcePack,SystemHeatConverters]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/refVolume$
+ @volume *= 0.04
+ moduleID = isru
+ iconName = Icon_Gears
+ ignoreTemperature = true
+ }
+
+ MODULE
+ {
+ name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_converter_thermoelectric
+ systemHeatModuleID = isru
+ shutdownTemperature = 1000
+ systemOutletTemperature = 650 // temp for freeing water from hydrate regolith. other values could be: 400k for production of hydrazine, 5-600k for decomposition of hydrates, 700 for sabatier process, 373-1000k for high temp electrolysis of water.
+ systemPower = #$/energyNorminal$
+ @systemPower /= 50
+ systemEfficiency
+ {
+ key = 0 0
+ key = 350 0.1 0.0004 0.002
+ key = 650 1
+ }
+ ConverterName = #LOC_strl_converter_thermoelectric
+ StartActionName = #autoLOC_235502 // Activate Generator
+ StopActionName = #autoLOC_235505 // Shutdown Generator
+ ToggleActionName = #autoLOC_235508 // Toggle Generator
+ FillAmount = 1
+ AutoShutdown = False
+ GeneratesHeat = False
+ UseSpecialistBonus = False
+ INPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 2.4
+ @Ratio *= #$/refPower$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 1200
+ @Ratio *= #$/refPower$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+}
+
+@PART[strl-fuelcell-*]:NEEDS[CommunityResourcePack,SystemHeatConverters]
+{
+ refVolume_SH = #$refVolume$
+ @refVolume_SH *= 0.04
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @refVolume_SH += 0.005
+ @refVolume_SH *= 100
+ @refVolume_SH = #$refVolume_SH[0,.]$ // regex truncate, unknown behavior but used in RO
+ @refVolume_SH /= 100
+
+ %MODULE[ModuleSystemHeat]
+ {
+ // %name = ModuleSystemHeat
+ // Cubic metres
+ %volume = #$/refVolume$
+ @volume *= 0.04
+ %moduleID = isru
+ %iconName = Icon_Gears
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_converter_recharger
+ systemHeatModuleID = isru
+ shutdownTemperature = 1300
+ systemOutletTemperature = 1000 // temp for freeing water from hydrate regolith. other values could be: 400k for production of hydrazine, 5-600k for decomposition of hydrates, 700 for sabatier process, 373-1000k for high temp electrolysis of water.
+ systemPower = #$/RatioECAl_SH$
+ systemEfficiency
+ {
+ key = 0 0
+ key = 700 0.1 0.0001 0.0025
+ key = 1000 1
+ }
+ ConverterName = #LOC_strl_converter_recharger
+ StartActionName = #LOC_strl_recharger_start
+ StopActionName = #LOC_strl_recharger_stop
+ ToggleActionName = #LOC_strl_recharger_toggle
+ FillAmount = 1
+ AutoShutdown = False
+ GeneratesHeat = False
+ UseSpecialistBonus = False
+ INPUT_RESOURCE
+ {
+ ResourceName = Alumina
+ Ratio = #$/RatioAl2O3$
+ @Ratio *= 0.75
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = #$/RatioECAl$
+ @Ratio *= 0.75
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Aluminium
+ Ratio = #$/RatioAl$
+ @Ratio *= 0.75
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = Oxidizer
+ Ratio = #$/RatioOXAl$
+ @Ratio *= 0.75
+ DumpExcess = True
+ }
+ }
+
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[fuelSwitch]]
+ {
+ @SUBTYPE[Aluminium]
+ {
+ @descriptionDetail = #$@STRLB9LOC/txtFCMain$$@STRLB9LOC/txtInputs$ $/RatioAl$ Al/s + $/RatioOXAl$ OX/s.
$@STRLB9LOC/txtOutputs$ $/RatioECAl$ EC/s + $/RatioTPAl$ TP/s.
$@STRLB9LOC/txtFCRecharger$$@STRLB9LOC/txtInputs$ $/RatioECAl_Re$ EC/s.
$@STRLB9LOC/txtsysheat$$@STRLB9LOC/txtsysheatvol$ $/refVolume_SH$ m³$@STRLB9LOC/txtsysheatpwr$ $/RatioECAl_SH$ kW $@STRLB9LOC/txtQuickloadWarn$
+ @MODULE,1
+ {
+ @IDENTIFIER
+ {
+ @name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_converter_recharger
+ !ConverterName = nope
+ }
+ }
+ }
+ @SUBTYPE[Silicon]
+ {
+ @descriptionDetail = #$@STRLB9LOC/txtFCMain$$@STRLB9LOC/txtInputs$ $/RatioSi$ Si/s + $/RatioOXSi$ OX/s.
$@STRLB9LOC/txtOutputs$ $/RatioECSi$ EC/s + $/RatioTPSi$ TP/s.
$@STRLB9LOC/txtFCRecharger$$@STRLB9LOC/txtInputs$ $/RatioECSi_Re$ EC/s.
$@STRLB9LOC/txtsysheat$$@STRLB9LOC/txtsysheatvol$ $/refVolume_SH$ m³$@STRLB9LOC/txtsysheatpwr$ $/RatioECSi_SH$ kW $@STRLB9LOC/txtQuickloadWarn$
+ @MODULE,1
+ {
+ @IDENTIFIER
+ {
+ @name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_converter_recharger
+ !ConverterName = nope
+ }
+ }
+ }
+ @SUBTYPE[Beryllium]
+ {
+ @descriptionDetail = #$@STRLB9LOC/txtFCMain$$@STRLB9LOC/txtInputs$ $/RatioBe$ Be/s + $/RatioOXBe$ OX/s.
$@STRLB9LOC/txtOutputs$ $/RatioECBe$ EC/s + $/RatioTPBe$ TP/s.
$@STRLB9LOC/txtFCRecharger$$@STRLB9LOC/txtInputs$ $/RatioECBe_Re$ EC/s.
$@STRLB9LOC/txtsysheat$$@STRLB9LOC/txtsysheatvol$ $/refVolume_SH$ m³$@STRLB9LOC/txtsysheatpwr$ $/RatioECBe_SH$ kW $@STRLB9LOC/txtQuickloadWarn$
+ @MODULE,1
+ {
+ @IDENTIFIER
+ {
+ @name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_converter_recharger
+ !ConverterName = nope
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-fuelcell-*]:NEEDS[CommunityResourcePack,B9PartSwitch,zKerbalismSystemHeat]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[fuelSwitch]]
+ {
+ @SUBTYPE,*
+ {
+ @MODULE,1
+ {
+ @IDENTIFIER
+ {
+ @name = SystemHeatConverterKerbalism
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/zPatches/SystemHeatReactors.cfg b/GameData/SterlingSystems/Electric/zPatches/SystemHeatReactors.cfg
new file mode 100644
index 0000000..455cc33
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/zPatches/SystemHeatReactors.cfg
@@ -0,0 +1,108 @@
+@PART[strl-rctrscm]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/mass$
+ moduleID = nuke
+ iconName = Icon_Nuke
+ ignoreTemperature = true
+ }
+
+ MODULE
+ {
+ name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_reactor_fission // Fission Reactor
+ systemHeatModuleID = nuke
+ shutdownTemperature = 1300
+ systemOutletTemperature = 800
+ systemPower = 400
+ systemEfficiency
+ {
+ key = 0 1
+ key = 1 1
+ }
+ ConverterName = #LOC_strl_reactor_fission // Fission Reactor
+ StartActionName = #LOC_strl_reactor_start // Start Reactor
+ StopActionName = #LOC_strl_reactor_stop // Stop Reactor
+ ToggleActionName = #LOC_strl_reactor_toggle //Toggle Reactor
+ FillAmount = 1
+ AutoShutdown = False
+ GeneratesHeat = False
+ UseSpecialistBonus = False
+ INPUT_RESOURCE
+ {
+ ResourceName = EnrichedUranium
+ Ratio = 0.00000141278
+ FlowMode = NO_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = DepletedUranium
+ Ratio = 0.00000141278
+ FlowMode = NO_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 400
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+}
+
+
+@PART[strl-rctrkrusty]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/mass$
+ moduleID = nuke
+ iconName = Icon_Nuke
+ ignoreTemperature = true
+ }
+
+ MODULE
+ {
+ name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_reactor_fission // Fission Reactor
+ systemHeatModuleID = nuke
+ shutdownTemperature = 1100
+ systemOutletTemperature = 800
+ systemPower = 40.5
+ systemEfficiency
+ {
+ key = 0 1
+ key = 1 1
+ }
+ ConverterName = #LOC_strl_reactor_fission // Fission Reactor
+ StartActionName = #LOC_strl_reactor_start // Start Reactor
+ StopActionName = #LOC_strl_reactor_stop // Stop Reactor
+ ToggleActionName = #LOC_strl_reactor_toggle //Toggle Reactor
+ FillAmount = 1
+ AutoShutdown = False
+ GeneratesHeat = False
+ UseSpecialistBonus = False
+ INPUT_RESOURCE
+ {
+ ResourceName = EnrichedUranium
+ Ratio = 0.000000047681325
+ FlowMode = NO_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = DepletedUranium
+ Ratio = 0.000000047681325
+ FlowMode = NO_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 13.5
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Electric/zPatches/zTweakscale.cfg b/GameData/SterlingSystems/Electric/zPatches/zTweakscale.cfg
new file mode 100644
index 0000000..5ed63bb
--- /dev/null
+++ b/GameData/SterlingSystems/Electric/zPatches/zTweakscale.cfg
@@ -0,0 +1,40 @@
+@PART[strl-rctr*-0625|strl-rctrscm|strl-tec*-0625]:NEEDS[TweakScale]
+{
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 0.625
+ }
+}
+@PART[strl-rctr*-125|strl-tec*-125|strl-rad-wrappv-125]:NEEDS[TweakScale]
+{
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 1.25
+ }
+}
+@PART[strl-rctr*-250|strl-tec*-250|strl-rad-wrappv-250|strl-rad-wrappv-mk2]:NEEDS[TweakScale]
+{
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 2.5
+ }
+}
+@PART[strl-rctr*-375|strl-tec*-375|strl-rad-wrappv-375]:NEEDS[TweakScale]
+{
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 3.75
+ }
+}
+@PART[strl-tec*-500|strl-rad-wrappv-500]:NEEDS[TweakScale]
+{
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 5
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/IPV/Decal.dds b/GameData/SterlingSystems/Engines/IPV/Decal.dds
new file mode 100644
index 0000000..7c611c7
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/Decal.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/DecalTrefoil.dds b/GameData/SterlingSystems/Engines/IPV/DecalTrefoil.dds
new file mode 100644
index 0000000..9d2620d
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/DecalTrefoil.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/EngCCGC.mu b/GameData/SterlingSystems/Engines/IPV/EngCCGC.mu
new file mode 100644
index 0000000..d6b39bc
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/EngCCGC.mu differ
diff --git a/GameData/SterlingSystems/Engines/IPV/EngMCF.mu b/GameData/SterlingSystems/Engines/IPV/EngMCF.mu
new file mode 100644
index 0000000..ab9cdf3
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/EngMCF.mu differ
diff --git a/GameData/SterlingSystems/Engines/IPV/EngOCGC.mu b/GameData/SterlingSystems/Engines/IPV/EngOCGC.mu
new file mode 100644
index 0000000..776b070
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/EngOCGC.mu differ
diff --git a/GameData/SterlingSystems/Engines/IPV/EngSULEU-S0.mu b/GameData/SterlingSystems/Engines/IPV/EngSULEU-S0.mu
new file mode 100644
index 0000000..13f40f6
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/EngSULEU-S0.mu differ
diff --git a/GameData/SterlingSystems/Engines/IPV/EngSULEU.mu b/GameData/SterlingSystems/Engines/IPV/EngSULEU.mu
new file mode 100644
index 0000000..c7d3b2a
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/EngSULEU.mu differ
diff --git a/GameData/SterlingSystems/Engines/IPV/EngineCCGC.cfg b/GameData/SterlingSystems/Engines/IPV/EngineCCGC.cfg
new file mode 100644
index 0000000..d1057ad
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/IPV/EngineCCGC.cfg
@@ -0,0 +1,269 @@
+PART
+{
+ name = strl-eng-375-ccgc
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/IPV/EngCCGC
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.4, 1.25, 0.0, 0.0, -1.0
+ TechRequired = aerospaceTech
+ entryCost = 5000
+ cost = 2500
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_375_CCGC_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_375_CCGC_desc
+ tags =
+ attachRules = 1,0,1,1,0
+
+ CoLOffset = 0, -5, 0
+ CoMOffset = 0, -5, 0
+ CoPOffset = 0, -5, 0
+
+ mass = 30
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,size3
+ crashTolerance = 9
+ breakingForce = 100
+ breakingTorque = 100
+ maxTemp = 3450
+ skinMaxTemp = 3450
+ emissiveConstant = 0.8 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top2
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ // NODE
+ // {
+ // name = bottom
+ // transform = bottom
+ // size = 4
+ // method = FIXED_JOINT
+ // }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_dry
+ {
+ 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
+ }
+ }
+ }
+ // MODULE
+ // {
+ // name = MultiModeEngine
+ // primaryEngineID = Light
+ // secondaryEngineID = Heavy
+ // carryOverThrottle = True
+ // }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = basicEngine
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 2100
+ heatProduction = 250
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 10
+ engineDecelerationSpeed = 10
+ flameoutEffectName = flameout
+ powerEffectName = running_dry
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = Nuclear
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ DrawGauge = True
+ }
+ atmosphereCurve
+ {
+ key = 0 2080
+ key = 1 520
+ key = 1.35 0.001
+ }
+ }
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = throttleColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = throttleColor
+ animRate = 1
+ shaderProperty = _TintColor
+ includedRenderer = ThrottleEMM
+ toggleInEditor = False
+ toggleInFlight = False
+ redCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ greenCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ blueCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = ThrottleEMM
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ MODULE
+ {
+ name = ModuleGimbal
+ gimbalTransformName = thrustTransform
+ gimbalResponseSpeed = 10
+ useGimbalResponseSpeed = true
+ gimbalRangeXP = 2
+ gimbalRangeXN = 2
+ gimbalRangeYP = 2
+ gimbalRangeYN = 2
+ gimbalRangeZP = 0
+ gimbalRangeZN = 0
+ }
+
+ MODULE
+ {
+ name = ModuleAlternator
+ // engineName = basicEngine
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 80
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/IPV/EngineMCF.cfg b/GameData/SterlingSystems/Engines/IPV/EngineMCF.cfg
new file mode 100644
index 0000000..bbc6055
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/IPV/EngineMCF.cfg
@@ -0,0 +1,318 @@
+PART
+{
+ name = strl-eng-375-mcf
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/IPV/EngMCF
+ }
+ rescaleFactor = 1
+ // node_attach = 0.0, 0.6, 1.55, 0.0, 0.0, -1.0
+ TechRequired = aerospaceTech
+ entryCost = 5000
+ cost = 2500
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_375_MCF_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_375_MCF_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ CoMOffset = 0, -3, 0
+ CoLOffset = 0, -3, 0
+ CoPOffset = 0, -3, 0
+
+ mass = 19
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,size3,srf
+ crashTolerance = 9
+ breakingForce = 100
+ breakingTorque = 100
+ maxTemp = 2500
+ skinMaxTemp = 2900
+ emissiveConstant = 1 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top2
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_dry
+ {
+ 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
+ }
+ }
+ running_wet
+ {
+ 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 0.9
+ loop = true
+ }
+ }
+ }
+ MODULE
+ {
+ name = MultiModeEngine
+ primaryEngineID = Light
+ secondaryEngineID = Heavy
+ carryOverThrottle = True
+ }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = Light
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 300
+ heatProduction = 250
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 10
+ engineDecelerationSpeed = 10
+ flameoutEffectName = flameout
+ powerEffectName = running_dry
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = Nuclear
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ DrawGauge = True
+ }
+ atmosphereCurve
+ {
+ key = 0 35372
+ key = 1 8843
+ key = 1.4 0.001
+ }
+ }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = Heavy
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 600
+ heatProduction = 250
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 10
+ engineDecelerationSpeed = 10
+ flameoutEffectName = flameout
+ powerEffectName = running_wet
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = Nuclear
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ DrawGauge = True
+ }
+ atmosphereCurve
+ {
+ key = 0 19400
+ key = 1 4850
+ key = 1.4 0.001
+ }
+ }
+ // MODULE
+ // {
+ // name = FXModuleThrottleEffects
+ // fxModuleNames = throttleColor
+ // responseSpeed = 1
+ // dependOnEngineState = True
+ // dependOnThrottle = True
+ // preferMultiMode = True
+ // }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = throttleColor
+ // animRate = 1
+ // shaderProperty = _TintColor
+ // includedRenderer = CapaLight
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 0.5 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 0.5 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ // excludedRenderer = CapaLight
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ MODULE
+ {
+ name = ModuleGimbal
+ gimbalTransformName = gimbalTransform
+ gimbalResponseSpeed = 10
+ useGimbalResponseSpeed = true
+ gimbalRangeXP = 1.5
+ gimbalRangeXN = 1.5
+ gimbalRangeYP = 1.5
+ gimbalRangeYN = 1.5
+ gimbalRangeZP = 0
+ gimbalRangeZN = 0
+ }
+ MODULE
+ {
+ name = ModuleAlternator
+ // engineName = Light
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 300
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/IPV/EngineOCGC.cfg b/GameData/SterlingSystems/Engines/IPV/EngineOCGC.cfg
new file mode 100644
index 0000000..f9a743d
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/IPV/EngineOCGC.cfg
@@ -0,0 +1,285 @@
+PART
+{
+ name = strl-eng-375-ocgc
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/IPV/EngOCGC
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.4, 1.25, 0.0, 0.0, -1.0
+ TechRequired = aerospaceTech
+ entryCost = 5000
+ cost = 2500
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_375_OCGC_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_375_OCGC_desc
+ tags =
+ attachRules = 1,0,1,1,0
+
+ CoLOffset = 0, -2.7, 0
+ CoMOffset = 0, -2.7, 0
+ CoPOffset = 0, -2.7, 0
+
+ mass = 24
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,size3
+ crashTolerance = 9
+ breakingForce = 100
+ breakingTorque = 100
+ maxTemp = 3450
+ skinMaxTemp = 3450
+ emissiveConstant = 1 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top2
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_dry
+ {
+ 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
+ }
+ }
+ }
+ MODULE
+ {
+ name = FXModuleAnimateThrottle
+ animationName = OCGCflaps
+ responseSpeed = 0.08
+ layer = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ // engineName = basicEngine
+ // baseAnimSpeed = 0.01 // base + (throttle setting * multiplier)
+ // affectTime = false
+ // baseAnimSpeedMult = 100
+ // playInEditor = False
+ weightOnOperational = True
+ // preferMultiMode = True
+ animWrapMode = 0 // Default = 0; Once = 1; Clamp = 1; Loop = 2; PingPong = 4; ClampForever = 8
+ }
+ // MODULE
+ // {
+ // name = MultiModeEngine
+ // primaryEngineID = Light
+ // secondaryEngineID = Heavy
+ // carryOverThrottle = True
+ // }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = basicEngine
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 3000
+ heatProduction = 250
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 10
+ engineDecelerationSpeed = 10
+ flameoutEffectName = flameout
+ powerEffectName = running_dry
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = Nuclear
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ DrawGauge = True
+ }
+ atmosphereCurve
+ {
+ key = 0 5097
+ key = 1 1270
+ key = 1.35 0.001
+ }
+ }
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = throttleColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = throttleColor
+ animRate = 1
+ shaderProperty = _TintColor
+ includedRenderer = ThrottleEMM
+ toggleInEditor = False
+ toggleInFlight = False
+ redCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ greenCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ blueCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = ThrottleEMM
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ MODULE
+ {
+ name = ModuleGimbal
+ gimbalTransformName = gimbalTransform
+ gimbalResponseSpeed = 10
+ useGimbalResponseSpeed = true
+ gimbalRangeXP = 2
+ gimbalRangeXN = 2
+ gimbalRangeYP = 2
+ gimbalRangeYN = 2
+ gimbalRangeZP = 0
+ gimbalRangeZN = 0
+ }
+ MODULE
+ {
+ name = ModuleAlternator
+ // engineName = basicEngine
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 150
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/IPV/EngineSULEU-S0.cfg b/GameData/SterlingSystems/Engines/IPV/EngineSULEU-S0.cfg
new file mode 100644
index 0000000..0c806ef
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/IPV/EngineSULEU-S0.cfg
@@ -0,0 +1,268 @@
+PART
+{
+ name = strl-eng-062-suleu
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/IPV/EngSULEU-S0
+ }
+ rescaleFactor = 1
+ node_attach = 0, 0, 0, 0, 1, 0
+ TechRequired = nuclearPropulsion
+ entryCost = 5000
+ cost = 2500
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_062_SULEU_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_125_SULEU_desc
+ tags =
+ attachRules = 1,1,1,0,0
+
+ CoLOffset = 0, -0.8, 0
+ CoMOffset = 0, -0.8, 0
+ CoPOffset = 0, -0.8, 0
+
+ mass = 1.45
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size0,srf
+ crashTolerance = 9
+ breakingForce = 100
+ breakingTorque = 100
+ maxTemp = 2500
+ skinMaxTemp = 2700
+ emissiveConstant = 0.8 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 0
+ method = FIXED_JOINT
+ }
+ // NODE
+ // {
+ // name = bottom
+ // transform = bottom
+ // size = 0
+ // method = FIXED_JOINT
+ // }
+ NODE
+ {
+ name = bottom2
+ transform = bottom2
+ size = 0
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_dry
+ {
+ 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
+ }
+ }
+ }
+ // MODULE
+ // {
+ // name = MultiModeEngine
+ // primaryEngineID = Light
+ // secondaryEngineID = Heavy
+ // carryOverThrottle = True
+ // }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = basicEngine
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 136
+ heatProduction = 250
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 10
+ engineDecelerationSpeed = 10
+ flameoutEffectName = flameout
+ powerEffectName = running_dry
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = Nuclear
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ DrawGauge = True
+ }
+ atmosphereCurve
+ {
+ key = 0 930
+ key = 1 232.5
+ key = 2 0.001 0 0
+ }
+ }
+ // MODULE
+ // {
+ // name = FXModuleThrottleEffects
+ // fxModuleNames = throttleColor
+ // responseSpeed = 1
+ // dependOnEngineState = True
+ // dependOnThrottle = True
+ // preferMultiMode = True
+ // }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = throttleColor
+ // animRate = 1
+ // shaderProperty = _TintColor
+ // includedRenderer = ThrottleEMM
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 0.5 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 0.5 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = ThrottleEMM
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ // MODULE
+ // {
+ // name = ModuleGimbal
+ // gimbalTransformName = gimbalTransform
+ // gimbalResponseSpeed = 0
+ // useGimbalResponseSpeed = true
+ // gimbalRangeXP = 1.5
+ // gimbalRangeXN = 1.5
+ // gimbalRangeYP = 1.5
+ // gimbalRangeYN = 1.5
+ // gimbalRangeZP = 0
+ // gimbalRangeZN = 0
+ // }
+ MODULE
+ {
+ name = ModuleAlternator
+ // engineName = basicEngine
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 5
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/IPV/EngineSULEU-S1.cfg b/GameData/SterlingSystems/Engines/IPV/EngineSULEU-S1.cfg
new file mode 100644
index 0000000..14eb975
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/IPV/EngineSULEU-S1.cfg
@@ -0,0 +1,268 @@
+PART
+{
+ name = strl-eng-125-suleu
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/IPV/EngSULEU
+ }
+ rescaleFactor = 1
+ node_attach = 0, 0, 0, 0, 1, 0
+ TechRequired = nuclearPropulsion
+ entryCost = 5000
+ cost = 2500
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_125_SULEU_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_125_SULEU_desc
+ tags =
+ attachRules = 1,1,1,0,0
+
+ CoLOffset = 0, -2, 0
+ CoMOffset = 0, -2, 0
+ CoPOffset = 0, -2, 0
+
+ mass = 3.2
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1,srf
+ crashTolerance = 9
+ breakingForce = 100
+ breakingTorque = 100
+ maxTemp = 2500
+ skinMaxTemp = 2700
+ emissiveConstant = 0.8 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom2
+ transform = bottom2
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_dry
+ {
+ 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
+ }
+ }
+ }
+ // MODULE
+ // {
+ // name = MultiModeEngine
+ // primaryEngineID = Light
+ // secondaryEngineID = Heavy
+ // carryOverThrottle = True
+ // }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = basicEngine
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 300
+ heatProduction = 250
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 10
+ engineDecelerationSpeed = 10
+ flameoutEffectName = flameout
+ powerEffectName = running_dry
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = Nuclear
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ DrawGauge = True
+ }
+ atmosphereCurve
+ {
+ key = 0 930
+ key = 1 232.5
+ key = 2 0.001 0 0
+ }
+ }
+ // MODULE
+ // {
+ // name = FXModuleThrottleEffects
+ // fxModuleNames = throttleColor
+ // responseSpeed = 1
+ // dependOnEngineState = True
+ // dependOnThrottle = True
+ // preferMultiMode = True
+ // }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = throttleColor
+ // animRate = 1
+ // shaderProperty = _TintColor
+ // includedRenderer = ThrottleEMM
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 0.5 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 0.5 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = ThrottleEMM
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ // MODULE
+ // {
+ // name = ModuleGimbal
+ // gimbalTransformName = gimbalTransform
+ // gimbalResponseSpeed = 0
+ // useGimbalResponseSpeed = true
+ // gimbalRangeXP = 1.5
+ // gimbalRangeXN = 1.5
+ // gimbalRangeYP = 1.5
+ // gimbalRangeYN = 1.5
+ // gimbalRangeZP = 0
+ // gimbalRangeZN = 0
+ // }
+ MODULE
+ {
+ name = ModuleAlternator
+ // engineName = basicEngine
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 5
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/IPV/EngineSULEU-S1p5.cfg b/GameData/SterlingSystems/Engines/IPV/EngineSULEU-S1p5.cfg
new file mode 100644
index 0000000..1005d24
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/IPV/EngineSULEU-S1p5.cfg
@@ -0,0 +1,269 @@
+PART
+{
+ name = strl-eng-187-suleu
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/IPV/EngSULEU
+ scale = 1.5, 1.5, 1.5
+ }
+ rescaleFactor = 1
+ node_attach = 0, 0, 0, 0, 1, 0
+ TechRequired = nuclearPropulsion
+ entryCost = 5000
+ cost = 2500
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_187_SULEU_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_125_SULEU_desc
+ tags =
+ attachRules = 1,1,1,0,0
+
+ CoLOffset = 0, -3, 0
+ CoMOffset = 0, -3, 0
+ CoPOffset = 0, -3, 0
+
+ mass = 7.2
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1,srf
+ crashTolerance = 9
+ breakingForce = 100
+ breakingTorque = 100
+ maxTemp = 2500
+ skinMaxTemp = 2700
+ emissiveConstant = 0.8 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom2
+ transform = bottom2
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_dry
+ {
+ 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
+ }
+ }
+ }
+ // MODULE
+ // {
+ // name = MultiModeEngine
+ // primaryEngineID = Light
+ // secondaryEngineID = Heavy
+ // carryOverThrottle = True
+ // }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = basicEngine
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 675
+ heatProduction = 250
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 10
+ engineDecelerationSpeed = 10
+ flameoutEffectName = flameout
+ powerEffectName = running_dry
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = Nuclear
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ DrawGauge = True
+ }
+ atmosphereCurve
+ {
+ key = 0 930
+ key = 1 232.5
+ key = 2 0.001 0 0
+ }
+ }
+ // MODULE
+ // {
+ // name = FXModuleThrottleEffects
+ // fxModuleNames = throttleColor
+ // responseSpeed = 1
+ // dependOnEngineState = True
+ // dependOnThrottle = True
+ // preferMultiMode = True
+ // }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = throttleColor
+ // animRate = 1
+ // shaderProperty = _TintColor
+ // includedRenderer = ThrottleEMM
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 0.5 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 0.5 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = ThrottleEMM
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ // MODULE
+ // {
+ // name = ModuleGimbal
+ // gimbalTransformName = gimbalTransform
+ // gimbalResponseSpeed = 0
+ // useGimbalResponseSpeed = true
+ // gimbalRangeXP = 1.5
+ // gimbalRangeXN = 1.5
+ // gimbalRangeYP = 1.5
+ // gimbalRangeYN = 1.5
+ // gimbalRangeZP = 0
+ // gimbalRangeZN = 0
+ // }
+ MODULE
+ {
+ name = ModuleAlternator
+ // engineName = basicEngine
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 5
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/IPV/GCNTR_BSPEC.dds b/GameData/SterlingSystems/Engines/IPV/GCNTR_BSPEC.dds
new file mode 100644
index 0000000..ec32a9a
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/GCNTR_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/GCNTR_DIFF.dds b/GameData/SterlingSystems/Engines/IPV/GCNTR_DIFF.dds
new file mode 100644
index 0000000..4149255
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/GCNTR_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/GCNTR_EMM.dds b/GameData/SterlingSystems/Engines/IPV/GCNTR_EMM.dds
new file mode 100644
index 0000000..c317872
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/GCNTR_EMM.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/GCNTR_NRM.dds b/GameData/SterlingSystems/Engines/IPV/GCNTR_NRM.dds
new file mode 100644
index 0000000..d60ece3
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/GCNTR_NRM.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/MCF_BSPEC.dds b/GameData/SterlingSystems/Engines/IPV/MCF_BSPEC.dds
new file mode 100644
index 0000000..8df616d
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/MCF_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/MCF_DIFF.dds b/GameData/SterlingSystems/Engines/IPV/MCF_DIFF.dds
new file mode 100644
index 0000000..627b9d5
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/MCF_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/MCF_EMM.dds b/GameData/SterlingSystems/Engines/IPV/MCF_EMM.dds
new file mode 100644
index 0000000..9502ecf
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/MCF_EMM.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/MCF_NRM.dds b/GameData/SterlingSystems/Engines/IPV/MCF_NRM.dds
new file mode 100644
index 0000000..b8f3de8
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/MCF_NRM.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/SULEU_BSPEC.dds b/GameData/SterlingSystems/Engines/IPV/SULEU_BSPEC.dds
new file mode 100644
index 0000000..4827219
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/SULEU_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/SULEU_DIFF.dds b/GameData/SterlingSystems/Engines/IPV/SULEU_DIFF.dds
new file mode 100644
index 0000000..6270d85
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/SULEU_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/SULEU_EMM.dds b/GameData/SterlingSystems/Engines/IPV/SULEU_EMM.dds
new file mode 100644
index 0000000..8c079d8
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/SULEU_EMM.dds differ
diff --git a/GameData/SterlingSystems/Engines/IPV/SULEU_NRM.dds b/GameData/SterlingSystems/Engines/IPV/SULEU_NRM.dds
new file mode 100644
index 0000000..4f3194c
Binary files /dev/null and b/GameData/SterlingSystems/Engines/IPV/SULEU_NRM.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/BCAM_BSPEC.dds b/GameData/SterlingSystems/Engines/ISV/BCAM_BSPEC.dds
new file mode 100644
index 0000000..af8c526
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/BCAM_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/BCAM_DIFF.dds b/GameData/SterlingSystems/Engines/ISV/BCAM_DIFF.dds
new file mode 100644
index 0000000..8d82122
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/BCAM_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/BCAM_EMM.dds b/GameData/SterlingSystems/Engines/ISV/BCAM_EMM.dds
new file mode 100644
index 0000000..72edfb4
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/BCAM_EMM.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/BCAM_NRM.dds b/GameData/SterlingSystems/Engines/ISV/BCAM_NRM.dds
new file mode 100644
index 0000000..767a81e
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/BCAM_NRM.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/EngBCAM.mu b/GameData/SterlingSystems/Engines/ISV/EngBCAM.mu
new file mode 100644
index 0000000..d304886
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/EngBCAM.mu differ
diff --git a/GameData/SterlingSystems/Engines/ISV/EngICF_S2.mu b/GameData/SterlingSystems/Engines/ISV/EngICF_S2.mu
new file mode 100644
index 0000000..b7c9161
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/EngICF_S2.mu differ
diff --git a/GameData/SterlingSystems/Engines/ISV/EngICF_S4.mu b/GameData/SterlingSystems/Engines/ISV/EngICF_S4.mu
new file mode 100644
index 0000000..7f4fd5d
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/EngICF_S4.mu differ
diff --git a/GameData/SterlingSystems/Engines/ISV/EngineBCAM.cfg b/GameData/SterlingSystems/Engines/ISV/EngineBCAM.cfg
new file mode 100644
index 0000000..4cec7aa
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/ISV/EngineBCAM.cfg
@@ -0,0 +1,253 @@
+PART
+{
+ name = strl-eng-1000-bcam
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/ISV/EngBCAM
+ }
+ rescaleFactor = 1
+ // node_attach = 0.0, 0.0, 1.5, 0.0, 0.0, -1.0
+ TechRequired = aerospaceTech
+ entryCost = 5000000
+ cost = 3000000
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_1000_BCAM_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_1000_BCAM_desc
+ tags = eng bcam interstellar antimatter am
+ attachRules = 1,0,1,1,0
+
+ CoMOffset = 0, -4.8, 0
+ CoLOffset = 0, -4.8, 0
+ CoPOffset = 0, -4.8, 0
+
+ mass = 95
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size8
+ crashTolerance = 18
+ breakingForce = 4000
+ breakingTorque = 4000
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ emissiveConstant = 1 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 6
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_dry
+ {
+ 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
+ }
+ }
+ }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = AntimatterBeam
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 6000
+ heatProduction = 250
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 10
+ engineDecelerationSpeed = 5
+ flameoutEffectName = flameout
+ powerEffectName = running_dry
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = Nuclear
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ // ignoreForIsp = True
+ DrawGauge = True
+ }
+ PROPELLANT
+ {
+ name = XenonGas
+ ratio = 1
+ // ignoreForIsp = True
+ DrawGauge = True
+ }
+ atmosphereCurve
+ {
+ key = 0 10190000
+ key = 1 0.001
+ }
+ }
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = throttleColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = throttleColor
+ animRate = 1
+ shaderProperty = _EmissiveColor
+ includedRenderer = CapaLight
+ toggleInEditor = False
+ toggleInFlight = False
+ redCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ greenCurve
+ {
+ key = 0 0
+ key = 1 0.5
+ }
+ blueCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = CapaLight
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ MODULE
+ {
+ name = ModuleGimbal
+ gimbalTransformName = thrustTransform
+ gimbalResponseSpeed = 20
+ useGimbalResponseSpeed = true
+ gimbalRangeXP = 0.5
+ gimbalRangeXN = 0.5
+ gimbalRangeYP = 0.5
+ gimbalRangeYN = 0.5
+ gimbalRangeZP = 0
+ gimbalRangeZN = 0
+ }
+ MODULE
+ {
+ name = ModuleAlternator
+ // engineName = basicEngine
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 600
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/ISV/EngineICF_S2.cfg b/GameData/SterlingSystems/Engines/ISV/EngineICF_S2.cfg
new file mode 100644
index 0000000..f3133f6
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/ISV/EngineICF_S2.cfg
@@ -0,0 +1,364 @@
+PART
+{
+ name = strl-eng-250-icf
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/ISV/EngICF_S2
+ }
+ rescaleFactor = 1
+ TechRequired = aerospaceTech
+ entryCost = 5000000
+ cost = 500000
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_250_ICF_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_250_ICF_desc
+ tags = eng icf interstellar daedalus
+ attachRules = 1,0,1,1,0
+
+ CoLOffset = 0, 0, 0
+ CoMOffset = 0, 0, 0
+ CoPOffset = 0, 0, 0
+
+ mass = 12
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2
+ crashTolerance = 18
+ breakingForce = 4000
+ breakingTorque = 4000
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ emissiveConstant = 1 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_dry
+ {
+ 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
+ }
+ }
+ running_wet
+ {
+ 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 0.9
+ loop = true
+ }
+ }
+ }
+ MODULE
+ {
+ name = FXModuleAnimateThrottle
+ animationName = flaps
+ responseSpeed = 0.08
+ layer = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ // engineName = Light
+ // baseAnimSpeed = 0.01 // base + (throttle setting * multiplier)
+ // affectTime = false
+ // baseAnimSpeedMult = 100
+ // playInEditor = False
+ weightOnOperational = True
+ preferMultiMode = True
+ animWrapMode = 0 // Default = 0; Once = 1; Clamp = 1; Loop = 2; PingPong = 4; ClampForever = 8
+ }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = Light
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 250
+ heatProduction = 250
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 10
+ engineDecelerationSpeed = 5
+ flameoutEffectName = flameout
+ powerEffectName = running_dry
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = Nuclear
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ // ignoreForIsp = True
+ DrawGauge = True
+ }
+ atmosphereCurve
+ {
+ key = 0 1020000
+ key = 1 0.001
+ }
+ }
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = throttleColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = throttleColor
+ animRate = 1
+ shaderProperty = _EmissiveColor
+ includedRenderer = CapaLight
+ toggleInEditor = False
+ toggleInFlight = False
+ redCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ greenCurve
+ {
+ key = 0 0
+ key = 1 0.5
+ }
+ blueCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = CapaLight
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ MODULE
+ {
+ name = ModuleGimbal
+ gimbalTransformName = gimbalTransform
+ gimbalResponseSpeed = 10
+ useGimbalResponseSpeed = true
+ gimbalRangeXP = 1.5
+ gimbalRangeXN = 1.5
+ gimbalRangeYP = 1.5
+ gimbalRangeYN = 1.5
+ gimbalRangeZP = 0
+ gimbalRangeZN = 0
+ }
+ MODULE
+ {
+ name = FXModuleLookAtConstraint
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL01
+ rotatorsName = PistonU01
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU01
+ rotatorsName = PistonL01
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL02
+ rotatorsName = PistonU02
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU02
+ rotatorsName = PistonL02
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL03
+ rotatorsName = PistonU03
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU03
+ rotatorsName = PistonL03
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL04
+ rotatorsName = PistonU04
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU04
+ rotatorsName = PistonL04
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL05
+ rotatorsName = PistonU05
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU05
+ rotatorsName = PistonL05
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL06
+ rotatorsName = PistonU06
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU06
+ rotatorsName = PistonL06
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL07
+ rotatorsName = PistonU07
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU07
+ rotatorsName = PistonL07
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL08
+ rotatorsName = PistonU08
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU08
+ rotatorsName = PistonL08
+ }
+ }
+ MODULE
+ {
+ name = ModuleAlternator
+ // engineName = Light
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 75
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/ISV/EngineICF_S4.cfg b/GameData/SterlingSystems/Engines/ISV/EngineICF_S4.cfg
new file mode 100644
index 0000000..b215464
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/ISV/EngineICF_S4.cfg
@@ -0,0 +1,405 @@
+PART
+{
+ name = strl-eng-500-icf
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/ISV/EngICF_S4
+ }
+ rescaleFactor = 1
+ TechRequired = aerospaceTech
+ entryCost = 5000000
+ cost = 3000000
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_500_ICF_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_500_ICF_desc
+ tags = eng icf interstellar daedalus
+ attachRules = 1,0,1,1,0
+
+ CoLOffset = 0, 0, 0
+ CoMOffset = 0, 0, 0
+ CoPOffset = 0, 0, 0
+
+ mass = 80
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size4
+ crashTolerance = 18
+ breakingForce = 4000
+ breakingTorque = 4000
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ emissiveConstant = 1 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 6
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_dry
+ {
+ 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
+ }
+ }
+ running_wet
+ {
+ 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 0.9
+ loop = true
+ }
+ }
+ }
+ MODULE
+ {
+ name = FXModuleAnimateThrottle
+ animationName = flaps
+ responseSpeed = 0.08
+ layer = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ // engineName = Light
+ // baseAnimSpeed = 0.01 // base + (throttle setting * multiplier)
+ // affectTime = false
+ // baseAnimSpeedMult = 100
+ // playInEditor = False
+ weightOnOperational = True
+ preferMultiMode = True
+ animWrapMode = 0 // Default = 0; Once = 1; Clamp = 1; Loop = 2; PingPong = 4; ClampForever = 8
+ }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = Light
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 1400
+ heatProduction = 250
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 10
+ engineDecelerationSpeed = 5
+ flameoutEffectName = flameout
+ powerEffectName = running_dry
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = Nuclear
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ // ignoreForIsp = True
+ DrawGauge = True
+ }
+ atmosphereCurve
+ {
+ key = 0 1020000
+ key = 1 0.001
+ }
+ }
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = throttleColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ // preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = throttleColor
+ animRate = 1
+ shaderProperty = _EmissiveColor
+ includedRenderer = CapaLight
+ toggleInEditor = False
+ toggleInFlight = False
+ redCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ greenCurve
+ {
+ key = 0 0
+ key = 1 0.5
+ }
+ blueCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = CapaLight
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ MODULE
+ {
+ name = ModuleGimbal
+ gimbalTransformName = gimbalTransform
+ gimbalResponseSpeed = 10
+ useGimbalResponseSpeed = true
+ gimbalRangeXP = 1.5
+ gimbalRangeXN = 1.5
+ gimbalRangeYP = 1.5
+ gimbalRangeYN = 1.5
+ gimbalRangeZP = 0
+ gimbalRangeZN = 0
+ }
+ MODULE
+ {
+ name = FXModuleLookAtConstraint
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL01
+ rotatorsName = PistonU01
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU01
+ rotatorsName = PistonL01
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL02
+ rotatorsName = PistonU02
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU02
+ rotatorsName = PistonL02
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL03
+ rotatorsName = PistonU03
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU03
+ rotatorsName = PistonL03
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL04
+ rotatorsName = PistonU04
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU04
+ rotatorsName = PistonL04
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL05
+ rotatorsName = PistonU05
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU05
+ rotatorsName = PistonL05
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL06
+ rotatorsName = PistonU06
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU06
+ rotatorsName = PistonL06
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL07
+ rotatorsName = PistonU07
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU07
+ rotatorsName = PistonL07
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL08
+ rotatorsName = PistonU08
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU08
+ rotatorsName = PistonL08
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL09
+ rotatorsName = PistonU09
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU09
+ rotatorsName = PistonL09
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL10
+ rotatorsName = PistonU10
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU10
+ rotatorsName = PistonL10
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL11
+ rotatorsName = PistonU11
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU11
+ rotatorsName = PistonL11
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL12
+ rotatorsName = PistonU12
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU12
+ rotatorsName = PistonL12
+ }
+ }
+ MODULE
+ {
+ name = ModuleAlternator
+ // engineName = Light
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 600
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/ISV/ICF_S2_BSPEC.dds b/GameData/SterlingSystems/Engines/ISV/ICF_S2_BSPEC.dds
new file mode 100644
index 0000000..4a23ee0
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/ICF_S2_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/ICF_S2_DIFF.dds b/GameData/SterlingSystems/Engines/ISV/ICF_S2_DIFF.dds
new file mode 100644
index 0000000..9578eef
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/ICF_S2_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/ICF_S2_EMM.dds b/GameData/SterlingSystems/Engines/ISV/ICF_S2_EMM.dds
new file mode 100644
index 0000000..5ab39f9
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/ICF_S2_EMM.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/ICF_S2_NRM.dds b/GameData/SterlingSystems/Engines/ISV/ICF_S2_NRM.dds
new file mode 100644
index 0000000..8de5ee7
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/ICF_S2_NRM.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/ICF_S4_BSPEC.dds b/GameData/SterlingSystems/Engines/ISV/ICF_S4_BSPEC.dds
new file mode 100644
index 0000000..ad8ca4c
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/ICF_S4_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/ICF_S4_DIFF.dds b/GameData/SterlingSystems/Engines/ISV/ICF_S4_DIFF.dds
new file mode 100644
index 0000000..e9a7447
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/ICF_S4_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/ICF_S4_EMM.dds b/GameData/SterlingSystems/Engines/ISV/ICF_S4_EMM.dds
new file mode 100644
index 0000000..18b8b8a
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/ICF_S4_EMM.dds differ
diff --git a/GameData/SterlingSystems/Engines/ISV/ICF_S4_NRM.dds b/GameData/SterlingSystems/Engines/ISV/ICF_S4_NRM.dds
new file mode 100644
index 0000000..97d1035
Binary files /dev/null and b/GameData/SterlingSystems/Engines/ISV/ICF_S4_NRM.dds differ
diff --git a/GameData/SterlingSystems/Engines/SSTO/EngTN-DL-S1.mu b/GameData/SterlingSystems/Engines/SSTO/EngTN-DL-S1.mu
new file mode 100644
index 0000000..1457c9c
Binary files /dev/null and b/GameData/SterlingSystems/Engines/SSTO/EngTN-DL-S1.mu differ
diff --git a/GameData/SterlingSystems/Engines/SSTO/EngTN-DL-S2.mu b/GameData/SterlingSystems/Engines/SSTO/EngTN-DL-S2.mu
new file mode 100644
index 0000000..f8b67ca
Binary files /dev/null and b/GameData/SterlingSystems/Engines/SSTO/EngTN-DL-S2.mu differ
diff --git a/GameData/SterlingSystems/Engines/SSTO/TN-DL-S0.cfg b/GameData/SterlingSystems/Engines/SSTO/TN-DL-S0.cfg
new file mode 100644
index 0000000..3265bb4
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/SSTO/TN-DL-S0.cfg
@@ -0,0 +1,303 @@
+PART
+{
+ name = strl-eng-062-thnozbell
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/SSTO/EngTN-DL-S1
+ scale = 0.5, 0.5, 0.5
+ }
+ rescaleFactor = 1
+ TechRequired = aerospaceTech
+ entryCost = 5000
+ cost = 2500
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_062_thnozbell_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_062_thnozbell_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ CoLOffset = 0, -0.2, 0
+ CoMOffset = 0, -0.2, 0
+ CoPOffset = 0, -0.2, 0
+
+ mass = 0.9
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size0,srf
+ crashTolerance = 9
+ breakingForce = 100
+ breakingTorque = 100
+ maxTemp = 2500
+ skinMaxTemp = 2500
+ emissiveConstant = 0.9 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 0
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 0
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_open
+ {
+ AUDIO
+ {
+ name = ramp
+ channel = Ship
+ clip = sound_rocket_hard
+ volume = 0.0 0.0
+ volume = 0.01 0.2
+ volume = 1.0 0.6
+ pitch = 0.0 0.1
+ pitch = 0.01 0.2
+ pitch = 1.0 0.5
+ loop = true
+ }
+ }
+ }
+ // MODULE
+ // {
+ // name = MultiModeEngine
+ // primaryEngineID = Light
+ // secondaryEngineID = Heavy
+ // carryOverThrottle = True
+ // }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = basicEngine
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 600
+ heatProduction = 30
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 9
+ engineDecelerationSpeed = 9
+ flameoutEffectName = flameout
+ powerEffectName = running_open
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = LiquidFuel
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 60 // 12
+ DrawGauge = True
+ ignoreForIsp = True
+ }
+ atmosphereCurve
+ {
+ key = 0 970
+ key = 1 824.5
+ key = 16 0.001 -25 0
+ }
+ // atmChangeFlow = True
+ useThrustCurve = True
+ thrustCurve
+ {
+ key = 0.1 0.1
+ key = 0.8 1 0 0
+ }
+ }
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = throttleColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ // preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = throttleColor
+ animRate = 1
+ shaderProperty = _TintColor
+ includedRenderer = ThrottleEMM
+ toggleInEditor = False
+ toggleInFlight = False
+ redCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ greenCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ blueCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ // preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = ThrottleEMM
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ MODULE
+ {
+ name = ModuleGimbal
+ gimbalTransformName = gimbalTransform
+ gimbalResponseSpeed = 10
+ useGimbalResponseSpeed = true
+ gimbalRangeXP = 8
+ gimbalRangeXN = 8
+ gimbalRangeYP = 8
+ gimbalRangeYN = 8
+ gimbalRangeZP = 0
+ gimbalRangeZN = 0
+ }
+ MODULE
+ {
+ name = FXModuleLookAtConstraint
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL01
+ rotatorsName = PistonU01
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU01
+ rotatorsName = PistonL01
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL02
+ rotatorsName = PistonU02
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU02
+ rotatorsName = PistonL02
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL03
+ rotatorsName = PistonU03
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU03
+ rotatorsName = PistonL03
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/SSTO/TN-DL-S1.cfg b/GameData/SterlingSystems/Engines/SSTO/TN-DL-S1.cfg
new file mode 100644
index 0000000..e2fae18
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/SSTO/TN-DL-S1.cfg
@@ -0,0 +1,302 @@
+PART
+{
+ name = strl-eng-125-thnozbell
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/SSTO/EngTN-DL-S1
+ }
+ rescaleFactor = 1
+ TechRequired = aerospaceTech
+ entryCost = 5000
+ cost = 2500
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_125_thnozbell_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_125_thnozbell_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ CoLOffset = 0, -0.4, 0
+ CoMOffset = 0, -0.4, 0
+ CoPOffset = 0, -0.4, 0
+
+ mass = 2.4
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1,srf
+ crashTolerance = 9
+ breakingForce = 100
+ breakingTorque = 100
+ maxTemp = 2500
+ skinMaxTemp = 2500
+ emissiveConstant = 0.9 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_open
+ {
+ AUDIO
+ {
+ name = ramp
+ channel = Ship
+ clip = sound_rocket_hard
+ volume = 0.0 0.0
+ volume = 0.01 0.2
+ volume = 1.0 0.6
+ pitch = 0.0 0.1
+ pitch = 0.01 0.2
+ pitch = 1.0 0.5
+ loop = true
+ }
+ }
+ }
+ // MODULE
+ // {
+ // name = MultiModeEngine
+ // primaryEngineID = Light
+ // secondaryEngineID = Heavy
+ // carryOverThrottle = True
+ // }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = basicEngine
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 2400
+ heatProduction = 30
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 9
+ engineDecelerationSpeed = 9
+ flameoutEffectName = flameout
+ powerEffectName = running_open
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = LiquidFuel
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 60 // 12
+ DrawGauge = True
+ ignoreForIsp = True
+ }
+ atmosphereCurve
+ {
+ key = 0 970
+ key = 1 824.5
+ key = 16 0.001 -25 0
+ }
+ // atmChangeFlow = True
+ useThrustCurve = True
+ thrustCurve
+ {
+ key = 0.1 0.1
+ key = 0.8 1 0 0
+ }
+ }
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = throttleColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ // preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = throttleColor
+ animRate = 1
+ shaderProperty = _TintColor
+ includedRenderer = ThrottleEMM
+ toggleInEditor = False
+ toggleInFlight = False
+ redCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ greenCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ blueCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ // preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = ThrottleEMM
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ MODULE
+ {
+ name = ModuleGimbal
+ gimbalTransformName = gimbalTransform
+ gimbalResponseSpeed = 10
+ useGimbalResponseSpeed = true
+ gimbalRangeXP = 8
+ gimbalRangeXN = 8
+ gimbalRangeYP = 8
+ gimbalRangeYN = 8
+ gimbalRangeZP = 0
+ gimbalRangeZN = 0
+ }
+ MODULE
+ {
+ name = FXModuleLookAtConstraint
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL01
+ rotatorsName = PistonU01
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU01
+ rotatorsName = PistonL01
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL02
+ rotatorsName = PistonU02
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU02
+ rotatorsName = PistonL02
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL03
+ rotatorsName = PistonU03
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU03
+ rotatorsName = PistonL03
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/SSTO/TN-DL-S2.cfg b/GameData/SterlingSystems/Engines/SSTO/TN-DL-S2.cfg
new file mode 100644
index 0000000..11163db
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/SSTO/TN-DL-S2.cfg
@@ -0,0 +1,332 @@
+PART
+{
+ name = strl-eng-250-thnozbell
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Engines/SSTO/EngTN-DL-S2
+ }
+ rescaleFactor = 1
+ TechRequired = aerospaceTech
+ entryCost = 5000
+ cost = 2500
+ category = Engine
+ subcategory = 0
+ title = #LOC_strl_eng_250_thnozbell_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_eng_250_thnozbell_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ CoLOffset = 0, -0.8, 0
+ CoMOffset = 0, -0.8, 0
+ CoPOffset = 0, -0.8, 0
+
+ mass = 6.79
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,srf
+ crashTolerance = 9
+ breakingForce = 100
+ breakingTorque = 100
+ maxTemp = 2500
+ skinMaxTemp = 2500
+ emissiveConstant = 0.9 // engine nozzles are good at radiating.
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ EFFECTS
+ {
+ engage
+ {
+ AUDIO
+ {
+ name = engageengine
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.2
+ pitch = 0.4
+ loop = false
+ }
+ }
+ disengage
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_vent_soft
+ volume = 0.1
+ pitch = 0.6
+ loop = false
+ speed = 1 0.2
+ }
+ }
+ flameout
+ {
+ AUDIO
+ {
+ channel = Ship
+ clip = sound_explosion_low
+ volume = 0.3
+ pitch = 2.0
+ loop = false
+ }
+ }
+ running_open
+ {
+ AUDIO
+ {
+ name = ramp
+ channel = Ship
+ clip = sound_rocket_hard
+ volume = 0.0 0.0
+ volume = 0.01 0.2
+ volume = 1.0 0.6
+ pitch = 0.0 0.1
+ pitch = 0.01 0.2
+ pitch = 1.0 0.5
+ loop = true
+ }
+ }
+ }
+ // MODULE
+ // {
+ // name = MultiModeEngine
+ // primaryEngineID = Light
+ // secondaryEngineID = Heavy
+ // carryOverThrottle = True
+ // }
+ MODULE
+ {
+ name = ModuleEnginesFX
+ engineID = basicEngine
+ thrustVectorTransformName = thrustTransform
+ exhaustDamage = True
+ ignitionThreshold = 0.03
+ minThrust = 0
+ maxThrust = 3600
+ heatProduction = 30
+ useEngineResponseTime = True
+ engineAccelerationSpeed = 9
+ engineDecelerationSpeed = 9
+ flameoutEffectName = flameout
+ powerEffectName = running_open
+ engageEffectName = engage
+ disengageEffectName = disengage
+ // spoolEffectName = running_turbine
+ engineSpoolIdle = 0.05
+ engineSpoolTime = 2.0
+ EngineType = LiquidFuel
+ // exhaustDamageMultiplier = 600
+ // exhaustDamageMaxRange = 20
+
+ PROPELLANT
+ {
+ name = LiquidFuel
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 60 // 12
+ DrawGauge = True
+ ignoreForIsp = True
+ }
+ atmosphereCurve
+ {
+ key = 0 1060
+ key = 1 824.5
+ key = 9 0.001 -25 0
+ }
+ // atmChangeFlow = True
+ useThrustCurve = True
+ thrustCurve
+ {
+ key = 0.1 0.1
+ key = 0.8 1 0 0
+ }
+ }
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = throttleColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ // preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = throttleColor
+ animRate = 1
+ shaderProperty = _TintColor
+ includedRenderer = ThrottleEMM
+ toggleInEditor = False
+ toggleInFlight = False
+ redCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ greenCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ blueCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+
+ MODULE
+ {
+ name = FXModuleThrottleEffects
+ fxModuleNames = heatColor
+ responseSpeed = 1
+ dependOnEngineState = True
+ dependOnThrottle = True
+ // preferMultiMode = True
+ }
+ MODULE
+ {
+ name = ModuleColorChanger
+ moduleID = heatColor
+ animRate = 0.025
+ shaderProperty = _EmissiveColor
+ toggleInEditor = False
+ toggleInFlight = False
+ excludedRenderer = ThrottleEMM
+ redCurve
+ {
+ key = 0.0 0 1 1
+ key = 0.5 1 1 1
+ }
+ greenCurve
+ {
+ key = 0.3 0 1 1
+ key = 0.7 1 1 1
+ }
+ blueCurve
+ {
+ key = 0.5 0 1 1
+ key = 1.0 1 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 0.5 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSurfaceFX
+ thrustProviderModuleIndex = 0
+ fxMax = 0.6
+ maxDistance = 25
+ falloff = 2
+ thrustTransformName = thrustTransform
+ }
+ MODULE
+ {
+ name = ModuleGimbal
+ gimbalTransformName = gimbalTransform
+ gimbalResponseSpeed = 10
+ useGimbalResponseSpeed = true
+ gimbalRangeXP = 8
+ gimbalRangeXN = 8
+ gimbalRangeYP = 8
+ gimbalRangeYN = 8
+ gimbalRangeZP = 0
+ gimbalRangeZN = 0
+ }
+ MODULE
+ {
+ name = FXModuleLookAtConstraint
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL01
+ rotatorsName = PistonU01
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU01
+ rotatorsName = PistonL01
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL02
+ rotatorsName = PistonU02
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU02
+ rotatorsName = PistonL02
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL03
+ rotatorsName = PistonU03
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU03
+ rotatorsName = PistonL03
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL04
+ rotatorsName = PistonU04
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU04
+ rotatorsName = PistonL04
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL05
+ rotatorsName = PistonU05
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU05
+ rotatorsName = PistonL05
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonL06
+ rotatorsName = PistonU06
+ }
+ CONSTRAINLOOKFX
+ {
+ targetName = PistonU06
+ rotatorsName = PistonL06
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/SSTO/TN-DL_BSPEC.dds b/GameData/SterlingSystems/Engines/SSTO/TN-DL_BSPEC.dds
new file mode 100644
index 0000000..2f39534
Binary files /dev/null and b/GameData/SterlingSystems/Engines/SSTO/TN-DL_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Engines/SSTO/TN-DL_DIFF.dds b/GameData/SterlingSystems/Engines/SSTO/TN-DL_DIFF.dds
new file mode 100644
index 0000000..66c636a
Binary files /dev/null and b/GameData/SterlingSystems/Engines/SSTO/TN-DL_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Engines/SSTO/TN-DL_EMM.dds b/GameData/SterlingSystems/Engines/SSTO/TN-DL_EMM.dds
new file mode 100644
index 0000000..4e4b5ae
Binary files /dev/null and b/GameData/SterlingSystems/Engines/SSTO/TN-DL_EMM.dds differ
diff --git a/GameData/SterlingSystems/Engines/SSTO/TN-DL_NRM.dds b/GameData/SterlingSystems/Engines/SSTO/TN-DL_NRM.dds
new file mode 100644
index 0000000..07bc299
Binary files /dev/null and b/GameData/SterlingSystems/Engines/SSTO/TN-DL_NRM.dds differ
diff --git a/GameData/SterlingSystems/Engines/zPatches/B9PS.cfg b/GameData/SterlingSystems/Engines/zPatches/B9PS.cfg
new file mode 100644
index 0000000..e480e27
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/B9PS.cfg
@@ -0,0 +1,197 @@
+@PART[strl-eng-125-scr01]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = VariantColor
+ switcherDescription = Skin Style
+ switcherDescriptionPlural = Skin Styles
+ SUBTYPE
+ {
+ name = W
+ title = White
+ descriptionSummary = Only white panels.
+ transform = SkinA
+ }
+ SUBTYPE
+ {
+ name = BW
+ title = Black & White
+ descriptionSummary = Half white, half thermal tiles.
skinMaxTemp: 3000K
+ transform = SkinAB
+ skinMaxTemp = 3000
+ addedCost = 300
+ addedMass = 0.2
+ }
+ SUBTYPE
+ {
+ name = B
+ title = Black
+ descriptionSummary = Only thermal tiles.
skinMaxTemp: 3300K
+ transform = SkinB
+ skinMaxTemp = 3300
+ addedCost = 600
+ addedMass = 0.4
+ }
+ }
+}
+
+@PART[strl-eng-125-scr02]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = VariantColor
+ switcherDescription = Skin Style
+ switcherDescriptionPlural = Skin Styles
+ SUBTYPE
+ {
+ name = W
+ title = White
+ descriptionSummary = Only white panels.
+ transform = SkinA
+ }
+ SUBTYPE
+ {
+ name = BW
+ title = Black & White
+ descriptionSummary = Half white, half thermal tiles.
skinMaxTemp: 3000K
+ transform = SkinAB
+ skinMaxTemp = 3000
+ addedCost = 300
+ addedMass = 0.2
+ }
+ SUBTYPE
+ {
+ name = B
+ title = Black
+ descriptionSummary = Only thermal tiles.
skinMaxTemp: 3300K
+ transform = SkinB
+ skinMaxTemp = 3300
+ addedCost = 600
+ addedMass = 0.4
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = VariantStructure
+ switcherDescription = Mount Style
+ switcherDescriptionPlural = Mount Styles
+ SUBTYPE
+ {
+ name = None
+ }
+ SUBTYPE
+ {
+ name = Pylon
+ transform = Pylon
+ }
+ SUBTYPE
+ {
+ name = Shroud
+ transform = Shroud
+ }
+ }
+}
+
+@PART[strl-eng-375-mcf|strl-eng-375-?cgc]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = VariantStructure
+ switcherDescription = Mount Size
+ switcherDescriptionPlural = Mount Sizes
+ SUBTYPE
+ {
+ name = 375
+ title = 3.75m
+ transform = mountS3
+ node = top2
+ }
+ SUBTYPE
+ {
+ name = 2.5m
+ transform = mountS2
+ node = top
+ }
+ }
+}
+@PART[strl-eng-375-pb]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = VariantStructure
+ switcherDescription = Mount Size
+ switcherDescriptionPlural = Mount Sizes
+ SUBTYPE
+ {
+ name = 375
+ title = 3.75m
+ transform = mountS2
+ transform = mountS3
+ node = top2
+ }
+ SUBTYPE
+ {
+ name = 2.5m
+ transform = mountS2
+ node = top
+ }
+ }
+}
+
+@PART[strl-eng-125-suleu]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = VariantStructure
+ switcherDescription = Mount Type
+ switcherDescriptionPlural = Mount Types
+ SUBTYPE
+ {
+ name = A
+ title = 1.25m
+ transform = mountS1
+ node = bottom
+ }
+ SUBTYPE
+ {
+ name = B
+ title = 0.9375m
+ addedMass = -0.2
+ addedCost = 0
+ CoLOffset = 0, -1.2, 0
+ CoMOffset = 0, -1.2, 0
+ CoPOffset = 0, -1.2, 0
+ // attachNode = 0.0, -0.15, 0.469, 0.0, 0.0, -1.0
+ transform = mountS0p5
+ node = bottom2
+ TRANSFORM
+ {
+ name = EngineBody
+ positionOffset = 0, 1, 0
+ }
+ }
+ }
+}
+
+@PART[strl-eng-187-suleu]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9DisableTransform
+ transform = mountS0p5
+ }
+}
+@PART[strl-eng-062-suleu]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9DisableTransform
+ transform = mountS1
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/CRP.cfg b/GameData/SterlingSystems/Engines/zPatches/CRP.cfg
new file mode 100644
index 0000000..a20be1b
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/CRP.cfg
@@ -0,0 +1,232 @@
+// IPV
+@PART[strl-eng-375-?cgc]:NEEDS[CommunityResourcePack]
+{
+ RESOURCE
+ {
+ name = EnrichedUranium
+ amount = #$/mass$
+ @amount *= 20
+ maxAmount = #$amount$
+ }
+ RESOURCE
+ {
+ name = DepletedFuel
+ amount = 0
+ maxAmount = #$/mass$
+ @maxAmount *= 20
+ }
+
+ @MODULE[ModuleEnginesFX]
+ {
+ @PROPELLANT[LiquidFuel]
+ {
+ @name = LqdHydrogen
+ }
+ PROPELLANT
+ {
+ name = EnrichedUranium
+ ratio = 0.00001
+ DrawGauge = True
+ ignoreForIsp = True
+ }
+ }
+}
+@PART[strl-eng-375-ccgc]:NEEDS[CommunityResourcePack]
+{
+ MODULE
+ {
+ name = ModuleAlternator
+ outputName = Fuel Cycle
+ outputUnits = DepF/s
+ RESOURCE
+ {
+ name = DepletedFuel
+ rate = 0.01451
+ }
+ }
+}
+@PART[strl-eng-375-mcf]:NEEDS[CommunityResourcePack]
+{
+ @MODULE[ModuleEnginesFX],0
+ {
+ @PROPELLANT,0
+ {
+ @name = LqdDeuterium
+ }
+ PROPELLANT
+ {
+ name = LqdHe3
+ ratio = 4
+ }
+ PROPELLANT
+ {
+ name = LqdHydrogen
+ ratio = 200
+ }
+ }
+ @MODULE[ModuleEnginesFX],1
+ {
+ @PROPELLANT,0
+ {
+ @name = LqdDeuterium
+ }
+ PROPELLANT
+ {
+ name = LqdHe3
+ ratio = 4
+ }
+ PROPELLANT
+ {
+ name = LqdHydrogen
+ ratio = 400
+ }
+ }
+}
+
+// ISV
+@PART[strl-eng-250-icf]:NEEDS[CommunityResourcePack]
+{
+ RESOURCE
+ {
+ name = FusionPellets
+ amount = 625
+ maxAmount = 625
+ }
+ @MODULE[ModuleEnginesFX]
+ {
+ @PROPELLANT,0
+ {
+ @name = FusionPellets
+ }
+ }
+}
+
+@PART[strl-eng-500-icf]:NEEDS[CommunityResourcePack]
+{
+ RESOURCE
+ {
+ name = FusionPellets
+ amount = 5000
+ maxAmount = 5000
+ }
+ @MODULE[ModuleEnginesFX]
+ {
+ @PROPELLANT,0
+ {
+ @name = FusionPellets
+ }
+ }
+ MODULE:NEEDS[!SystemHeat]
+ {
+ name = ModuleResourceConverter
+ ConverterName = FusionPellets
+ StartActionName = Start ISRU [FusionPellets]
+ StopActionName = Stop ISRU [FusionPellets]
+ ToggleActionName = Toggle ISRU [FusionPellets]
+ EfficiencyBonus = 1
+
+ INPUT_RESOURCE
+ {
+ ResourceName = LqdDeuterium
+ Ratio = 0.1
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = LqdHe3
+ Ratio = 0.4
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 50
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = FusionPellets
+ Ratio = 0.184375
+ DumpExcess = False
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ }
+}
+
+@PART[strl-eng-1000-bcam]:NEEDS[CommunityResourcePack]
+{
+ @MODULE[ModuleEnginesFX]
+ {
+ @PROPELLANT,0
+ {
+ @name = LqdHydrogen
+ }
+ @PROPELLANT,1
+ {
+ @name = Antimatter
+ @ratio = 2
+ }
+ }
+}
+
+// @PART[strl-eng-250-mm]:NEEDS[CommunityResourcePack]
+// {
+ // RESOURCE
+ // {
+ // name = MMPU
+ // amount = 1500
+ // maxAmount = 1500
+ // }
+
+ // @MODULE[ModuleEnginesFX]
+ // {
+ // @PROPELLANT[LiquidFuel]
+ // {
+ // @name = MMPU
+ // }
+ // @PROPELLANT[ElectricCharge]
+ // {
+ // @ratio = 50
+ // }
+ // }
+// }
+
+// @PART[strl-eng-375-fszp]:NEEDS[CommunityResourcePack]
+// {
+ // @MODULE[ModuleEnginesFX],0
+ // {
+ // @PROPELLANT,0
+ // {
+ // @name = LqdDeuterium
+ // }
+ // PROPELLANT
+ // {
+ // name = LqdHe3
+ // ratio = 4
+ // }
+ // }
+ // @MODULE[ModuleEnginesFX],1
+ // {
+ // @PROPELLANT,0
+ // {
+ // @name = LqdDeuterium
+ // }
+ // PROPELLANT
+ // {
+ // name = LqdHe3
+ // ratio = 4
+ // }
+ // PROPELLANT
+ // {
+ // name = LqdHydrogen
+ // ratio = 200
+ // }
+ // }
+// }
+
+
+@PART[strl-eng-375-?cgc]
+{
+ addedCost = #$@RESOURCE_DEFINITION[EnrichedUranium]/unitCost$
+ @addedCost *= #$RESOURCE[EnrichedUranium]/maxAmount$ // #$addedCostFuelUnits$
+ @cost += #$addedCost$
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/CTT.cfg b/GameData/SterlingSystems/Engines/zPatches/CTT.cfg
new file mode 100644
index 0000000..fe3d9bc
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/CTT.cfg
@@ -0,0 +1,20 @@
+@PART[strl-eng-125-thnozbell]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = improvedNuclearPropulsion
+}
+@PART[strl-eng-375-?cgc]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = advNuclearPropulsion
+}
+@PART[strl-eng-375-mcf]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = fusionRockets
+}
+@PART[strl-eng-???-icf]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = fusionRockets
+}
+@PART[strl-eng-1000-bcam]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = antimatterPower
+}
diff --git a/GameData/SterlingSystems/Engines/zPatches/NuclearFamily/00_Tags.cfg b/GameData/SterlingSystems/Engines/zPatches/NuclearFamily/00_Tags.cfg
new file mode 100644
index 0000000..f308754
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/NuclearFamily/00_Tags.cfg
@@ -0,0 +1,8 @@
+@PART[strl-eng-*-suleu]
+{
+ STRLNF = Yes
+}
+@PART[strl-eng-*-thnozbell]
+{
+ STRLTN = Yes
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/NuclearFamily/01_CRP_Rockets.cfg b/GameData/SterlingSystems/Engines/zPatches/NuclearFamily/01_CRP_Rockets.cfg
new file mode 100644
index 0000000..38a1794
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/NuclearFamily/01_CRP_Rockets.cfg
@@ -0,0 +1,912 @@
+// Process the parts that have opted in.
+// Clone them for Oxidating agents, change the tag value to prevent loops, apply features.
+// Look for the Nuclear Family engines in the CCK category for Rational Resources.
++PART:HAS[#STRLNF[Yes],@MODULE[ModuleEngines*]]:NEEDS[!ClassicStock]
+{
+ @name ^= :$:-rr
+ @title ^= :$: [O]
+ @description ^= :$:
<#fc5a50>RR Oxidating Agent NTR. // Dark Magenta
+ @STRLNF = Joined
+ @tags ^= :$: cck-rr
+
+ IspVac = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ IspASL = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,1[1, ]$ // get ASL Isp number
+ Isp3rd = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,2[1, ]$
+ IspMult = #$IspVac$ // set numerator for div operation
+ @IspMult /= 800 // denominator, the highest vac Isp number among all targeted parts
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @IspMult += 0.005
+ @IspMult *= 100
+ @IspMult = #$IspMult[0,.]$ // regex truncate, unknown behavior but used in RO
+ @IspMult /= 100
+
+ // get thrust ASL
+ ThrustSLFraction = #$IspASL$
+ @ThrustSLFraction /= #$IspVac$
+ @ThrustSLFraction += 0.005
+ @ThrustSLFraction *= 100
+ @ThrustSLFraction = #$ThrustSLFraction[0,.]$ // regex truncate, unknown behavior but used in RO
+ @ThrustSLFraction /= 100
+
+ IspVacCO2 = 283
+ IspASLCO2 = #$IspVacCO2$ // take vac Isp
+ @IspASLCO2 *= #$ThrustSLFraction$ // get SL Isp through SL thrust fraction
+ @IspVacCO2 *= #$IspMult$ // scale Isp against default
+ @IspASLCO2 *= #$IspMult$ // scale Isp against default
+ Isp3rdCO2 = #$Isp3rd$
+ @Isp3rdCO2 *= 0.354 // 283 / 800 (scale 3rd Isp key's value by this fuel / LH2 Isp)
+ ThrustVacCO2 = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacCO2 *= 2.18 // scale thrust against first mode's maxThrust
+ ThrustASLCO2 = #$ThrustVacCO2$ // get scaled vac thrust
+ @ThrustASLCO2 *= #$ThrustSLFraction$ // get scaled SL thrust
+
+ IspVacH2O = 370
+ IspASLH2O = #$IspVacH2O$
+ @IspASLH2O *= #$ThrustSLFraction$
+ @IspVacH2O *= #$IspMult$
+ @IspASLH2O *= #$IspMult$
+ Isp3rdH2O = #$Isp3rd$
+ @Isp3rdH2O *= 0.463 // 370 / 800
+ ThrustVacH2O = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacH2O *= 1.78
+ ThrustASLH2O = #$ThrustVacH2O$
+ @ThrustASLH2O *= #$ThrustSLFraction$
+
+ %nucPwrScale = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @nucPwrScale /= 130
+ %nucFuelScale = #$mass$
+ @nucFuelScale /= 1.8
+
+ @nucPwrScale += 0.005
+ @nucPwrScale *= 100
+ @nucPwrScale = #$nucPwrScale[0,.]$ // regex truncate, unknown behavior but used in RO
+ @nucPwrScale /= 100
+
+ @nucFuelScale += 0.005
+ @nucFuelScale *= 100
+ @nucFuelScale = #$nucFuelScale[0,.]$ // regex truncate, unknown behavior but used in RO
+ @nucFuelScale /= 100
+
+ %RESOURCE[FissilePebbles]
+ {
+ %amount = 5
+ @amount *= #$/nucFuelScale$
+ %maxAmount = 5
+ @maxAmount *= #$/nucFuelScale$
+ }
+ %RESOURCE[FizzledPebbles]
+ {
+ %amount = 0
+ %maxAmount = 5
+ @maxAmount *= #$/nucFuelScale$
+ }
+ %RESOURCE[ThermalPower]
+ {
+ %amount = 400
+ @amount *= #$/nucFuelScale$
+ %maxAmount = 600
+ @maxAmount *= #$/nucFuelScale$
+ }
+ %RESOURCE[ElectricCharge]
+ {
+ %amount = 100
+ @amount *= #$/nucFuelScale$
+ %maxAmount = 100
+ @maxAmount *= #$/nucFuelScale$
+ }
+
+ !MODULE[ModuleAlternator],* {}
+ MODULE
+ {
+ name = ModuleResourceConverter
+ ConverterName = Fission Reactor
+ StartActionName = Start Reactor
+ StopActionName = Stop Reactor
+ ToggleActionName = Toggle Reactor
+ GeneratesHeat = True
+ UseSpecialistBonus = False
+ AutoShutdown = True
+ DefaultShutoffTemp = 0.675
+ TemperatureModifier
+ {
+ key = 0 8000 0 0
+ key = 600 24000 0 0
+ key = 1000 12000
+ key = 1400 0
+ }
+ @TemperatureModifier
+ {
+ @key,0[1, ] *= #$/nucPwrScale$
+ @key,1[1, ] *= #$/nucPwrScale$
+ @key,2[1, ] *= #$/nucPwrScale$
+ }
+ ThermalEfficiency
+ {
+ key = 400 0.01 0 0
+ key = 1000 1 0 0
+ key = 1350 0 -0.008 0
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = FissilePebbles
+ Ratio = 0.00000494473
+ @Ratio *= #$/nucPwrScale$
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = FizzledPebbles
+ Ratio = 0.00000494473
+ @Ratio *= #$/nucPwrScale$
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 1020
+ @Ratio *= #$/nucPwrScale$
+ DumpExcess = False
+ }
+ }
+ MODULE
+ {
+ name = ModuleResourceConverter
+ ConverterName = TEC
+ StartActionName = Start TEC
+ StopActionName = Stop TEC
+ ToggleActionName = Toggle TEC
+ IsActivated = true
+ INPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 0.05
+ @Ratio *= #$/nucPwrScale$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 30
+ @Ratio *= #$/nucPwrScale$
+ FlowMode = ALL_VESSEL
+ }
+ }
+ // MODULE
+ // {
+ // name = ModuleGenerator
+ // requiresAllInputs = true
+ // isAlwaysActive = true
+ // INPUT_RESOURCE
+ // {
+ // ResourceName = ThermalPower
+ // Ratio = 15
+ // @Ratio *= #$/nucPwrScale$
+ // FlowMode = STAGE_PRIORITY_FLOW
+ // }
+ // OUTPUT_RESOURCE
+ // {
+ // ResourceName = ElectricCharge
+ // Ratio = 9
+ // @Ratio *= #$/nucPwrScale$
+ // FlowMode = ALL_VESSEL
+ // }
+ // }
+
+ // !MODULE[MultiModeEngine] {}
+ // !MODULE[ModuleEnginesFX],1 {}
+ @MODULE[MultiModeEngine]
+ {
+ @primaryEngineID = LqdCO2
+ %primaryEngineModeDisplayName = RR_OxAgent
+ @secondaryEngineID = LOxAugmented
+ %secondaryEngineModeDisplayName = LOx_Augmented
+ }
+ @MODULE[ModuleEnginesFX],0
+ {
+ %engineID = LqdCO2
+ @maxThrust *= 2.18
+ @PROPELLANT,0
+ {
+ @name = LqdCO2
+ @ratio = 1
+ %DrawGauge = True
+ %resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 5.05581
+ // @ratio *= #$/IspMult$
+ // ignoreForIsp = True
+ // DrawGauge = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacCO2$
+ @key,1[1, ] = #$/IspASLCO2$
+ @key,2[1, ] = #$/Isp3rdCO2$
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Propellant
+ switcherDescription = Propellant
+ switcherDescriptionPlural = Propellant Options
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = CarbonD
+ title = Liquid Carbon Dioxide
+ primaryColor = WarmGrey
+ secondaryColor = WarmGrey
+ descriptionSummary = The engine consumes LqdCO2.
Impulse is as good as the average LiquidFuel rocket, and this is the most convenient option due to the great abundance of Carbon Dioxide in some planets' atmospheres.
+ descriptionDetail = #Thrust: $/ThrustASLCO2$ / $/ThrustVacCO2$ kN.
Isp: $/IspASLCO2$ / $/IspVacCO2$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = LqdCO2
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacCO2$
+ PROPELLANT
+ {
+ name = LqdCO2
+ ratio = 1
+ DrawGauge = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 5.05581
+ // @ratio *= #$/IspMult$
+ // ignoreForIsp = True
+ // DrawGauge = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacCO2$
+ @key,1[1, ] = #$/IspASLCO2$
+ @key,2[1, ] = #$/Isp3rdCO2$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Water
+ title = Water
+ primaryColor = Ocean
+ secondaryColor = Ocean
+ descriptionSummary = The engine consumes Water.
This is the more economical high thrust option, immediately superior in performance to the likes of the LV-303 and LV-909 LFO engines.
+ descriptionDetail = #Thrust: $/ThrustASLH2O$ / $/ThrustVacH2O$ kN.
Isp: $/IspASLH2O$ / $/IspVacH2O$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = LqdCO2
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacH2O$
+ PROPELLANT
+ {
+ name = Water
+ ratio = 1
+ DrawGauge = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 4.30993
+ // @ratio *= #$/IspMult$
+ // ignoreForIsp = True
+ // DrawGauge = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacH2O$
+ @key,1[1, ] = #$/IspASLH2O$
+ @key,2[1, ] = #$/Isp3rdH2O$
+ }
+ }
+ }
+ }
+ }
+
+ MODULE //:NEEDS[!SystemHeat]
+ {
+ name = ModuleOverheatDisplay
+ }
+ MODULE //:NEEDS[!SystemHeat]
+ {
+ name = ModuleCoreHeat
+ CoreTempGoal = 1000 //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.05 //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 = 1350 //At what core temperature do we shut down all generators on this part?
+ MaxCoolant = 480 //Maximum amount of radiator capacity we can consume - 50 = 1 small
+ @MaxCoolant *= #$/nucPwrScale$
+ }
+}
+
+// Process the parts that have opted in.
+// Alter the parts themselves for Reducing agents, change the tag value to prevent loops, apply features.
+@PART:HAS[#STRLNF[Yes],@MODULE[ModuleEngines*]]:NEEDS[!ClassicStock]
+{
+ @title ^= :$: [R]
+ @description ^= :$:
<#fc5a50>RR Reducing Agent NTR. // Dark Magenta
+ @STRLNF = Joined
+ @tags ^= :$: cck-rr
+
+ IspVac = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ IspASL = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,1[1, ]$ // get ASL Isp number
+ Isp3rd = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,2[1, ]$
+ IspMult = #$IspVac$ // set numerator for div operation
+ @IspMult /= 800 // denominator, the highest vac Isp number among all targeted parts
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @IspMult += 0.005
+ @IspMult *= 100
+ @IspMult = #$IspMult[0,.]$ // regex truncate, unknown behavior but used in RO
+ @IspMult /= 100
+
+ // get thrust ASL
+ ThrustSLFraction = #$IspASL$
+ @ThrustSLFraction /= #$IspVac$
+ @ThrustSLFraction += 0.005
+ @ThrustSLFraction *= 100
+ @ThrustSLFraction = #$ThrustSLFraction[0,.]$ // regex truncate, unknown behavior but used in RO
+ @ThrustSLFraction /= 100
+
+ IspVacH2 = 800
+ IspASLH2 = #$IspVacH2$ // take vac Isp
+ @IspASLH2 *= #$ThrustSLFraction$ // get SL Isp through SL thrust fraction
+ @IspVacH2 *= #$IspMult$ // scale Isp against default
+ @IspASLH2 *= #$IspMult$ // scale Isp against default
+ Isp3rdH2 = #$Isp3rd$
+ @Isp3rdH2 *= 1 // 800 / 800 (scale 3rd Isp key's value by this fuel / LH2 Isp)
+ ThrustVacH2 = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacH2 *= 1 // scale thrust against first mode's maxThrust
+ ThrustASLH2 = #$ThrustVacH2$ // get scaled vac thrust
+ @ThrustASLH2 *= #$ThrustSLFraction$ // get scaled SL thrust
+
+ IspVacCO = 253
+ IspASLCO = #$IspVacCO$ // take vac Isp
+ @IspASLCO *= #$ThrustSLFraction$ // get SL Isp through SL thrust fraction
+ @IspVacCO *= #$IspMult$ // scale Isp against default
+ @IspASLCO *= #$IspMult$ // scale Isp against default
+ Isp3rdCO = #$Isp3rd$
+ @Isp3rdCO *= 0.316 // 253 / 800 (scale 3rd Isp key's value by this fuel / LH2 Isp)
+ ThrustVacCO = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacCO *= 2.37 // scale thrust against first mode's maxThrust
+ ThrustASLCO = #$ThrustVacCO$ // get scaled vac thrust
+ @ThrustASLCO *= #$ThrustSLFraction$ // get scaled SL thrust
+
+ IspVacNH3 = 400
+ IspASLNH3 = #$IspVacNH3$
+ @IspASLNH3 *= #$ThrustSLFraction$
+ @IspVacNH3 *= #$IspMult$
+ @IspASLNH3 *= #$IspMult$
+ Isp3rdNH3 = #$Isp3rd$
+ @Isp3rdNH3 *= 0.5 // 400 / 800
+ ThrustVacNH3 = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacNH3 *= 1.68
+ ThrustASLNH3 = #$ThrustVacNH3$
+ @ThrustASLNH3 *= #$ThrustSLFraction$
+
+ IspVacN2 = 253
+ IspASLN2 = #$IspVacN2$
+ @IspASLN2 *= #$ThrustSLFraction$
+ @IspVacN2 *= #$IspMult$
+ @IspASLN2 *= #$IspMult$
+ Isp3rdN2 = #$Isp3rd$
+ @Isp3rdN2 *= 0.326 // 261 / 800
+ ThrustVacN2 = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacN2 *= 2.37
+ ThrustASLN2 = #$ThrustVacN2$
+ @ThrustASLN2 *= #$ThrustSLFraction$
+
+ IspVacCH4 = 606
+ IspASLCH4 = #$IspVacCH4$
+ @IspASLCH4 *= #$ThrustSLFraction$
+ @IspVacCH4 *= #$IspMult$
+ @IspASLCH4 *= #$IspMult$
+ Isp3rdCH4 = #$Isp3rd$
+ @Isp3rdCH4 *= 0.758 // 606 / 800
+ ThrustVacCH4 = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacCH4 *= 1.23
+ ThrustASLCH4 = #$ThrustVacCH4$
+ @ThrustASLCH4 *= #$ThrustSLFraction$
+
+ %nucPwrScale = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @nucPwrScale /= 130
+ %nucFuelScale = #$mass$
+ @nucFuelScale /= 1.8
+
+ @nucPwrScale += 0.005
+ @nucPwrScale *= 100
+ @nucPwrScale = #$nucPwrScale[0,.]$ // regex truncate, unknown behavior but used in RO
+ @nucPwrScale /= 100
+
+ @nucFuelScale += 0.005
+ @nucFuelScale *= 100
+ @nucFuelScale = #$nucFuelScale[0,.]$ // regex truncate, unknown behavior but used in RO
+ @nucFuelScale /= 100
+
+ %RESOURCE[FissilePebbles]
+ {
+ %amount = 5
+ @amount *= #$/nucFuelScale$
+ %maxAmount = 5
+ @maxAmount *= #$/nucFuelScale$
+ }
+ %RESOURCE[FizzledPebbles]
+ {
+ %amount = 0
+ %maxAmount = 5
+ @maxAmount *= #$/nucFuelScale$
+ }
+ %RESOURCE[ThermalPower]
+ {
+ %amount = 400
+ @amount *= #$/nucFuelScale$
+ %maxAmount = 600
+ @maxAmount *= #$/nucFuelScale$
+ }
+ %RESOURCE[ElectricCharge]
+ {
+ %amount = 100
+ @amount *= #$/nucFuelScale$
+ %maxAmount = 100
+ @maxAmount *= #$/nucFuelScale$
+ }
+
+ !MODULE[ModuleAlternator],* {}
+ MODULE
+ {
+ name = ModuleResourceConverter
+ ConverterName = Fission Reactor
+ StartActionName = Start Reactor
+ StopActionName = Stop Reactor
+ ToggleActionName = Toggle Reactor
+ GeneratesHeat = True
+ UseSpecialistBonus = False
+ AutoShutdown = True
+ DefaultShutoffTemp = 0.675
+ TemperatureModifier
+ {
+ key = 0 8000 0 0
+ key = 600 24000 0 0
+ key = 1000 12000
+ key = 1400 0
+ }
+ @TemperatureModifier
+ {
+ @key,0[1, ] *= #$/nucPwrScale$
+ @key,1[1, ] *= #$/nucPwrScale$
+ @key,2[1, ] *= #$/nucPwrScale$
+ }
+ ThermalEfficiency
+ {
+ key = 400 0.01 0 0
+ key = 1000 1 0 0
+ key = 1350 0 -0.008 0
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = FissilePebbles
+ Ratio = 0.00000494473
+ @Ratio *= #$/nucPwrScale$
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = FizzledPebbles
+ Ratio = 0.00000494473
+ @Ratio *= #$/nucPwrScale$
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 1020
+ @Ratio *= #$/nucPwrScale$
+ DumpExcess = False
+ }
+ }
+ MODULE
+ {
+ name = ModuleResourceConverter
+ ConverterName = TEC
+ StartActionName = Start TEC
+ StopActionName = Stop TEC
+ ToggleActionName = Toggle TEC
+ IsActivated = true
+ INPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 0.05
+ @Ratio *= #$/nucPwrScale$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 30
+ @Ratio *= #$/nucPwrScale$
+ FlowMode = ALL_VESSEL
+ }
+ }
+ // MODULE
+ // {
+ // name = ModuleGenerator
+ // requiresAllInputs = true
+ // isAlwaysActive = true
+ // INPUT_RESOURCE
+ // {
+ // ResourceName = ThermalPower
+ // Ratio = 15
+ // @Ratio *= #$/nucPwrScale$
+ // FlowMode = STAGE_PRIORITY_FLOW
+ // }
+ // OUTPUT_RESOURCE
+ // {
+ // ResourceName = ElectricCharge
+ // Ratio = 9
+ // @Ratio *= #$/nucPwrScale$
+ // FlowMode = ALL_VESSEL
+ // }
+ // }
+
+ @MODULE[MultiModeEngine]
+ {
+ @primaryEngineID = LH2
+ %primaryEngineModeDisplayName = RR_RedAgent
+ @secondaryEngineID = LOxAugmented
+ %secondaryEngineModeDisplayName = LOx_Augmented
+ }
+ @MODULE[ModuleEnginesFX],0
+ {
+ %engineID = LH2
+ @PROPELLANT,0
+ {
+ @name = LqdHydrogen
+ @ratio = 1
+ %DrawGauge = True
+ %resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 1.88149
+ // @ratio *= #$/IspMult$
+ // DrawGauge = True
+ // ignoreForIsp = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacH2$
+ @key,1[1, ] = #$/IspASLH2$
+ @key,2[1, ] = #$/Isp3rdH2$
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Propellant
+ switcherDescription = Propellant
+ switcherDescriptionPlural = Propellant Options
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Hydrogen
+ title = Liquid Hydrogen
+ primaryColor = ResourceColorLqdHydrogen
+ secondaryColor = ResourceColorLqdHydrogen
+ descriptionSummary = The engine consumes LqdHydrogen.
This is the highest efficiency, baseline option for NTRs.
+ descriptionDetail = #Thrust: $/ThrustASLH2$ / $/ThrustVacH2$ kN.
Isp: $/IspASLH2$ / $/IspVacH2$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = LH2
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacH2$
+ PROPELLANT
+ {
+ name = LqdHydrogen
+ ratio = 1
+ DrawGauge = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 1.88149
+ // @ratio *= #$/IspMult$
+ // ignoreForIsp = True
+ // DrawGauge = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacH2$
+ @key,1[1, ] = #$/IspASLH2$
+ @key,2[1, ] = #$/Isp3rdH2$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Ammonia
+ title = Liquid Ammonia
+ primaryColor = BurntRed
+ secondaryColor = BurntRed
+ descriptionSummary = The engine consumes LqdAmmonia.
This may be very niche but is made very available, the Ammonia option trades exactly half the baseline efficiency for double the thrust.
+ descriptionDetail = #Thrust: $/ThrustASLNH3$ / $/ThrustVacNH3$ kN.
Isp: $/IspASLNH3$ / $/IspVacNH3$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = LH2
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacNH3$
+ PROPELLANT
+ {
+ name = LqdAmmonia
+ ratio = 1
+ DrawGauge = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 18.38935
+ // @ratio *= #$/IspMult$
+ // ignoreForIsp = True
+ // DrawGauge = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacNH3$
+ @key,1[1, ] = #$/IspASLNH3$
+ @key,2[1, ] = #$/Isp3rdNH3$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = CarbonM
+ title = Liquid Carbon Monoxide
+ primaryColor = PurpleGrey
+ secondaryColor = PurpleGrey
+ descriptionSummary = The engine consumes LqdCO.
This is the highest thrust option among all RR NTR options and is fitting for use at inner rocky worlds with atmospheres.
+ descriptionDetail = #Thrust: $/ThrustASLCO$ / $/ThrustVacCO$ kN.
Isp: $/IspASLCO$ / $/IspVacCO$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = LH2
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacCO$
+ PROPELLANT
+ {
+ name = LqdCO
+ ratio = 1
+ DrawGauge = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 20.65934
+ // @ratio *= #$/IspMult$
+ // ignoreForIsp = True
+ // DrawGauge = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacCO$
+ @key,1[1, ] = #$/IspASLCO$
+ @key,2[1, ] = #$/Isp3rdCO$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Nitrogen
+ title = Liquid Nitrogen
+ primaryColor = PeacockBlue
+ secondaryColor = PeacockBlue
+ descriptionSummary = The engine consumes LqdNitrogen.
Nitrogen as a propellant may be very niche and is poor in terms of Isp, but it is common in planetary crusts, atmospheres, oceans, and exospheres.
+ descriptionDetail = #Thrust: $/ThrustASLN2$ / $/ThrustVacN2$ kN.
Isp: $/IspASLN2$ / $/IspVacN2$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = LH2
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacN2$
+ PROPELLANT
+ {
+ name = LqdNitrogen
+ ratio = 1
+ DrawGauge = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 21.57219
+ // @ratio *= #$/IspMult$
+ // ignoreForIsp = True
+ // DrawGauge = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacN2$
+ @key,1[1, ] = #$/IspASLN2$
+ @key,2[1, ] = #$/Isp3rdN2$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Methane
+ title = Liquid Methane
+ primaryColor = ResourceColorLqdMethane
+ secondaryColor = ResourceColorLqdMethane
+ descriptionSummary = The engine consumes LqdMethane.
This option trades a very modest portion of efficiency for thrust but makes use of the highly demanded alternative propellant for launchers and boosters.
+ descriptionDetail = #Thrust: $/ThrustASLCH4$ / $/ThrustVacCH4$ kN.
Isp: $/IspASLCH4$ / $/IspVacCH4$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = LH2
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacCH4$
+ PROPELLANT
+ {
+ name = LqdMethane
+ ratio = 1
+ DrawGauge = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 11.15884
+ // @ratio *= #$/IspMult$
+ // ignoreForIsp = True
+ // DrawGauge = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacCH4$
+ @key,1[1, ] = #$/IspASLCH4$
+ @key,2[1, ] = #$/Isp3rdCH4$
+ }
+ }
+ }
+ }
+ }
+ MODULE //:NEEDS[!SystemHeat]
+ {
+ name = ModuleOverheatDisplay
+ }
+ MODULE //:NEEDS[!SystemHeat]
+ {
+ name = ModuleCoreHeat
+ CoreTempGoal = 1000 //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.05 //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 = 1350 //At what core temperature do we shut down all generators on this part?
+ MaxCoolant = 480 //Maximum amount of radiator capacity we can consume - 50 = 1 small
+ @MaxCoolant *= #$/nucPwrScale$
+ }
+}
+
+@PART:HAS[#STRLNF[Joined],@MODULE[ModuleEngines*],@MODULE[MultiModeEngine]]:NEEDS[!ClassicStock]
+{
+ @MODULE[ModuleEnginesFX],1
+ {
+ %engineID = LOxAugmented
+ @PROPELLANT,0
+ {
+ @name = LqdHydrogen
+ @ratio = 1.5
+ %DrawGauge = True
+ %resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ @PROPELLANT[Oxidizer]
+ {
+ @ratio = 0.1
+ %DrawGauge = True
+ %resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 1.88149
+ // @ratio *= #$/IspMult$
+ // ignoreForIsp = True
+ // DrawGauge = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ @atmosphereCurve
+ {
+ @key,*[1, ] *= 1.2
+ }
+ @atmosphereCurve
+ {
+ @key,0 = 0 544
+ @key,1 = 1 381
+ @key,2 = 4 0.001
+ @key,0[1, ] *= #$/IspMult$
+ @key,1[1, ] *= #$/IspMult$
+ // @key,2[1, ] *= #$/IspMult$
+ }
+ }
+}
+
+// clean-up
+@PART:HAS[#STRLNF[Joined]]:AFTER[RationalResourcesNuclearFamily]
+{
+ !Isp* = nope
+ !Thrust* = nope
+ !nuc* = nope
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/NuclearFamily/01_CRP_ThermalNozzles.cfg b/GameData/SterlingSystems/Engines/zPatches/NuclearFamily/01_CRP_ThermalNozzles.cfg
new file mode 100644
index 0000000..c5ffe36
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/NuclearFamily/01_CRP_ThermalNozzles.cfg
@@ -0,0 +1,1027 @@
+// Process the parts that have opted in.
+// Clone them for Oxidating agents, change the tag value to prevent loops, apply features.
+// Look for the Nuclear Family engines in the CCK category for Rational Resources.
+
+@PART:HAS[#STRLTN[Yes],@MODULE[ModuleEngines*],!MODULE[MultiModeEngine]]:NEEDS[!ClassicStock]
+{
+ @description ^= :$:
<#fc5a50>RR Thermal Nozzle. // Dark Magenta
+ @STRLTN = Joined
+ @tags ^= :$: cck-rr
+
+ IspVac = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ IspASL = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,1[1, ]$ // get ASL Isp number
+ Isp3rd = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,2[1, ]$
+ IspMult = #$IspVac$ // set numerator for div operation
+ @IspMult /= 800 // denominator, the lowest vac Isp number among all targeted parts
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @IspMult += 0.005
+ @IspMult *= 100
+ @IspMult = #$IspMult[0,.]$ // regex truncate, unknown behavior but used in RO
+ @IspMult /= 100
+
+ // get thrust ASL
+ ThrustSLFraction = #$IspASL$
+ @ThrustSLFraction /= #$IspVac$
+ @ThrustSLFraction += 0.005
+ @ThrustSLFraction *= 100
+ @ThrustSLFraction = #$ThrustSLFraction[0,.]$ // regex truncate, unknown behavior but used in RO
+ @ThrustSLFraction /= 100
+
+ IspVacH2 = 800
+ IspASLH2 = #$IspVacH2$ // take vac Isp
+ @IspASLH2 *= #$ThrustSLFraction$ // get SL Isp through SL thrust fraction
+ @IspVacH2 *= #$IspMult$ // scale Isp against default
+ @IspASLH2 *= #$IspMult$ // scale Isp against default
+ Isp3rdH2 = #$Isp3rd$
+ @Isp3rdH2 *= 1 // 800 / 800 (scale 3rd Isp key's value by this fuel / LH2 Isp)
+ ThrustVacH2 = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacH2 *= 1 // scale thrust against first mode's maxThrust
+ ThrustASLH2 = #$ThrustVacH2$ // get scaled vac thrust
+ @ThrustASLH2 *= #$ThrustSLFraction$ // get scaled SL thrust
+
+ IspVacCO = 253
+ IspASLCO = #$IspVacCO$ // take vac Isp
+ @IspASLCO *= #$ThrustSLFraction$ // get SL Isp through SL thrust fraction
+ @IspVacCO *= #$IspMult$ // scale Isp against default
+ @IspASLCO *= #$IspMult$ // scale Isp against default
+ Isp3rdCO = #$Isp3rd$
+ @Isp3rdCO *= 0.316 // 253 / 800 (scale 3rd Isp key's value by this fuel / LH2 Isp)
+ ThrustVacCO = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacCO *= 2.37 // scale thrust against first mode's maxThrust
+ ThrustASLCO = #$ThrustVacCO$ // get scaled vac thrust
+ @ThrustASLCO *= #$ThrustSLFraction$ // get scaled SL thrust
+
+ IspVacNH3 = 400
+ IspASLNH3 = #$IspVacNH3$
+ @IspASLNH3 *= #$ThrustSLFraction$
+ @IspVacNH3 *= #$IspMult$
+ @IspASLNH3 *= #$IspMult$
+ Isp3rdNH3 = #$Isp3rd$
+ @Isp3rdNH3 *= 0.5 // 400 / 800
+ ThrustVacNH3 = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacNH3 *= 1.68
+ ThrustASLNH3 = #$ThrustVacNH3$
+ @ThrustASLNH3 *= #$ThrustSLFraction$
+
+ IspVacN2 = 253
+ IspASLN2 = #$IspVacN2$
+ @IspASLN2 *= #$ThrustSLFraction$
+ @IspVacN2 *= #$IspMult$
+ @IspASLN2 *= #$IspMult$
+ Isp3rdN2 = #$Isp3rd$
+ @Isp3rdN2 *= 0.326 // 261 / 800
+ ThrustVacN2 = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacN2 *= 2.37
+ ThrustASLN2 = #$ThrustVacN2$
+ @ThrustASLN2 *= #$ThrustSLFraction$
+
+ IspVacCH4 = 606
+ IspASLCH4 = #$IspVacCH4$
+ @IspASLCH4 *= #$ThrustSLFraction$
+ @IspVacCH4 *= #$IspMult$
+ @IspASLCH4 *= #$IspMult$
+ Isp3rdCH4 = #$Isp3rd$
+ @Isp3rdCH4 *= 0.758 // 606 / 800
+ ThrustVacCH4 = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacCH4 *= 1.23
+ ThrustASLCH4 = #$ThrustVacCH4$
+ @ThrustASLCH4 *= #$ThrustSLFraction$
+
+ IspVacCO2 = 283
+ IspASLCO2 = #$IspVacCO2$ // take vac Isp
+ @IspASLCO2 *= #$ThrustSLFraction$ // get SL Isp through SL thrust fraction
+ @IspVacCO2 *= #$IspMult$ // scale Isp against default
+ @IspASLCO2 *= #$IspMult$ // scale Isp against default
+ Isp3rdCO2 = #$Isp3rd$
+ @Isp3rdCO2 *= 0.354 // 283 / 800 (scale 3rd Isp key's value by this fuel / LH2 Isp)
+ ThrustVacCO2 = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacCO2 *= 2.18 // scale thrust against first mode's maxThrust
+ ThrustASLCO2 = #$ThrustVacCO2$ // get scaled vac thrust
+ @ThrustASLCO2 *= #$ThrustSLFraction$ // get scaled SL thrust
+
+ IspVacH2O = 370
+ IspASLH2O = #$IspVacH2O$
+ @IspASLH2O *= #$ThrustSLFraction$
+ @IspVacH2O *= #$IspMult$
+ @IspASLH2O *= #$IspMult$
+ Isp3rdH2O = #$Isp3rd$
+ @Isp3rdH2O *= 0.463 // 370 / 800
+ ThrustVacH2O = #$MODULE[ModuleEnginesFX],0/maxThrust$
+ @ThrustVacH2O *= 1.78
+ ThrustASLH2O = #$ThrustVacH2O$
+ @ThrustASLH2O *= #$ThrustSLFraction$
+
+ !MODULE[ModuleAlternator],* {}
+ @MODULE[ModuleEnginesFX],0
+ {
+ !PROPELLANT,* {}
+ PROPELLANT
+ {
+ name = LqdHydrogen
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 1.88149
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacH2$
+ @key,1[1, ] = #$/IspASLH2$
+ @key,2[1, ] = #$/Isp3rdH2$
+ }
+ %useThrustCurve = True
+ %thrustCurve
+ {
+ !key,* = nope
+ key = 0.1 0.1
+ key = 0.8 1 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Propellant
+ switcherDescription = Propellant
+ switcherDescriptionPlural = Propellant Options
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Hydrogen
+ title = Liquid Hydrogen
+ primaryColor = ResourceColorLqdHydrogen
+ secondaryColor = ResourceColorLqdHydrogen
+ descriptionSummary = The engine consumes LqdHydrogen.
This is the highest efficiency, baseline option for Thermal Nozzles.
+ descriptionDetail = #Thrust: $/ThrustASLH2$ / $/ThrustVacH2$ kN.
Isp: $/IspASLH2$ / $/IspVacH2$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacH2$
+ PROPELLANT
+ {
+ name = LqdHydrogen
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 1.88149
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacH2$
+ @key,1[1, ] = #$/IspASLH2$
+ @key,2[1, ] = #$/Isp3rdH2$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Ammonia
+ title = Liquid Ammonia
+ primaryColor = BurntRed
+ secondaryColor = BurntRed
+ descriptionSummary = The engine consumes LqdAmmonia.
This may be very niche but is made very available, the Ammonia option trades exactly half the baseline efficiency for double the thrust.
+ descriptionDetail = #Thrust: $/ThrustASLNH3$ / $/ThrustVacNH3$ kN.
Isp: $/IspASLNH3$ / $/IspVacNH3$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacNH3$
+ PROPELLANT
+ {
+ name = LqdAmmonia
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 18.38935
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacNH3$
+ @key,1[1, ] = #$/IspASLNH3$
+ @key,2[1, ] = #$/Isp3rdNH3$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = CarbonD
+ title = Liquid Carbon Dioxide
+ primaryColor = WarmGrey
+ secondaryColor = WarmGrey
+ descriptionSummary = The engine consumes LqdCO2.
Impulse is as good as the average LiquidFuel rocket, and this is the most convenient option due to the great abundance of Carbon Dioxide in some planets' atmospheres.
+ descriptionDetail = #Thrust: $/ThrustASLCO2$ / $/ThrustVacCO2$ kN.
Isp: $/IspASLCO2$ / $/IspVacCO2$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacCO2$
+ PROPELLANT
+ {
+ name = LqdCO2
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 5.05581
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacCO2$
+ @key,1[1, ] = #$/IspASLCO2$
+ @key,2[1, ] = #$/Isp3rdCO2$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = CarbonM
+ title = Liquid Carbon Monoxide
+ primaryColor = PurpleGrey
+ secondaryColor = PurpleGrey
+ descriptionSummary = The engine consumes LqdCO.
This is the highest thrust option among all RR Thermal Nozzle options and is fitting for use at inner rocky worlds with atmospheres.
+ descriptionDetail = #Thrust: $/ThrustASLCO$ / $/ThrustVacCO$ kN.
Isp: $/IspASLCO$ / $/IspVacCO$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacCO$
+ PROPELLANT
+ {
+ name = LqdCO
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 20.65934
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacCO$
+ @key,1[1, ] = #$/IspASLCO$
+ @key,2[1, ] = #$/Isp3rdCO$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Methane
+ title = Liquid Methane
+ primaryColor = ResourceColorLqdMethane
+ secondaryColor = ResourceColorLqdMethane
+ descriptionSummary = The engine consumes LqdMethane.
This option trades a very modest portion of efficiency for thrust but makes use of the highly demanded alternative propellant for launchers and boosters.
+ descriptionDetail = #Thrust: $/ThrustASLCH4$ / $/ThrustVacCH4$ kN.
Isp: $/IspASLCH4$ / $/IspVacCH4$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacCH4$
+ PROPELLANT
+ {
+ name = LqdMethane
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 11.15884
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacCH4$
+ @key,1[1, ] = #$/IspASLCH4$
+ @key,2[1, ] = #$/Isp3rdCH4$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Nitrogen
+ title = Liquid Nitrogen
+ primaryColor = PeacockBlue
+ secondaryColor = PeacockBlue
+ descriptionSummary = The engine consumes LqdNitrogen.
Nitrogen as a propellant may be very niche and is poor in terms of Isp, but it is common in planetary crusts, atmospheres, oceans, and exospheres.
+ descriptionDetail = #Thrust: $/ThrustASLN2$ / $/ThrustVacN2$ kN.
Isp: $/IspASLN2$ / $/IspVacN2$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacN2$
+ PROPELLANT
+ {
+ name = LqdNitrogen
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 21.57219
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacN2$
+ @key,1[1, ] = #$/IspASLN2$
+ @key,2[1, ] = #$/Isp3rdN2$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Water
+ title = Water
+ primaryColor = Ocean
+ secondaryColor = Ocean
+ descriptionSummary = The engine consumes Water.
This is the more economical high thrust option, immediately superior in performance to the likes of the LV-303 and LV-909 LFO engines.
+ descriptionDetail = #Thrust: $/ThrustASLH2O$ / $/ThrustVacH2O$ kN.
Isp: $/IspASLH2O$ / $/IspVacH2O$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacH2O$
+ PROPELLANT
+ {
+ name = Water
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 4.30993
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacH2O$
+ @key,1[1, ] = #$/IspASLH2O$
+ @key,2[1, ] = #$/Isp3rdH2O$
+ }
+ }
+ }
+ }
+ }
+}
+
+// Dual-mode engines; Affect only closed cycle mode unless also RRLATN
+@PART:HAS[#STRLTN[Yes],@MODULE[ModuleEngines*],@MODULE[MultiModeEngine]]:NEEDS[!ClassicStock]
+{
+ @description ^= :$:
<#fc5a50>RR Thermal Nozzle. // Dark Magenta
+ @STRLTN = Joined
+ @tags ^= :$: cck-rr
+
+ IspVac = #$MODULE[ModuleEnginesFX],1/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ IspASL = #$MODULE[ModuleEnginesFX],1/atmosphereCurve/key,1[1, ]$ // get ASL Isp number
+ Isp3rd = #$MODULE[ModuleEnginesFX],1/atmosphereCurve/key,2[1, ]$
+ IspMult = #$IspVac$ // set numerator for div operation
+ @IspMult /= 800 // denominator, the highest vac Isp number among all targeted parts
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @IspMult += 0.005
+ @IspMult *= 100
+ @IspMult = #$IspMult[0,.]$ // regex truncate, unknown behavior but used in RO
+ @IspMult /= 100
+
+ // get thrust ASL
+ ThrustSLFraction = #$IspASL$
+ @ThrustSLFraction /= #$IspVac$
+ @ThrustSLFraction += 0.005
+ @ThrustSLFraction *= 100
+ @ThrustSLFraction = #$ThrustSLFraction[0,.]$ // regex truncate, unknown behavior but used in RO
+ @ThrustSLFraction /= 100
+
+ IspVacH2 = 800
+ IspASLH2 = #$IspVacH2$ // take vac Isp
+ @IspASLH2 *= #$ThrustSLFraction$ // get SL Isp through SL thrust fraction
+ @IspVacH2 *= #$IspMult$ // scale Isp against default
+ @IspASLH2 *= #$IspMult$ // scale Isp against default
+ Isp3rdH2 = #$Isp3rd$
+ @Isp3rdH2 *= 1 // 800 / 800 (scale 3rd Isp key's value by this fuel / LH2 Isp)
+ ThrustVacH2 = #$MODULE[ModuleEnginesFX],1/maxThrust$
+ @ThrustVacH2 *= 1 // scale thrust against first mode's maxThrust
+ ThrustASLH2 = #$ThrustVacH2$ // get scaled vac thrust
+ @ThrustASLH2 *= #$ThrustSLFraction$ // get scaled SL thrust
+
+ IspVacCO = 253
+ IspASLCO = #$IspVacCO$ // take vac Isp
+ @IspASLCO *= #$ThrustSLFraction$ // get SL Isp through SL thrust fraction
+ @IspVacCO *= #$IspMult$ // scale Isp against default
+ @IspASLCO *= #$IspMult$ // scale Isp against default
+ Isp3rdCO = #$Isp3rd$
+ @Isp3rdCO *= 0.316 // 253 / 800 (scale 3rd Isp key's value by this fuel / LH2 Isp)
+ ThrustVacCO = #$MODULE[ModuleEnginesFX],1/maxThrust$
+ @ThrustVacCO *= 2.37 // scale thrust against first mode's maxThrust
+ ThrustASLCO = #$ThrustVacCO$ // get scaled vac thrust
+ @ThrustASLCO *= #$ThrustSLFraction$ // get scaled SL thrust
+
+ IspVacNH3 = 400
+ IspASLNH3 = #$IspVacNH3$
+ @IspASLNH3 *= #$ThrustSLFraction$
+ @IspVacNH3 *= #$IspMult$
+ @IspASLNH3 *= #$IspMult$
+ Isp3rdNH3 = #$Isp3rd$
+ @Isp3rdNH3 *= 0.5 // 400 / 800
+ ThrustVacNH3 = #$MODULE[ModuleEnginesFX],1/maxThrust$
+ @ThrustVacNH3 *= 1.68
+ ThrustASLNH3 = #$ThrustVacNH3$
+ @ThrustASLNH3 *= #$ThrustSLFraction$
+
+ IspVacN2 = 253
+ IspASLN2 = #$IspVacN2$
+ @IspASLN2 *= #$ThrustSLFraction$
+ @IspVacN2 *= #$IspMult$
+ @IspASLN2 *= #$IspMult$
+ Isp3rdN2 = #$Isp3rd$
+ @Isp3rdN2 *= 0.326 // 261 / 800
+ ThrustVacN2 = #$MODULE[ModuleEnginesFX],1/maxThrust$
+ @ThrustVacN2 *= 2.37
+ ThrustASLN2 = #$ThrustVacN2$
+ @ThrustASLN2 *= #$ThrustSLFraction$
+
+ IspVacCH4 = 606
+ IspASLCH4 = #$IspVacCH4$
+ @IspASLCH4 *= #$ThrustSLFraction$
+ @IspVacCH4 *= #$IspMult$
+ @IspASLCH4 *= #$IspMult$
+ Isp3rdCH4 = #$Isp3rd$
+ @Isp3rdCH4 *= 0.758 // 606 / 800
+ ThrustVacCH4 = #$MODULE[ModuleEnginesFX],1/maxThrust$
+ @ThrustVacCH4 *= 1.23
+ ThrustASLCH4 = #$ThrustVacCH4$
+ @ThrustASLCH4 *= #$ThrustSLFraction$
+
+ IspVacCO2 = 283
+ IspASLCO2 = #$IspVacCO2$ // take vac Isp
+ @IspASLCO2 *= #$ThrustSLFraction$ // get SL Isp through SL thrust fraction
+ @IspVacCO2 *= #$IspMult$ // scale Isp against default
+ @IspASLCO2 *= #$IspMult$ // scale Isp against default
+ Isp3rdCO2 = #$Isp3rd$
+ @Isp3rdCO2 *= 0.354 // 283 / 800 (scale 3rd Isp key's value by this fuel / LH2 Isp)
+ ThrustVacCO2 = #$MODULE[ModuleEnginesFX],1/maxThrust$
+ @ThrustVacCO2 *= 2.18 // scale thrust against first mode's maxThrust
+ ThrustASLCO2 = #$ThrustVacCO2$ // get scaled vac thrust
+ @ThrustASLCO2 *= #$ThrustSLFraction$ // get scaled SL thrust
+
+ IspVacH2O = 370
+ IspASLH2O = #$IspVacH2O$
+ @IspASLH2O *= #$ThrustSLFraction$
+ @IspVacH2O *= #$IspMult$
+ @IspASLH2O *= #$IspMult$
+ Isp3rdH2O = #$Isp3rd$
+ @Isp3rdH2O *= 0.463 // 370 / 800
+ ThrustVacH2O = #$MODULE[ModuleEnginesFX],1/maxThrust$
+ @ThrustVacH2O *= 1.78
+ ThrustASLH2O = #$ThrustVacH2O$
+ @ThrustASLH2O *= #$ThrustSLFraction$
+
+ // @MODULE[ModuleEnginesFX],0
+ // {
+ // @maxThrust = #$/ThrustVacN2$
+ // !PROPELLANT,* {}
+ // PROPELLANT
+ // {
+ // name = IntakeAtm
+ // ratio = 1
+ // DrawGauge = True
+ // ignoreForThrustCurve = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ // PROPELLANT
+ // {
+ // name = ThermalPower
+ // ratio = 21.57219 // Nitrogen
+ // @ratio *= #$/IspMult$
+ // DrawGauge = True
+ // ignoreForIsp = True
+ // resourceFlowMode = STAGE_PRIORITY_FLOW
+ // }
+ // @atmosphereCurve
+ // {
+ // @key,0[1, ] = #$/IspVacN2$
+ // @key,1[1, ] = #$/IspASLN2$
+ // @key,2[1, ] = #$/Isp3rdN2$
+ // }
+ // %useThrustCurve = True
+ // %thrustCurve
+ // {
+ // !key,* = nope
+ // key = 0.1 0.1
+ // key = 0.8 1 0 0
+ // }
+ // }
+
+ @MODULE[ModuleEnginesFX],1
+ {
+ @PROPELLANT,0
+ {
+ @name = LqdHydrogen
+ @ratio = 1
+ %DrawGauge = True
+ %ignoreForThrustCurve = True
+ %resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ %PROPELLANT[ThermalPower]
+ {
+ %ratio = 1.88149
+ @ratio *= #$/IspMult$
+ %DrawGauge = True
+ %ignoreForIsp = True
+ %resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacH2$
+ @key,1[1, ] = #$/IspASLH2$
+ @key,2[1, ] = #$/Isp3rdH2$
+ }
+ %useThrustCurve = True
+ %thrustCurve
+ {
+ !key,* = nope
+ key = 0.1 0.1
+ key = 0.8 1 0 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Propellant
+ switcherDescription = Propellant
+ switcherDescriptionPlural = Propellant Options
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Hydrogen
+ title = Liquid Hydrogen
+ primaryColor = ResourceColorLqdHydrogen
+ secondaryColor = ResourceColorLqdHydrogen
+ descriptionSummary = The engine consumes LqdHydrogen.
This is the highest efficiency, baseline option for Thermal Nozzles.
+ descriptionDetail = #Thrust: $/ThrustASLH2$ / $/ThrustVacH2$ kN.
Isp: $/IspASLH2$ / $/IspVacH2$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacH2$
+ PROPELLANT
+ {
+ name = LqdHydrogen
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 1.88149
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,1[1, ] = #$/IspVacH2$
+ @key,1[1, ] = #$/IspASLH2$
+ @key,2[1, ] = #$/Isp3rdH2$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Ammonia
+ title = Liquid Ammonia
+ primaryColor = BurntRed
+ secondaryColor = BurntRed
+ descriptionSummary = The engine consumes LqdAmmonia.
This may be very niche but is made very available, the Ammonia option trades exactly half the baseline efficiency for double the thrust.
+ descriptionDetail = #Thrust: $/ThrustASLNH3$ / $/ThrustVacNH3$ kN.
Isp: $/IspASLNH3$ / $/IspVacNH3$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacNH3$
+ PROPELLANT
+ {
+ name = LqdAmmonia
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 18.38935
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,1[1, ] = #$/IspVacNH3$
+ @key,1[1, ] = #$/IspASLNH3$
+ @key,2[1, ] = #$/Isp3rdNH3$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = CarbonD
+ title = Liquid Carbon Dioxide
+ primaryColor = WarmGrey
+ secondaryColor = WarmGrey
+ descriptionSummary = The engine consumes LqdCO2.
Impulse is as good as the average LiquidFuel rocket, and this is the most convenient option due to the great abundance of Carbon Dioxide in some planets' atmospheres.
+ descriptionDetail = #Thrust: $/ThrustASLCO2$ / $/ThrustVacCO2$ kN.
Isp: $/IspASLCO2$ / $/IspVacCO2$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacCO2$
+ PROPELLANT
+ {
+ name = LqdCO2
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 5.05581
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacCO2$
+ @key,1[1, ] = #$/IspASLCO2$
+ @key,2[1, ] = #$/Isp3rdCO2$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = CarbonM
+ title = Liquid Carbon Monoxide
+ primaryColor = PurpleGrey
+ secondaryColor = PurpleGrey
+ descriptionSummary = The engine consumes LqdCO.
This is the highest thrust option among all RR Thermal Nozzle options and is fitting for use at inner rocky worlds with atmospheres.
+ descriptionDetail = #Thrust: $/ThrustASLCO$ / $/ThrustVacCO$ kN.
Isp: $/IspASLCO$ / $/IspVacCO$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacCO$
+ PROPELLANT
+ {
+ name = LqdCO
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 20.65934
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,1[1, ] = #$/IspVacCO$
+ @key,1[1, ] = #$/IspASLCO$
+ @key,2[1, ] = #$/Isp3rdCO$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Methane
+ title = Liquid Methane
+ primaryColor = ResourceColorLqdMethane
+ secondaryColor = ResourceColorLqdMethane
+ descriptionSummary = The engine consumes LqdMethane.
This option trades a very modest portion of efficiency for thrust but makes use of the highly demanded alternative propellant for launchers and boosters.
+ descriptionDetail = #Thrust: $/ThrustASLCH4$ / $/ThrustVacCH4$ kN.
Isp: $/IspASLCH4$ / $/IspVacCH4$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacCH4$
+ PROPELLANT
+ {
+ name = LqdMethane
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 11.15884
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacCH4$
+ @key,1[1, ] = #$/IspASLCH4$
+ @key,2[1, ] = #$/Isp3rdCH4$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Nitrogen
+ title = Liquid Nitrogen
+ primaryColor = PeacockBlue
+ secondaryColor = PeacockBlue
+ descriptionSummary = The engine consumes LqdNitrogen.
Nitrogen as a propellant may be very niche and is poor in terms of Isp, but it is common in planetary crusts, atmospheres, oceans, and exospheres.
+ descriptionDetail = #Thrust: $/ThrustASLN2$ / $/ThrustVacN2$ kN.
Isp: $/IspASLN2$ / $/IspVacN2$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacN2$
+ PROPELLANT
+ {
+ name = LqdNitrogen
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 21.57219
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacN2$
+ @key,1[1, ] = #$/IspASLN2$
+ @key,2[1, ] = #$/Isp3rdN2$
+ }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = Water
+ title = Water
+ primaryColor = Ocean
+ secondaryColor = Ocean
+ descriptionSummary = The engine consumes Water.
This is the more economical high thrust option, immediately superior in performance to the likes of the LV-303 and LV-909 LFO engines.
+ descriptionDetail = #Thrust: $/ThrustASLH2O$ / $/ThrustVacH2O$ kN.
Isp: $/IspASLH2O$ / $/IspVacH2O$ s.
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleEnginesFX
+ engineID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ }
+ DATA
+ {
+ maxThrust = #$/ThrustVacH2O$
+ PROPELLANT
+ {
+ name = Water
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 4.30993
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ #/MODULE[ModuleEnginesFX]/atmosphereCurve {}
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacH2O$
+ @key,1[1, ] = #$/IspASLH2O$
+ @key,2[1, ] = #$/Isp3rdH2O$
+ }
+ }
+ }
+ }
+ }
+}
+
+// Affect air-breathing mode if rocket, not fan
+@PART:HAS[#RRLATN[Yes],@MODULE[ModuleEngines*],@MODULE[MultiModeEngine]]:NEEDS[!ClassicStock]
+{
+ @RRLATN = Joined
+ @MODULE[ModuleEnginesFX],0
+ {
+ @maxThrust = #$/ThrustVacN2$
+ !PROPELLANT,* {}
+ PROPELLANT
+ {
+ name = IntakeAtm
+ ratio = 1
+ DrawGauge = True
+ ignoreForThrustCurve = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ PROPELLANT
+ {
+ name = ThermalPower
+ ratio = 21.57219 // Nitrogen
+ @ratio *= #$/IspMult$
+ DrawGauge = True
+ ignoreForIsp = True
+ resourceFlowMode = STAGE_PRIORITY_FLOW
+ }
+ @atmosphereCurve
+ {
+ @key,0[1, ] = #$/IspVacN2$
+ @key,1[1, ] = #$/IspASLN2$
+ @key,2[1, ] = #$/Isp3rdN2$
+ }
+ %useThrustCurve = True
+ %thrustCurve
+ {
+ !key,* = nope
+ key = 0.1 0.1
+ key = 0.8 1 0 0
+ }
+ }
+}
+
+// clean-up
+@PART:HAS[#STRLTN[Joined]]:AFTER[RationalResourcesNuclearFamily]
+{
+ !Isp* = nope
+ !Thrust* = nope
+ !nuc* = nope
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/SystemHeatAntimatterEngines.cfg b/GameData/SterlingSystems/Engines/zPatches/SystemHeatAntimatterEngines.cfg
new file mode 100644
index 0000000..c02ef57
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/SystemHeatAntimatterEngines.cfg
@@ -0,0 +1,53 @@
+// BCAM
+@PART[strl-eng-1000-bcam]:NEEDS[SystemHeat]
+{
+ refPowerAScale = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ @refPowerAScale /= 1050000 // FFT BCAM engine
+
+ refPowerA1Scale = #$MODULE[ModuleEnginesFX],0/maxThrust$ // get max thrust number
+ @refPowerA1Scale /= 4000
+
+ @refPowerAScale *= #$refPowerA1Scale$
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @refPowerAScale += 0.005
+ @refPowerAScale *= 100
+ @refPowerAScale = #$refPowerAScale[0,.]$ // regex truncate, unknown behavior but used in RO
+ @refPowerAScale /= 100
+ @MODULE[ModuleEngines*]
+ {
+ @heatProduction = 0
+ }
+
+ MODULE
+ {
+ name = ModuleSystemHeat
+ // Cubic metres
+ volume = #$/mass$
+ @volume /= 3
+ moduleID = engine
+ iconName = Icon_Atom
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatEngine
+ // must be unique
+ moduleID = engine
+ // ModuleSystemHeat to link to
+ systemHeatModuleID = engine
+ engineModuleID = AntimatterBeam
+ // in KW at peak output
+ systemPower = 36000 // x0.1 as Sterling BCAM has 10x Isp to be playable
+ @systemPower *= #$/refPowerAScale$
+
+ // Nominal system output temperature
+ systemOutletTemperature = 1800
+ // Valid system temperature range
+ temperatureCurve
+ {
+ key = 0 1 0 0
+ key = 1800 1 0 0
+ key = 2200 0 0 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/SystemHeatConverters.cfg b/GameData/SterlingSystems/Engines/zPatches/SystemHeatConverters.cfg
new file mode 100644
index 0000000..1d9f63c
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/SystemHeatConverters.cfg
@@ -0,0 +1,61 @@
+@PART[strl-eng-500-icf]:NEEDS[CommunityResourcePack,SystemHeatConverters]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ // Cubic metres
+ volume = #$/mass$
+ @volume *= 0.1
+ moduleID = isru
+ iconName = Icon_Gears
+ currentLoopID = 1
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_converter_thermoelectric
+ systemHeatModuleID = isru
+ shutdownTemperature = 800
+ systemOutletTemperature = 600 // temp for freeing water from hydrate regolith. other values could be: 400k for production of hydrazine, 5-600k for decomposition of hydrates, 700 for sabatier process, 373-1000k for high temp electrolysis of water.
+ systemPower = 45 // let's assume 90% of EC usage turns into heat.
+ systemEfficiency
+ {
+ key = 0 0.0
+ key = 300 1.0
+ key = 1000 1.0
+ key = 1300 0.0
+ }
+ ConverterName = FusionPellets
+ StartActionName = Start ISRU [FusionPellets]
+ StopActionName = Stop ISRU [FusionPellets]
+ ToggleActionName = Toggle ISRU [FusionPellets]
+ FillAmount = 1
+ AutoShutdown = False
+ GeneratesHeat = False
+ UseSpecialistBonus = False
+ INPUT_RESOURCE
+ {
+ ResourceName = LqdDeuterium
+ Ratio = 0.1
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = LqdHe3
+ Ratio = 0.4
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 50
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = FusionPellets
+ Ratio = 0.184375
+ DumpExcess = False
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/SystemHeatFissionEngines.cfg b/GameData/SterlingSystems/Engines/zPatches/SystemHeatFissionEngines.cfg
new file mode 100644
index 0000000..f1015b5
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/SystemHeatFissionEngines.cfg
@@ -0,0 +1,268 @@
+// Solid core NTR
+@PART[strl-eng-*-suleu]:HAS[!RESOURCE[FissilePebbles]]:NEEDS[SystemHeat,!RationalResourcesNuclearFamily]
+{
+ %nucFuelScale = #$mass$
+ @nucFuelScale /= 1.8
+ %RESOURCE[FissilePebbles]
+ {
+ %amount = 5
+ @amount *= #$/nucFuelScale$
+ %maxAmount = 5
+ @maxAmount *= #$/nucFuelScale$
+ }
+ %RESOURCE[FizzledPebbles]
+ {
+ %amount = 0
+ %maxAmount = 5
+ @maxAmount *= #$/nucFuelScale$
+ }
+}
+@PART[strl-eng-*-suleu]:HAS[@RESOURCE[FissilePebbles]]:NEEDS[SystemHeat]
+{
+ refPowerAScale = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ @refPowerAScale /= 800 // Squad NERV
+
+ refPowerBScale = #$MODULE[ModuleEnginesFX],0/maxThrust$ // get max thrust number
+ @refPowerBScale /= 60 // Squad NERV
+
+ @refPowerAScale *= #$refPowerBScale$
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @refPowerAScale += 0.005
+ @refPowerAScale *= 100
+ @refPowerAScale = #$refPowerAScale[0,.]$ // regex truncate, unknown behavior but used in RO
+ @refPowerAScale /= 100
+
+ @MODULE[ModuleEngines*]
+ {
+ @heatProduction = 0
+ }
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/mass$
+ @volume /= 3
+ moduleID = engine
+ iconName = Icon_Nuclear
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatEngine
+ // must be unique
+ moduleID = engineHeat
+ // ModuleSystemHeat to link to
+ systemHeatModuleID = reactor
+ // in KW at peak output
+ systemPower = 200
+ @systemPower *= #$/refPowerAScale$
+
+ // Nominal system output temperature
+ systemOutletTemperature = 1300
+
+ shutdownTemperature = 1600
+ // Valid system temperature range
+ temperatureCurve
+ {
+ key = 0 1
+ key = 1300 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_reactor_fission // Fission Reactor
+ systemHeatModuleID = reactor
+ shutdownTemperature = 1600
+ systemOutletTemperature = 1300 // temp for freeing water from hydrate regolith. other values could be: 400k for production of hydrazine, 5-600k for decomposition of hydrates, 700 for sabatier process, 373-1000k for high temp electrolysis of water.
+ systemPower = 1275 // 0.5% net energy
+ @systemPower *= #$/nucFuelScale$
+ systemEfficiency
+ {
+ key = 0 1
+ key = 1 1
+ }
+ ConverterName = #LOC_strl_reactor_fission // Fission Reactor
+ StartActionName = #LOC_strl_reactor_start // Start Reactor
+ StopActionName = #LOC_strl_reactor_stop // Stop Reactor
+ ToggleActionName = #LOC_strl_reactor_toggle //Toggle Reactor
+ FillAmount = 1
+ AutoShutdown = False
+ GeneratesHeat = False
+ UseSpecialistBonus = False
+ INPUT_RESOURCE
+ {
+ ResourceName = FissilePebbles
+ Ratio = 0.0000012361825
+ @Ratio *= #$/nucFuelScale$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = FizzledPebbles
+ Ratio = 0.0000012361825
+ @Ratio *= #$/nucFuelScale$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 253.725 // 255 // 99.5% net energy
+ @Ratio *= #$/nucFuelScale$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+}
+
+// Gas core NTR
+@PART[strl-eng-375-?cgc]:HAS[!RESOURCE[EnrichedUranium]]:NEEDS[SystemHeat,!RationalResourcesNuclearFamily]
+{
+ %nucFuelScale = #$mass$
+ @nucFuelScale /= 1.8
+ %RESOURCE[EnrichedUranium]
+ {
+ %amount = 5
+ @amount *= #$/nucFuelScale$
+ %maxAmount = 5
+ @maxAmount *= #$/nucFuelScale$
+ }
+ %RESOURCE[DepletedFuel]
+ {
+ %amount = 0
+ %maxAmount = 5
+ @maxAmount *= #$/nucFuelScale$
+ }
+}
+@PART[strl-eng-375-?cgc]:HAS[@RESOURCE[EnrichedUranium]]:NEEDS[SystemHeatFissionEngines]
+{
+ refPowerAScale = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ @refPowerAScale /= 1625 // Kerbal Atomics 2.5m GCNTR Vac Isp
+
+ refPowerBScale = #$MODULE[ModuleEnginesFX],0/maxThrust$ // get max thrust number
+ @refPowerBScale /= 820
+
+ @refPowerAScale *= #$refPowerBScale$
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @refPowerAScale += 0.005
+ @refPowerAScale *= 100
+ @refPowerAScale = #$refPowerAScale[0,.]$ // regex truncate, unknown behavior but used in RO
+ @refPowerAScale /= 100
+
+ !MODULE[ModuleAlternator] {}
+ @MODULE[ModuleEngines*],*
+ {
+ @heatProduction = 0
+ }
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/mass$
+ @volume /= 3
+ moduleID = engine
+ iconName = Icon_Nuclear
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatFissionEngine
+ moduleID = engine
+ uiGroupDisplayName = #LOC_SystemHeat_ModuleSystemHeatFissionEngine_UIGroup_Title
+
+ allowHibernate = false
+ allowManualControl = false
+ allowManualShutdownTemperatureControl = false
+
+ // -- Heat stuff
+ // ModuleSystemHeat instance to link to
+ systemHeatModuleID = engine
+ // Heat kW
+ HeatGeneration
+ {
+ key = 0 0
+ }
+ // Above this temp, risky
+ NominalTemperature = 1300
+ // Above this temp, reactor takes damage
+ CriticalTemperature = 1600
+ // 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.01
+
+
+ // -- Reactor throttle stuff
+ ThrottleIncreaseRate = 10
+ MinimumThrottle = 0
+ ThrottleDecreaseRate = 20
+
+
+ // -- Electrical stuff
+ // Power generated
+ GeneratesElectricity = false
+
+ // --- Fuel stuff
+ // Base lifetime calculations off this resource
+ FuelName = EnrichedUranium
+
+ // -- engine stuff
+ ispCurve
+ {
+ key = 0 0.01
+ key = 100 1.0
+ }
+ engineCoolingScale = 1.0
+
+ INPUT_RESOURCE
+ {
+ ResourceName = EnrichedUranium
+ Ratio = 0.002
+ @Ratio *= #$/refPowerAScale$
+ FlowMode = NO_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = DepletedFuel
+ Ratio = 0.002
+ @Ratio *= #$/refPowerAScale$
+ DumpExcess = false
+ FlowMode = NO_FLOW
+ }
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatEngine
+ // must be unique
+ moduleID = engineHeat
+ // ModuleSystemHeat to link to
+ systemHeatModuleID = reactor
+ // in KW at peak output
+ systemPower = 2000
+ @systemPower *= #$/refPowerAScale$
+
+ // Nominal system output temperature
+ systemOutletTemperature = 1300
+
+ shutdownTemperature = 1600
+ // Valid system temperature range
+ temperatureCurve
+ {
+ key = 0 1
+ key = 1300 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatFissionFuelContainer
+ EngineerLevelForTransfer = 3
+ ResourceNames = EnrichedUranium, DepletedFuel
+ }
+}
+
+
+// cleanup
+@PART[strl-eng-*-suleu|strl-eng-375-?cgc]:NEEDS[SystemHeat]
+{
+ !nucFuelScale = nope
+ !refPowerAScale = nope
+ !refPowerBScale = nope
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/SystemHeatFusionEngines.cfg b/GameData/SterlingSystems/Engines/zPatches/SystemHeatFusionEngines.cfg
new file mode 100644
index 0000000..80b69ff
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/SystemHeatFusionEngines.cfg
@@ -0,0 +1,260 @@
+// MCF
+@PART[strl-eng-375-mcf]:NEEDS[SystemHeat]
+{
+ refPowerAScale = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ refPowerBScale = #$MODULE[ModuleEnginesFX],1/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ @refPowerAScale /= 17900 // FFT dual-mode Tokamak engine
+ @refPowerBScale /= 8000
+
+ refPowerA1Scale = #$MODULE[ModuleEnginesFX],0/maxThrust$ // get max thrust number
+ refPowerB1Scale = #$MODULE[ModuleEnginesFX],1/maxThrust$ // get max thrust number
+ @refPowerA1Scale /= 200
+ @refPowerB1Scale /= 400
+
+ @refPowerAScale *= #$refPowerA1Scale$
+ @refPowerBScale *= #$refPowerB1Scale$
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @refPowerAScale += 0.005
+ @refPowerAScale *= 100
+ @refPowerAScale = #$refPowerAScale[0,.]$ // regex truncate, unknown behavior but used in RO
+ @refPowerAScale /= 100
+ @refPowerBScale += 0.005
+ @refPowerBScale *= 100
+ @refPowerBScale = #$refPowerBScale[0,.]$
+ @refPowerBScale /= 100
+ @MODULE[ModuleEnginesFX],*
+ {
+ @heatProduction = 0
+ }
+
+ MODULE
+ {
+ name = ModuleSystemHeat
+ // Cubic metres
+ volume = #$/mass$
+ moduleID = reactor
+ iconName = Icon_Atom
+ }
+ MODULE:NEEDS[FarFutureTechnologies]
+ {
+ name = ModuleFusionEngine
+
+ // General Parameters
+ Enabled = False
+ MinimumReactorPower = 0.5
+
+ // Charge Parameters
+ Charged = false
+ ChargeRate = 50
+ ChargeAmount = 0
+ ChargeGoal = 3500
+ @ChargeGoal *= #$/refPowerAScale$
+
+ // Animation Parameters
+ // ChargingLightRootTransformName = SpikeLightPanel
+ // OnLightTransformName = LightOn
+ // OffLightTransformName = LightOff
+ // ModeLightTransformName = LightMode
+ // OverheatColorChangerName = ""
+
+ // Thermal Parameters
+ // must be unique
+ ModuleID = fusionreactor
+ // ModuleSystemHeat to link to
+ HeatModuleID = reactor
+
+ SystemPower = 500
+ @SystemPower *= #$/refPowerAScale$
+ // The shutdown temperature of the part
+ ShutdownTemperature = 2000
+ // The temperature the system contributes to loops
+ SystemOutletTemperature = 1600
+ FUSIONMODE
+ {
+ DisplayName = #LOC_FFT_fusion-reactor_fusion-mode_d-he3
+ ModeID = DH3
+ ModeColor = 0.03, 0.45, 0.36, 0.5
+ PowerGeneration = 25
+ INPUT_RESOURCE
+ {
+ ResourceName = LqdDeuterium
+ Ratio = 0.00436
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = LqdHe3
+ Ratio = 0.01744
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ }
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatEngine
+ // must be unique
+ moduleID = engine1
+ // ModuleSystemHeat to link to
+ systemHeatModuleID = reactor
+ engineModuleID = Light
+ // in KW at peak output
+ systemPower = 14000
+ @systemPower *= #$/refPowerAScale$
+
+ // Nominal system output temperature
+ systemOutletTemperature = 1600
+ // Valid system temperature range
+ temperatureCurve
+ {
+ key = 0 1 0 0
+ key = 1600 1 0 0
+ key = 2000 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatEngine
+ // must be unique
+ moduleID = engine2
+ // ModuleSystemHeat to link to
+ systemHeatModuleID = reactor
+ engineModuleID = Heavy
+ // in KW at peak output
+ systemPower = 7000
+ @systemPower *= #$/refPowerBScale$
+
+ // Nominal system output temperature
+ systemOutletTemperature = 1600
+ // Valid system temperature range
+ temperatureCurve
+ {
+ key = 0 1 0 0
+ key = 1600 1 0 0
+ key = 2000 0 0 0
+ }
+ }
+}
+
+// ICF
+@PART[strl-eng-250-icf]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ // Cubic metres
+ volume = #$/mass$
+ moduleID = reactor
+ iconName = Icon_Atom
+ }
+}
+@PART[strl-eng-500-icf]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ // Cubic metres
+ volume = #$/mass$
+ @volume *= 0.9
+ moduleID = reactor
+ iconName = Icon_Atom
+ currentLoopID = 0
+ }
+}
+@PART[strl-eng-*-icf]:NEEDS[SystemHeat]
+{
+ refPowerAScale = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ @refPowerAScale /= 520000 // FFT dual-mode Tokamak engine
+
+ refPowerA1Scale = #$MODULE[ModuleEnginesFX],0/maxThrust$ // get max thrust number
+ @refPowerA1Scale /= 400 // buffed by 10x to be a bit less painful
+
+ @refPowerAScale *= #$refPowerA1Scale$
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @refPowerAScale += 0.005
+ @refPowerAScale *= 100
+ @refPowerAScale = #$refPowerAScale[0,.]$ // regex truncate, unknown behavior but used in RO
+ @refPowerAScale /= 100
+ @MODULE[ModuleEnginesFX],*
+ {
+ @heatProduction = 0
+ }
+
+ MODULE:NEEDS[FarFutureTechnologies]
+ {
+ name = ModuleFusionEngine
+
+ // General Parameters
+ Enabled = False
+ MinimumReactorPower = 0.5
+
+ // Charge Parameters
+ Charged = false
+ ChargeRate = 50
+ ChargeAmount = 0
+ ChargeGoal = 3500
+ @ChargeGoal *= #$/refPowerAScale$
+
+ // Animation Parameters
+ // ChargingLightRootTransformName = SpikeLightPanel
+ // OnLightTransformName = LightOn
+ // OffLightTransformName = LightOff
+ // ModeLightTransformName = LightMode
+ // OverheatColorChangerName = ""
+
+ // Thermal Parameters
+ // must be unique
+ ModuleID = fusionreactor
+ // ModuleSystemHeat to link to
+ HeatModuleID = reactor
+
+ SystemPower = 500
+ @SystemPower *= #$/refPowerAScale$
+ // The shutdown temperature of the part
+ ShutdownTemperature = 2000
+ // The temperature the system contributes to loops
+ SystemOutletTemperature = 1600
+ FUSIONMODE
+ {
+ DisplayName = #LOC_FFT_fusion-reactor_fusion-mode_d-he3
+ ModeID = DH3
+ ModeColor = 0.03, 0.45, 0.36, 0.5
+ PowerGeneration = 25
+ INPUT_RESOURCE
+ {
+ ResourceName = LqdDeuterium
+ Ratio = 0.00436
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = LqdHe3
+ Ratio = 0.01744
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ }
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatEngine
+ // must be unique
+ moduleID = engine1
+ // ModuleSystemHeat to link to
+ systemHeatModuleID = reactor
+ engineModuleID = Light
+ // in KW at peak output
+ systemPower = 14000
+ @systemPower *= #$/refPowerAScale$
+
+ // Nominal system output temperature
+ systemOutletTemperature = 1600
+ // Valid system temperature range
+ temperatureCurve
+ {
+ key = 0 1 0 0
+ key = 1600 1 0 0
+ key = 2000 0 0 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/SystemHeatThermalNozzles.cfg b/GameData/SterlingSystems/Engines/zPatches/SystemHeatThermalNozzles.cfg
new file mode 100644
index 0000000..d106af0
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/SystemHeatThermalNozzles.cfg
@@ -0,0 +1,54 @@
+// Thermal Nozzles
+@PART[strl-eng-*-thnozbell]:NEEDS[SystemHeat]
+{
+ refPowerAScale = #$MODULE[ModuleEnginesFX],0/atmosphereCurve/key,0[1, ]$ // get vac Isp number
+ @refPowerAScale /= 800 // Squad NERV
+
+ refPowerBScale = #$MODULE[ModuleEnginesFX],0/maxThrust$ // get max thrust number
+ @refPowerBScale /= 60 // Squad NERV
+
+ @refPowerAScale *= #$refPowerBScale$
+
+ // precision sequence to keep div number at 2dp and not let it be 12+dp
+ @refPowerAScale += 0.005
+ @refPowerAScale *= 100
+ @refPowerAScale = #$refPowerAScale[0,.]$ // regex truncate, unknown behavior but used in RO
+ @refPowerAScale /= 100
+ @MODULE[ModuleEngines*]
+ {
+ @heatProduction = 0
+ }
+
+ MODULE
+ {
+ name = ModuleSystemHeat
+ // Cubic metres
+ volume = #$/mass$
+ @volume /= 3
+ moduleID = engine
+ iconName = Icon_Atom
+ }
+ MODULE
+ {
+ name = ModuleSystemHeatEngine
+ // must be unique
+ moduleID = engineHeat
+ // ModuleSystemHeat to link to
+ systemHeatModuleID = engine
+ engineModuleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // in KW at peak output
+ systemPower = 200
+ @systemPower *= #$/refPowerAScale$
+
+ // Nominal system output temperature
+ systemOutletTemperature = 1300
+
+ shutdownTemperature = 1600
+ // Valid system temperature range
+ temperatureCurve
+ {
+ key = 0 1
+ key = 900 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFEngineSSTO.cfg b/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFEngineSSTO.cfg
new file mode 100644
index 0000000..5f19d14
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFEngineSSTO.cfg
@@ -0,0 +1,172 @@
+// Single-mode
+@PART[strl-eng-???-thnozbell*]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ MODULE
+ {
+ name = ModuleWaterfallFX
+ moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ CONTROLLER
+ {
+ name = atmosphereDepth
+ linkedTo = atmosphere_density
+ }
+ CONTROLLER
+ {
+ name = throttle
+ linkedTo = throttle
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ CONTROLLER
+ {
+ name = random
+ linkedTo = random
+ range = 0.7, 1
+ }
+ CONTROLLER
+ {
+ name = Ignition
+ linkedTo = engineEvent
+ eventDuration = 2
+ eventName = ignition
+ eventCurve
+ {
+ key = 0 0 10 10
+ key = 0.1 1 4.444445 4.444445
+ key = 1 0 -1.111111 -1.111111
+ }
+ }
+ TEMPLATE
+ {
+ templateName = waterfall-hydrolox-rs25-2
+ overrideParentTransform = thrustTransform
+ position = 0, 0, 0
+ rotation = 0, 0, 0
+ scale = 1.0, 1.0, 1.0
+ }
+ }
+}
+@PART[strl-eng-250-thnozbell*]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ @MODULE[ModuleWaterfallFX]
+ {
+ @TEMPLATE
+ {
+ @position = 0, 0, 0
+ @rotation = 0, 0, 0
+ @scale = 2.0, 2.0, 1.5
+ }
+ }
+}
+@PART[strl-eng-062-thnozbell*]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ @MODULE[ModuleWaterfallFX]
+ {
+ @TEMPLATE
+ {
+ @position = 0, 0, 0
+ @rotation = 0, 0, 0
+ @scale = 0.5, 0.5, 0.5
+ }
+ }
+}
+
+// @PART[strl-eng-125-scr01]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+// {
+ // MODULE
+ // {
+ // name = ModuleWaterfallFX
+ // moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // CONTROLLER
+ // {
+ // name = atmosphereDepth
+ // linkedTo = atmosphere_density
+ // }
+ // CONTROLLER
+ // {
+ // name = throttle
+ // linkedTo = throttle
+ // engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // }
+ // CONTROLLER
+ // {
+ // name = random
+ // linkedTo = random
+ // range = 0.7, 1
+ // }
+ // }
+// }
+// @PART[strl-eng-125-scr02]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+// {
+ // MODULE
+ // {
+ // name = ModuleWaterfallFX
+ // moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // CONTROLLER
+ // {
+ // name = atmosphereDepth
+ // linkedTo = atmosphere_density
+ // }
+ // CONTROLLER
+ // {
+ // name = throttle
+ // linkedTo = throttle
+ // engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // }
+ // CONTROLLER
+ // {
+ // name = random
+ // linkedTo = random
+ // range = 0.7, 1
+ // }
+ // }
+// }
+
+
+// Multi-mode
+// @PART[strl-eng-125-thnozram]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+// {
+ // MODULE
+ // {
+ // name = ModuleWaterfallFX
+ // moduleID = Air-Breathing
+ // CONTROLLER
+ // {
+ // name = atmosphereDepth
+ // linkedTo = atmosphere_density
+ // }
+ // CONTROLLER
+ // {
+ // name = throttle
+ // linkedTo = throttle
+ // engineID = LiquidFuel
+ // }
+ // CONTROLLER
+ // {
+ // name = random
+ // linkedTo = random
+ // range = 0.7, 1
+ // }
+ // }
+ // MODULE
+ // {
+ // name = ModuleWaterfallFX
+ // moduleID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ // CONTROLLER
+ // {
+ // name = atmosphereDepth
+ // linkedTo = atmosphere_density
+ // }
+ // CONTROLLER
+ // {
+ // name = throttle
+ // linkedTo = throttle
+ // engineID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ // }
+ // CONTROLLER
+ // {
+ // name = random
+ // linkedTo = random
+ // range = 0.7, 1
+ // }
+ // }
+// }
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFEnginesIPV.cfg b/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFEnginesIPV.cfg
new file mode 100644
index 0000000..a8cfbe3
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFEnginesIPV.cfg
@@ -0,0 +1,352 @@
+// Single-mode
+@PART[strl-eng-*-suleu*]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ MODULE
+ {
+ name = ModuleWaterfallFX
+ moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ CONTROLLER
+ {
+ name = atmosphereDepth
+ linkedTo = atmosphere_density
+ }
+ CONTROLLER
+ {
+ name = throttle
+ linkedTo = throttle
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ CONTROLLER
+ {
+ name = random
+ linkedTo = random
+ range = 0.7, 1
+ }
+ TEMPLATE
+ {
+ templateName = stock-nuclear-upper-2
+ // overrideParentTransform = thrustTransform
+ scale = 1.2, 1.2, 1
+ rotation = 0, 0, 0
+ position = 0, 0, -0.8
+ }
+ }
+}
+@PART[strl-eng-187-suleu*]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ @MODULE[ModuleWaterfallFX]
+ {
+ @TEMPLATE
+ {
+ @scale = 1.8, 1.8, 1.5
+ @rotation = 0, 0, 0
+ @position = 0, 0, -0.8
+ }
+ }
+}
+@PART[strl-eng-062-suleu*]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ @MODULE[ModuleWaterfallFX]
+ {
+ @TEMPLATE
+ {
+ @scale = 0.8, 0.8, 0.667
+ @rotation = 0, 0, 0
+ @position = 0, 0, -0.8
+ }
+ }
+}
+@PART[strl-eng-375-ccgc*]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ MODULE
+ {
+ name = ModuleWaterfallFX
+ moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ CONTROLLER
+ {
+ name = atmosphereDepth
+ linkedTo = atmosphere_density
+ }
+ CONTROLLER
+ {
+ name = throttle
+ linkedTo = throttle
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ CONTROLLER
+ {
+ name = random
+ linkedTo = random
+ range = 0.7, 1
+ }
+ TEMPLATE
+ {
+ templateName = stock-nuclear-upper-2
+ // overrideParentTransform = thrustTransform
+ position = 0, 0, -0.7
+ rotation = 0, 0, 0
+ scale = 0.95, 0.95, 0.95
+ }
+ }
+}
+@PART[strl-eng-375-ocgc*]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ MODULE
+ {
+ name = ModuleWaterfallFX
+ moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ CONTROLLER
+ {
+ name = atmosphereDepth
+ linkedTo = atmosphere_density
+ }
+ CONTROLLER
+ {
+ name = throttle
+ linkedTo = throttle
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ CONTROLLER
+ {
+ name = random
+ linkedTo = random
+ range = 0.7, 1
+ }
+ TEMPLATE
+ {
+ templateName = stock-nuclear-upper-2
+ // overrideParentTransform = thrustTransform
+ position = 0, 0, -1.5
+ rotation = 0, 0, 0
+ scale = 2.5, 2.5, 2.5
+ }
+ }
+}
+
+// Multi-mode
+@PART[strl-eng-375-fszp]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ MODULE
+ {
+ name = ModuleWaterfallFX
+ moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ CONTROLLER
+ {
+ name = atmosphereDepth
+ linkedTo = atmosphere_density
+ }
+ CONTROLLER
+ {
+ name = throttle
+ linkedTo = throttle
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ CONTROLLER
+ {
+ name = random
+ linkedTo = random
+ range = 0.7, 1
+ }
+ TEMPLATE
+ {
+ templateName = zPinchFX1
+ // overrideParentTransform = thrustTransform
+ scale = 1,1,1
+ rotation = 0,0,0
+ position = 0,0,0
+ }
+ }
+ MODULE
+ {
+ name = ModuleWaterfallFX
+ moduleID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ CONTROLLER
+ {
+ name = atmosphereDepth
+ linkedTo = atmosphere_density
+ }
+ CONTROLLER
+ {
+ name = throttle
+ linkedTo = throttle
+ engineID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ }
+ CONTROLLER
+ {
+ name = random
+ linkedTo = random
+ range = 0.7, 1
+ }
+ TEMPLATE
+ {
+ templateName = zPinchFX1
+ // overrideParentTransform = thrustTransform
+ scale = 1,1,1
+ rotation = 0,0,0
+ position = 0,0,0
+ }
+ }
+}
+@PART[strl-eng-375-mcf]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ MODULE
+ {
+ name = ModuleWaterfallFX
+ moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ CONTROLLER
+ {
+ name = atmosphereDepth
+ linkedTo = atmosphere_density
+ }
+ CONTROLLER
+ {
+ name = throttle
+ linkedTo = throttle
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ CONTROLLER
+ {
+ name = random
+ linkedTo = random
+ range = 0.7, 1
+ }
+ TEMPLATE
+ {
+ templateName = strl-mcf-light
+ // overrideParentTransform = thrustTransform
+ scale = 1,1,1
+ rotation = 0,0,0
+ position = 0,0,0
+ }
+ }
+ MODULE
+ {
+ name = ModuleWaterfallFX
+ moduleID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ CONTROLLER
+ {
+ name = atmosphereDepth
+ linkedTo = atmosphere_density
+ }
+ CONTROLLER
+ {
+ name = throttle
+ linkedTo = throttle
+ engineID = #$/MODULE[ModuleEnginesFX],1/engineID$
+ }
+ CONTROLLER
+ {
+ name = random
+ linkedTo = random
+ range = 0.7, 1
+ }
+ TEMPLATE
+ {
+ templateName = strl-mcf-heavy
+ // overrideParentTransform = thrustTransform
+ scale = 1,1,1
+ rotation = 0,0,0
+ position = 0,0,0
+ }
+ }
+}
+
+// @PART[strl-eng-250-lsw]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+// {
+ // MODULE
+ // {
+ // name = ModuleWaterfallFX
+ // moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // CONTROLLER
+ // {
+ // name = atmosphereDepth
+ // linkedTo = atmosphere_density
+ // }
+ // CONTROLLER
+ // {
+ // name = throttle
+ // linkedTo = throttle
+ // engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // }
+ // CONTROLLER
+ // {
+ // name = random
+ // linkedTo = random
+ // range = 0.7, 1
+ // }
+ // TEMPLATE
+ // {
+ // templateName = mhEnginefx1
+ // overrideParentTransform = thrustTransform
+ // position = 0,0,0
+ // rotation = 0, 0, 0
+ // scale = 1.2, 1.2, 1.3
+ // }
+ // }
+// }
+// @PART[strl-eng-250-mm]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+// {
+ // MODULE
+ // {
+ // name = ModuleWaterfallFX
+ // moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // CONTROLLER
+ // {
+ // name = atmosphereDepth
+ // linkedTo = atmosphere_density
+ // }
+ // CONTROLLER
+ // {
+ // name = throttle
+ // linkedTo = throttle
+ // engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // }
+ // CONTROLLER
+ // {
+ // name = random
+ // linkedTo = random
+ // range = 0.7, 1
+ // }
+ // TEMPLATE
+ // {
+ // templateName = plasmaPlume2
+ // overrideParentTransform = thrustTransform
+ // scale = 1,1,1
+ // rotation = 0,0,0
+ // position = 0,0,0
+ // }
+ // }
+// }
+// @PART[strl-eng-250-nsw]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+// {
+ // MODULE
+ // {
+ // name = ModuleWaterfallFX
+ // moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // CONTROLLER
+ // {
+ // name = atmosphereDepth
+ // linkedTo = atmosphere_density
+ // }
+ // CONTROLLER
+ // {
+ // name = throttle
+ // linkedTo = throttle
+ // engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ // }
+ // CONTROLLER
+ // {
+ // name = random
+ // linkedTo = random
+ // range = 0.7, 1
+ // }
+ // TEMPLATE
+ // {
+ // templateName = mhPlasmaFX1
+ // overrideParentTransform = thrustTransform
+ // position = 0, 0, -0.3
+ // rotation = 0, 0, 0
+ // scale = 2.2, 2.2, 3
+ // }
+ // }
+// }
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFEnginesISV.cfg b/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFEnginesISV.cfg
new file mode 100644
index 0000000..64514c4
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFEnginesISV.cfg
@@ -0,0 +1,80 @@
+// Single-mode
+@PART[strl-eng-1000-bcam]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ MODULE
+ {
+ name = ModuleWaterfallFX
+ moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ CONTROLLER
+ {
+ name = atmosphereDepth
+ linkedTo = atmosphere_density
+ }
+ CONTROLLER
+ {
+ name = throttle
+ linkedTo = throttle
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ CONTROLLER
+ {
+ name = random
+ linkedTo = random
+ range = 0.7, 1
+ }
+ TEMPLATE
+ {
+ templateName = srtl-bcam
+ // overrideParentTransform = thrustTransform
+ scale = 1,1,1
+ rotation = 0,0,0
+ position = 0,0,0
+ }
+ }
+}
+@PART[strl-eng-???-icf]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ MODULE
+ {
+ name = ModuleWaterfallFX
+ moduleID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ CONTROLLER
+ {
+ name = atmosphereDepth
+ linkedTo = atmosphere_density
+ }
+ CONTROLLER
+ {
+ name = throttle
+ linkedTo = throttle
+ engineID = #$/MODULE[ModuleEnginesFX],0/engineID$
+ }
+ CONTROLLER
+ {
+ name = random
+ linkedTo = random
+ range = 0.7, 1
+ }
+ TEMPLATE
+ {
+ templateName = kerbsteinPlume1
+ // overrideParentTransform = thrustTransform
+ scale = 1.68,1.68,1.68
+ rotation = 0,0,0
+ position = 0,0,0.88
+ }
+ }
+}
+
+@PART[strl-eng-250-icf]:NEEDS[StockWaterfallEffects]:LAST[SterlingSystems]
+{
+ @MODULE[ModuleWaterfallFX]
+ {
+ @TEMPLATE
+ {
+ @scale = 0.42,0.42,0.42
+ @rotation = 0,0,0
+ @position = 0,0,0.22
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFTemplates.cfg b/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFTemplates.cfg
new file mode 100644
index 0000000..c5574aa
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFTemplates.cfg
@@ -0,0 +1,1885 @@
+EFFECTTEMPLATE
+{
+ templateName = srtl-bcam
+ EFFECT
+ {
+ name = flare
+ parentName = lightPoint
+ MODEL
+ {
+ path = Waterfall/FX/fx-billboard-generic-1
+ positionOffset = 0,0,0
+ rotationOffset = 0,0,0
+ scaleOffset = 9,18,1
+ MATERIAL
+ {
+ transform = Billboard
+ shader = Waterfall/Billboard (Additive)
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx_flarelens01
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.489269316,0.180392146,0.627451003,1
+ }
+ }
+ }
+ COLORMODIFIER
+ {
+ colorName = _StartTint
+ controllerName = throttle
+ transformName = Billboard
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = flareLumThr
+ combinationType = MULTIPLY
+ rCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.1 0 0
+ key = 1 1 0 0
+ }
+ gCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.1 0 0
+ key = 1 1 0 0
+ }
+ bCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.1 0 0
+ key = 1 1 0 0
+ }
+ aCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.1 0 0
+ key = 1 1 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = Billboard
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = flareScaleThr
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.1 0 0
+ key = 1 2 0 0
+ }
+ yCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.1 0 0
+ key = 1 2 0 0
+ }
+ zCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.1 0 0
+ key = 1 2 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = light
+ parentName = lightPoint
+ MODEL
+ {
+ path = Waterfall/FX/fx-point-light
+ positionOffset = 0,0,0
+ rotationOffset = 0,0,0
+ scaleOffset = 1,1,1
+ LIGHT
+ {
+ intensity = 6
+ range = 14
+ color = 0.489269316,0.180392146,0.627451003,1
+ lightType = Point
+ angle = 0
+ transform = Light
+ baseTransform =
+ }
+ }
+ LIGHTFLOATMODIFIER
+ {
+ floatName = Intensity
+ controllerName = throttle
+ transformName = Light
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = lightThr
+ combinationType = MULTIPLY
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.1 0 0
+ key = 1 1 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = darkCone
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-complex-plume-1
+ positionOffset = 0,0,0
+ rotationOffset = -90,0,0
+ scaleOffset = 1,1,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Alpha Directional
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-alpha-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.306452751,0.274509847,0.713725507,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.250980407,0.443137258,0.980392158,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1.5
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 0.5
+ }
+ FLOAT
+ {
+ floatName = _Intensity
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 20
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 0.5
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.5
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 1
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Alpha Directional
+ randomizeSeed = True
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.97647059,0.97647059,0.988235295,1
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.306452751,0.274509847,0.713725507,1
+ }
+ FLOAT
+ {
+ floatName = _Intensity
+ value = 0.200000003
+ }
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-alpha-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Throat
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = throatScaleThr
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 0.375 0 0
+ key = 1 0.5 0 0
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ key = 0 0.375 0 0
+ key = 1 0.5 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_PostExit1
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = postExitScaleThr
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 6 0 0
+ key = 1 8 0 0
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ key = 0 6 0 0
+ key = 1 8 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Tail
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = tailScaleThr
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 60 0 0
+ key = 1 80 0 0
+ }
+ yCurve
+ {
+ key = 0 1 0 0
+ }
+ zCurve
+ {
+ key = 0 60 0 0
+ key = 1 80 0 0
+ }
+ }
+ POSITIONMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Exit
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = exitPosThr
+ combinationType = REPLACE
+ xCurve
+ {
+ }
+ yCurve
+ {
+ key = 0 -6 0 0
+ }
+ zCurve
+ {
+ }
+ }
+ POSITIONMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_PostExit1
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = postExitPosThr
+ combinationType = REPLACE
+ xCurve
+ {
+ }
+ yCurve
+ {
+ key = 0 -80 0 0
+ }
+ zCurve
+ {
+ }
+ }
+ POSITIONMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Tail
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = tailPosThr
+ combinationType = REPLACE
+ xCurve
+ {
+ }
+ yCurve
+ {
+ key = 0 -1200 0 0
+ }
+ zCurve
+ {
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Intensity
+ controllerName = throttle
+ transformName = CylinderMesh
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = matThr
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.1 0 0
+ key = 1 1 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = lightCone
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-complex-plume-1
+ positionOffset = 0,0,0
+ rotationOffset = -90,0,0
+ scaleOffset = 1,1,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Alpha Directional
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-alpha-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.489269316,0.180392146,0.627451003,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.270588279,0.414902031,0.992156863,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 5
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Intensity
+ value = 6.32175112
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.5
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 0
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Alpha Directional
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-alpha-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.97647059,0.97647059,0.988235295,1
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.717647076,0.698039234,0.956862748,1
+ }
+ FLOAT
+ {
+ floatName = _Intensity
+ value = 0.200000003
+ }
+ }
+ }
+ POSITIONMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Exit
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = exitPosThr
+ combinationType = REPLACE
+ xCurve
+ {
+ }
+ yCurve
+ {
+ key = 0 -12 0 0
+ }
+ zCurve
+ {
+ }
+ }
+ POSITIONMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_PostExit1
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = postExitPosThr
+ combinationType = REPLACE
+ xCurve
+ {
+ }
+ yCurve
+ {
+ key = 0 -60 0 0
+ }
+ zCurve
+ {
+ }
+ }
+ POSITIONMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Tail
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = tailPosThr
+ combinationType = REPLACE
+ xCurve
+ {
+ }
+ yCurve
+ {
+ key = 0 -1200 0 0
+ }
+ zCurve
+ {
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Intensity
+ controllerName = throttle
+ transformName = CylinderMesh
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = matThr
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.1 0 0
+ key = 1 2 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Throat
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = throatScaleThr
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 0.05 0 0
+ key = 1 0.1 0 0
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ key = 0 0.05 0 0
+ key = 1 0.1 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_PostExit1
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = postExitScaleThr
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 3 0 0
+ key = 1 4 0 0
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ key = 0 3 0 0
+ key = 1 4 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Tail
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = tailScaleThr
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 30 0 0
+ key = 1 40 0 0
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ key = 0 30 0 0
+ key = 1 40 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = heatHazeFore
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-cylinder
+ positionOffset = 0,0,-5
+ rotationOffset = -90,0,0
+ scaleOffset = 5,20,5
+ MATERIAL
+ {
+ transform = Cylinder
+ shader = Waterfall/Distortion (Dynamic)
+ randomizeSeed = True
+ FLOAT
+ {
+ floatName = _ExpandOffset
+ value = -0.721362352
+ }
+ FLOAT
+ {
+ floatName = _ExpandLinear
+ value = 3.33630133
+ }
+ FLOAT
+ {
+ floatName = _Blur
+ value = 2.33997583
+ }
+ FLOAT
+ {
+ floatName = _Swirl
+ value = 5
+ }
+ TEXTURE
+ {
+ textureSlotName = _DistortionTex
+ texturePath = Waterfall/FX/fx-katniss-noise-4
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ FLOAT
+ {
+ floatName = _ExpandBounded
+ value = 1.8935765
+ }
+ FLOAT
+ {
+ floatName = _ExpandSquare
+ value = -1.71323586
+ }
+ FLOAT
+ {
+ floatName = _FadeIn
+ value = 0.100000001
+ }
+ FLOAT
+ {
+ floatName = _FadeOut
+ value = 0.600000024
+ }
+ FLOAT
+ {
+ floatName = _Strength
+ value = 0.5
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 4
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 3
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 2
+ }
+ FLOAT
+ {
+ floatName = _Highlight
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 1.62306559
+ }
+ FLOAT
+ {
+ floatName = _FalloffStart
+ value = 0
+ }
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Strength
+ controllerName = throttle
+ transformName = Cylinder
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = hazeThr
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.05 0 0
+ key = 1 0.5 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = heatHazeAft
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-cylinder
+ positionOffset = 0,0,0
+ rotationOffset = -90,0,0
+ scaleOffset = 5,20,5
+ MATERIAL
+ {
+ transform = Cylinder
+ shader = Waterfall/Distortion (Dynamic)
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _DistortionTex
+ texturePath = Waterfall/FX/fx-katniss-noise-4
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ FLOAT
+ {
+ floatName = _ExpandOffset
+ value = 0.991873443
+ }
+ FLOAT
+ {
+ floatName = _ExpandLinear
+ value = -1.71323597
+ }
+ FLOAT
+ {
+ floatName = _Blur
+ value = 2.33997583
+ }
+ FLOAT
+ {
+ floatName = _Swirl
+ value = 5
+ }
+ FLOAT
+ {
+ floatName = _ExpandBounded
+ value = 0.45085147
+ }
+ FLOAT
+ {
+ floatName = _ExpandSquare
+ value = -0.631192207
+ }
+ FLOAT
+ {
+ floatName = _FadeIn
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _FadeOut
+ value = 0.284036458
+ }
+ FLOAT
+ {
+ floatName = _Strength
+ value = 0.5
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 2
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 3
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 2
+ }
+ FLOAT
+ {
+ floatName = _Highlight
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 1.12712884
+ }
+ FLOAT
+ {
+ floatName = _FalloffStart
+ value = 0
+ }
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Strength
+ controllerName = throttle
+ transformName = Cylinder
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ name = hazeThr
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.05 0.04 0 0
+ key = 1 0.2 0 0
+ }
+ }
+ }
+}
+
+EFFECTTEMPLATE
+{
+ templateName = strl-mcf-light
+ EFFECT
+ {
+ name = diffuseOut
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,0
+ rotationOffset = -90,0,0
+ scaleOffset = 1,3,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.329411805,0.552941203,0.949019611,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.200000003,0.247058824,0.396078438,0.996296287
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0.449999988
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 1.5
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 30
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 8
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 4
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 1.5
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-4
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.329411805,0.552941203,0.949019611,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.200000003,0.247058824,0.396078438,0.996296287
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1.87055266
+ }
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = atmTail
+ controllerName = atmosphereDepth
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 14 0 0
+ key = 1 6 0 0
+ }
+ yCurve
+ {
+ key = 0 2 0 0
+ key = 1 2 0 0
+ }
+ zCurve
+ {
+ key = 0 14 0 0
+ key = 1 6 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = atmExit
+ controllerName = atmosphereDepth
+ transformName = Waterfall/FX/fx-simple-plume-1(Clone)
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0.8 0 0
+ key = 1 0.6 0 0
+ }
+ yCurve
+ {
+ key = 0 12 0 0
+ key = 1 6 0 0
+ }
+ zCurve
+ {
+ key = 0 0.8 0 0
+ key = 1 0.6 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = thrDiffOut
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 1.5 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = diffuseIn
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,0
+ rotationOffset = -90,0,0
+ scaleOffset = 1,3,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.329411805,0.552941203,0.949019611,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.200000003,0.247058824,0.396078438,0.996296287
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0.449999988
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1.5055548
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 1.5
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.39999998
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 40
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 4
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 3
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 8
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-4
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.329411805,0.552941203,0.949019611,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.200000003,0.247058824,0.396078438,0.996296287
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 4.15166664
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 3.20000005
+ }
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = shapeTail
+ controllerName = atmosphereDepth
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 9 0 0
+ key = 1 3 0 0
+ }
+ yCurve
+ {
+ key = 0 2 0 0
+ key = 1 2 0 0
+ }
+ zCurve
+ {
+ key = 0 9 0 0
+ key = 1 3 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = shapeExit
+ controllerName = atmosphereDepth
+ transformName = Waterfall/FX/fx-simple-plume-1(Clone)
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0.8 0 0
+ key = 1 0.6 0 0
+ }
+ yCurve
+ {
+ key = 0 12 0 0
+ key = 1 6 0 0
+ }
+ zCurve
+ {
+ key = 0 0.8 0 0
+ key = 1 0.6 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = thrDiffIn00
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 8 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = thrDiffIn01
+ controllerName = throttle
+ transformName = PlaneMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 0.5 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = light
+ parentName = lightPoint
+ MODEL
+ {
+ path = Waterfall/FX/fx-point-light
+ positionOffset = 0,0,0
+ rotationOffset = -90,0,0
+ scaleOffset = 1,1,1
+ LIGHT
+ {
+ transform = Light
+ intensity = 6.19999981
+ range = 25
+ lightType = Point
+ color = 0.450980395,0.517647088,0.619607866,1
+ angle = 12.510294
+ }
+ }
+ LIGHTFLOATMODIFIER
+ {
+ name = thrLight
+ controllerName = throttle
+ transformName = Light
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ floatName = Intensity
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 8 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = flare
+ parentName = lightPoint
+ MODEL
+ {
+ path = Waterfall/FX/fx-billboard-generic-1
+ positionOffset = 0,0,0
+ rotationOffset = 0,0,0
+ scaleOffset = 8,8,1
+ MATERIAL
+ {
+ transform = Billboard
+ shader = Waterfall/Billboard (Additive Directional)
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx_flarelamp-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.490196079,0.623529375,0.866666675,1
+ }
+ FLOAT
+ {
+ floatName = _DirectionScale
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 1.5
+ }
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = thrFlare
+ controllerName = throttle
+ transformName = Billboard
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 1.5 0 0
+ }
+ }
+ }
+}
+
+EFFECTTEMPLATE
+{
+ templateName = strl-mcf-heavy
+ EFFECT
+ {
+ name = diffuseOut
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,0
+ rotationOffset = -90,0,0
+ scaleOffset = 1,3,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.490196079,0.623529434,0.866666675,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.70588237,0.274509817,0.666666687,1
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0.449999988
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 1.5
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 15
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 8
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 6
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 1.5
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-4
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.490196079,0.623529375,0.866666675,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.70588237,0.274509817,0.666666746,1
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1.87055266
+ }
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = atmTail
+ controllerName = atmosphereDepth
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 14 0 0
+ key = 1 6 0 0
+ }
+ yCurve
+ {
+ key = 0 2 0 0
+ key = 1 2 0 0
+ }
+ zCurve
+ {
+ key = 0 14 0 0
+ key = 1 6 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = atmExit
+ controllerName = atmosphereDepth
+ transformName = Waterfall/FX/fx-simple-plume-1(Clone)
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0.8 0 0
+ key = 1 0.6 0 0
+ }
+ yCurve
+ {
+ key = 0 8 0 0
+ key = 1 4 0 0
+ }
+ zCurve
+ {
+ key = 0 0.8 0 0
+ key = 1 0.6 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = thrDiffOut
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 1.5 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = diffuseIn
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,0
+ rotationOffset = -90,0,0
+ scaleOffset = 1,3,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.490196079,0.623529375,0.866666675,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.70588237,0.274509817,0.666666746,1
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0.449999988
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1.5055548
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 1.5
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 2.4000001
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 40
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 6
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 2.5
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 8
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-4
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.490196079,0.623529375,0.866666675,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.70588237,0.274509817,0.666666746,1
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 4.15166664
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 3.20000005
+ }
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = shapeTail
+ controllerName = atmosphereDepth
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 9 0 0
+ key = 1 3 0 0
+ }
+ yCurve
+ {
+ key = 0 2 0 0
+ key = 1 2 0 0
+ }
+ zCurve
+ {
+ key = 0 9 0 0
+ key = 1 3 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = shapeExit
+ controllerName = atmosphereDepth
+ transformName = Waterfall/FX/fx-simple-plume-1(Clone)
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0.8 0 0
+ key = 1 0.6 0 0
+ }
+ yCurve
+ {
+ key = 0 8 0 0
+ key = 1 4 0 0
+ }
+ zCurve
+ {
+ key = 0 0.8 0 0
+ key = 1 0.6 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = thrDiffIn00
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 8 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = thrDiffIn01
+ controllerName = throttle
+ transformName = PlaneMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 0.5 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = light
+ parentName = lightPoint
+ MODEL
+ {
+ path = Waterfall/FX/fx-point-light
+ positionOffset = 0,0,0
+ rotationOffset = -90,0,0
+ scaleOffset = 1,1,1
+ LIGHT
+ {
+ transform = Light
+ intensity = 6.19999981
+ range = 18
+ lightType = Point
+ color = 0.490196079,0.623529375,0.866666675,1
+ angle = 12.510294
+ }
+ }
+ LIGHTFLOATMODIFIER
+ {
+ name = thrLight
+ controllerName = throttle
+ transformName = Light
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ floatName = Intensity
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 8 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = flare
+ parentName = lightPoint
+ MODEL
+ {
+ path = Waterfall/FX/fx-billboard-generic-1
+ positionOffset = 0,0,0
+ rotationOffset = 0,0,0
+ scaleOffset = 8,8,1
+ MATERIAL
+ {
+ transform = Billboard
+ shader = Waterfall/Billboard (Additive Directional)
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx_flarelamp-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.490196079,0.623529375,0.866666675,1
+ }
+ FLOAT
+ {
+ floatName = _DirectionScale
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 1.5
+ }
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = thrFlare
+ controllerName = throttle
+ transformName = Billboard
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = RandomnessController
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 1.5 0 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFTemplates_Borrowed.cfg b/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFTemplates_Borrowed.cfg
new file mode 100644
index 0000000..b4e5719
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/Waterfall/WFTemplates_Borrowed.cfg
@@ -0,0 +1,2908 @@
+EFFECTTEMPLATE
+{
+ templateName = plasmaEnginePlume
+ EFFECT
+ {
+ name = core
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-complex-plume-1
+ positionOffset = 0,0,0.829999983
+ rotationOffset = -90,0,0
+ scaleOffset = 1,1,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-4
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.913725495,0.611878753,0.286274523,1
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.925490201,0.862745106,0.549019635,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 2.40084982
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 5.7947793
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 3.01140714
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 3
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 5
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 40.3555107
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.33722401
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 1.8088876
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.933333337,0.87843138,0.56078434,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.921568632,0.630777597,0.239215687,1
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 2.72500372
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0.4044438
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.59249759
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 2.37111521
+ }
+ }
+ }
+ POSITIONMODIFIER
+ {
+ name = tailPos
+ controllerName = throttle
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 0.0500000007
+ xCurve
+ {
+ }
+ yCurve
+ {
+ key = 0 -10 0 0
+ }
+ zCurve
+ {
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = throatScale
+ controllerName = throttle
+ transformName = B_Throat
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = exitScale
+ controllerName = atmosphereDepth
+ transformName = B_Exit
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0.6 0 0
+ }
+ yCurve
+ {
+ key = 0 0.3 0 0
+ }
+ zCurve
+ {
+ key = 0 0.6 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = postExitScale
+ controllerName = atmosphereDepth
+ transformName = B_PostExit1
+ combinationType = REPLACE
+ useRandomness = True
+ randomnessController = random
+ randomnessScale = 0.0500000007
+ xCurve
+ {
+ key = 0 2.6 0 0
+ key = 1 1.3 0 0
+ }
+ yCurve
+ {
+ key = 0 1.2 0 0
+ }
+ zCurve
+ {
+ key = 0 2.6 0 0
+ key = 1 1.3 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = tailScale
+ controllerName = atmosphereDepth
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = True
+ randomnessController = random
+ randomnessScale = 0.300000012
+ xCurve
+ {
+ key = 0 8 0 0
+ key = 1 3 0 0
+ }
+ yCurve
+ {
+ key = 0 1 0 0
+ key = 1 0 0 0
+ }
+ zCurve
+ {
+ key = 0 8 0 0
+ key = 1 2 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = cylBright
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 1.5 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = cylBrightMult
+ controllerName = atmosphereDepth
+ transformName = CylinderMesh
+ combinationType = MULTIPLY
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0.2 0 0
+ key = 1 1 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = planeBright
+ controllerName = throttle
+ transformName = PlaneMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 0.4 0 0
+ }
+ }
+ }
+ EFFECT
+ {
+ name = flame
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,0.800000012
+ rotationOffset = -90,0,0
+ scaleOffset = 1,1,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.913725495,0.393269837,0.286274523,1
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.945098042,0.776470602,0.443137258,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1.96399951
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 11.8614368
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 2.7586298
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 0.5
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 78.7776718
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.33722401
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 1.8088876
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.933333337,0.87843138,0.56078434,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.921568632,0.630777597,0.239215687,1
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 2.72500372
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0.4044438
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.59249759
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 2.37111521
+ }
+ }
+ }
+ POSITIONMODIFIER
+ {
+ name = tailPos
+ controllerName = throttle
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 0.0500000007
+ xCurve
+ {
+ }
+ yCurve
+ {
+ key = 0 -15 0 0
+ }
+ zCurve
+ {
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = throatScale
+ controllerName = throttle
+ transformName = B_Throat
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = exitScale
+ controllerName = atmosphereDepth
+ transformName = B_Exit
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0.6 0 0
+ }
+ yCurve
+ {
+ key = 0 0.1 0 0
+ key = 1 0.1 0 0
+ }
+ zCurve
+ {
+ key = 0 0.6 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = tailScale
+ controllerName = atmosphereDepth
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = True
+ randomnessController = random
+ randomnessScale = 0.100000001
+ xCurve
+ {
+ key = 0 8 0 0
+ key = 1 7 0 0
+ }
+ yCurve
+ {
+ key = 0 1.4 0 0
+ key = 1 2 0 0
+ }
+ zCurve
+ {
+ key = 0 8 0 0
+ key = 1 7 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = cylBright
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 1 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = cylBrightMult
+ controllerName = atmosphereDepth
+ transformName = CylinderMesh
+ combinationType = MULTIPLY
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0.1 0 0
+ key = 1 0.7 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = planeBright
+ controllerName = throttle
+ transformName = PlaneMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 0.03 0 0
+ }
+ }
+ }
+}
+EFFECT
+{
+ name = core
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-complex-plume-1
+ positionOffset = 0,0,-2.29999995
+ rotationOffset = -90,0,0
+ scaleOffset = 0.800000012,2,0.800000012
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-4
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.913725495,0.365578383,0.442264736,1
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.925490201,0.411194444,0.688589811,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 2.45140529
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 5.71894598
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 4.67973804
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 3
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 8.28610611
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 78.7776794
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.33722401
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 2.2211082
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.933333337,0.443300724,0.70856452,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.921568632,0.630777597,0.239215687,1
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 2.72500372
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0.4044438
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.59249759
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 2.37111521
+ }
+ }
+ }
+ POSITIONMODIFIER
+ {
+ name = tailPos
+ controllerName = throttle
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 0.0500000007
+ xCurve
+ {
+ }
+ yCurve
+ {
+ key = 0 -10 0 0
+ }
+ zCurve
+ {
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = throatScale
+ controllerName = throttle
+ transformName = B_Throat
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = exitScale
+ controllerName = atmosphereDepth
+ transformName = B_Exit
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0.6 0 0
+ }
+ yCurve
+ {
+ key = 0 0.3 0 0
+ }
+ zCurve
+ {
+ key = 0 0.6 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = postExitScale
+ controllerName = atmosphereDepth
+ transformName = B_PostExit1
+ combinationType = REPLACE
+ useRandomness = True
+ randomnessController = random
+ randomnessScale = 0.0500000007
+ xCurve
+ {
+ key = 0 2.6 0 0
+ key = 1 1.3 0 0
+ }
+ yCurve
+ {
+ key = 0 1.2 0 0
+ }
+ zCurve
+ {
+ key = 0 2.6 0 0
+ key = 1 1.3 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = tailScale
+ controllerName = atmosphereDepth
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = True
+ randomnessController = random
+ randomnessScale = 0.300000012
+ xCurve
+ {
+ key = 0 8 0 0
+ key = 1 3 0 0
+ }
+ yCurve
+ {
+ key = 0 1 0 0
+ key = 1 0 0 0
+ }
+ zCurve
+ {
+ key = 0 8 0 0
+ key = 1 2 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = cylBright
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 1.5 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = cylBrightMult
+ controllerName = atmosphereDepth
+ transformName = CylinderMesh
+ combinationType = MULTIPLY
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0.2 0 0
+ key = 1 1 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = planeBright
+ controllerName = throttle
+ transformName = PlaneMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 0.4 0 0
+ }
+ }
+}
+
+
+
+// ==============================================================================================================
+EFFECTTEMPLATE
+{
+ templateName = plasmaEnginePlume2
+ EFFECT
+ {
+ name = flame
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,-2.29999995
+ rotationOffset = -90,0,0
+ scaleOffset = 1,1,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.317647099,0.341319114,0.968627453,1
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.90196079,0.533333361,0.725490212,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1.06166494
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 6.70477819
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 1.0504663
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 2
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 130.333298
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.66583455
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 10
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 18.1999722
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0.00999999978
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.933333337,0.517190874,0.65930444,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.431372553,0.709803939,0.97647059,1
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 2.72500372
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0.131110951
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.69360852
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 0.556110203
+ }
+ }
+ }
+ POSITIONMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Tail
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 0.0500000007
+ name = tailPos
+ combinationType = REPLACE
+ xCurve
+ {
+ }
+ yCurve
+ {
+ key = 0 -15 0 0
+ }
+ zCurve
+ {
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Throat
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = throatScale
+ combinationType = REPLACE
+ xCurve
+ {
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = atmosphereDepth
+ transformName = B_Exit
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = exitScale
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 0.6 0 0
+ }
+ yCurve
+ {
+ key = 0 0.1 0 0
+ key = 1 0.1 0 0
+ }
+ zCurve
+ {
+ key = 0 0.6 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = atmosphereDepth
+ transformName = B_Tail
+ useRandomness = True
+ randomnessController = random
+ randomnessScale = 0.100000001
+ name = tailScale
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 8 0 0
+ key = 1 7 0 0
+ }
+ yCurve
+ {
+ key = 0 1.4 0 0
+ key = 1 2 0 0
+ }
+ zCurve
+ {
+ key = 0 8 0 0
+ key = 1 7 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Brightness
+ controllerName = throttle
+ transformName = CylinderMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = cylBright
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 16 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Brightness
+ controllerName = atmosphereDepth
+ transformName = CylinderMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = cylBrightMult
+ combinationType = MULTIPLY
+ floatCurve
+ {
+ key = 0 0.1 0 0
+ key = 1 0.7 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Brightness
+ controllerName = throttle
+ transformName = PlaneMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = planeBright
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 1 0.03 0 0
+ }
+ }
+ }
+}
+
+
+
+// ==============================================================================================================
+
+
+
+
+EFFECTTEMPLATE
+{
+ templateName = kerbsteinPlume1
+ EFFECT
+ {
+ name = core1
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,-0.5
+ rotationOffset = -90,0,0
+ scaleOffset = 5.80000019,2,5.80000019
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 3.73112082
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1.87055254
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 2.80582905
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 200
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 22.2444115
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 10
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 1
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.761909664,0.835799754,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.400669128,0.622339487,1,1
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0.556110263
+ }
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 6.41056108
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 10
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 2.26388669
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0.96560961
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.564869344,0.704439521,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.269308925,0.614129484,1,1
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0
+ }
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.04668808
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 155.699768
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 39.4332733
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = newModifier
+ controllerName = throttle
+ transformName = B_Throat
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0 0 0
+ key = 1 0 0 0
+ }
+ yCurve
+ {
+ key = 0 0 0 0
+ key = 1 0 0 0
+ }
+ zCurve
+ {
+ key = 0 0 0 0
+ key = 1 0 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = float1
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 0.5 0 0
+ key = 1 3 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = float2
+ controllerName = throttle
+ transformName = PlaneMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 0.8 0 0
+ key = 1 3 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = tail1
+ controllerName = throttle
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0.5 0 0
+ key = 0.1 0.6 0 0
+ key = 0.5 0.8 0 0
+ key = 1 1 0 0
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ key = 0 0.5 0 0
+ key = 0.1 0.6 0 0
+ key = 0.5 0.8 0 0
+ key = 1 1 0 0
+ }
+ }
+ }
+}
+
+
+
+
+
+
+
+
+// ==============================================================================================================
+
+
+
+EFFECTTEMPLATE
+{
+ templateName = plasmaPlume1
+ EFFECT
+ {
+ name = core1
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,-1.79999995
+ rotationOffset = -90,0,0
+ scaleOffset = 0.800000012,2,0.800000012
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 4.54232883
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 3.21680689
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 3.57422996
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 146.146286
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 14.5026464
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0.929222345
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 1,0.794749737,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 1,0.449929208,1,1
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0.774416447
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 3.42778826
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 1.8605684
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 1,0.893269837,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 1,0.663389504,1,1
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.56721973
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0.934277892
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0.505554736
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 176.944183
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 18.1888638
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.36499774
+ }
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = float1
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 0 0 0
+ key = 1 2 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = tail1
+ controllerName = throttle
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 5 0 0
+ key = 1 15 0 0
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 5 0 0
+ key = 1 15 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = float2
+ controllerName = throttle
+ transformName = PlaneMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 0 0 0
+ key = 1 0.5 0 0
+ }
+ }
+ }
+}
+
+
+
+
+
+
+// ===========================================================
+
+
+
+
+
+
+EFFECTTEMPLATE
+{
+ templateName = plasmaPlume2
+ EFFECT
+ {
+ name = core
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,-0.5
+ rotationOffset = -90,0,0
+ scaleOffset = 1.5,5,1.5
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.65882355,0.939465284,0.980392158,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.375757486,0.258823544,0.90196079,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 2.66081548
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 2.61732912
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 15
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 18.0002747
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 1.55599129
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0.879121542
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 0.400000006
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 0.999999642
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.844009757,0.929095328,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.590245664,0.499189258,1,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 3.52889895
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 10
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 15
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0.707776666
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 1.37916613
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 4.91804981
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0.758332133
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 32.3555069
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 76.7444839
+ }
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Tail
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = tail1
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 5 0 0
+ key = 1 10 0 0
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 5 0 0
+ key = 1 10 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Brightness
+ controllerName = throttle
+ transformName = CylinderMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = float1
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 0 0 0
+ key = 1 1 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Brightness
+ controllerName = throttle
+ transformName = PlaneMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = float1
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 0.1 0 0
+ key = 1 1 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Noise
+ controllerName = throttle
+ transformName = PlaneMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = float3
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 1 0 0
+ key = 0.1 1 0 0
+ key = 0.8 0.8 0 0
+ key = 1 0 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _SpeedY
+ controllerName = throttle
+ transformName = PlaneMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = float4
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 200 0 0
+ key = 0.1 200 0 0
+ key = 1 0 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Noise
+ controllerName = throttle
+ transformName = PlaneMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = float5
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 1 0 0
+ key = 1 0 0 0
+ }
+ }
+ }
+}
+
+
+//======================================================
+
+EFFECTTEMPLATE
+{
+ templateName = mhEnginefx1
+ EFFECT
+ {
+ name = core1
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,0
+ rotationOffset = -90,0,0
+ scaleOffset = 1.79999995,1.29999995,1.79999995
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 1,0.893269837,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.980392158,0.215686277,0.478431374,1
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 4.3983264
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 1.26388693
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.06166506
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 178.955292
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 43.4777107
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0.959555626
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.89583039
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 1,0.893269837,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.980392158,0.356862754,0.592156887,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 0.495570391
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 4.0850091
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.74416411
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0.191112369
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 168.844193
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 38.4221649
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 5
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0.272999585
+ }
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Tail
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = tail1atmo
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 6 0 0
+ key = 1 3 0 0
+ }
+ yCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 1 0 0
+ key = 1 3 0 0
+ }
+ zCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 6 0 0
+ key = 1 3 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = atmosphereDepth
+ transformName = B_Tail
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = bright2
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 4 0 0
+ key = 0.5 2 0 0
+ key = 1 1 0 0
+ }
+ yCurve
+ {
+ key = 0 2 0 0
+ key = 0.5 2 0 0
+ key = 1 1 0 0
+ }
+ zCurve
+ {
+ key = 0 4 0 0
+ key = 0.5 2 0 0
+ key = 1 1 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Brightness
+ controllerName = throttle
+ transformName = CylinderMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = bright1
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.5 0 0
+ key = 1 2 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Brightness
+ controllerName = throttle
+ transformName = PlaneMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = bright2
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.1 0 0
+ key = 2 0.4 0 0
+ }
+ }
+ }
+}
+
+
+
+// =======================================================
+
+EFFECTTEMPLATE
+{
+ templateName = mhJetFx1
+ EFFECT
+ {
+ name = core1
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-complex-plume-1
+ positionOffset = 0,0,-1
+ rotationOffset = -90,0,0
+ scaleOffset = 1,1.29999995,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 5.30832529
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 1,0.893269837,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 1,0.679809511,1,1
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 0.834165335
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 3.63999438
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0.510610342
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 10
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 0.454999298
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 200
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 200
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-1
+ textureScale = 0.5,0.5
+ textureOffset = 0.5,0.5
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 1,0.868639827,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.983579993,0.786539733,1,1
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.59249759
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 0.986147285
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 200
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 200
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0.424666017
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.13749826
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 3.89277172
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 7.33054447
+ }
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = bright1
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.01 0 0
+ key = 0.1 0.5 0 0
+ key = 1 10 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = bright2
+ controllerName = throttle
+ transformName = PlaneMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.01 0 0
+ key = 0.1 0.2 0 0
+ key = 1 1 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = long1
+ controllerName = throttle
+ transformName = Waterfall/FX/fx-complex-plume-1(Clone)
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 1 0 0
+ key = 0.1 1 0 0
+ key = 1 1 0 0
+ }
+ yCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.1 0 0
+ key = 1 1 0 0
+ }
+ zCurve
+ {
+ key = 0 1 0 0
+ key = 0.1 1 0 0
+ key = 1 1 0 0
+ }
+ }
+ }
+}
+
+// =======================================================================
+EFFECTTEMPLATE
+{
+ templateName = mhPlasmaFX1
+ EFFECT
+ {
+ name = core1
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,0.0500000007
+ rotationOffset = -90,0,0
+ scaleOffset = 1,0.400000006,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.752941191,0.980392158,0.776470602,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.337254912,0.952941179,0.407843143,1
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 3.64352822
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 2.38281989
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0.0299999993
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.61972106
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 1.38307476
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 167.644501
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 24.330183
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 3.13443947
+ }
+ FLOAT
+ {
+ floatName = _TileX
+ value = 3.52777386
+ }
+ FLOAT
+ {
+ floatName = _TileY
+ value = 0.494445205
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ randomizeSeed = True
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-1
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.902972579,1,0.893269837,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.168627456,0.882352948,0.219607845,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 0.394459426
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 4.0850091
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.74416411
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0.191112369
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 168.844193
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 38.4221649
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.03638732
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 1
+ }
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = throttle
+ transformName = B_Tail
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = tail1atmo
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 6 0 0
+ key = 1 3 0 0
+ }
+ yCurve
+ {
+ key = 0 0 0 0
+ key = 0.1 1 0 0
+ key = 1 3 0 0
+ }
+ zCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 6 0 0
+ key = 1 3 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ controllerName = atmosphereDepth
+ transformName = B_Tail
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = bright2
+ combinationType = REPLACE
+ xCurve
+ {
+ key = 0 4 0 0
+ key = 0.5 2 0 0
+ key = 1 1 0 0
+ }
+ yCurve
+ {
+ key = 0 2 0 0
+ key = 0.5 2 0 0
+ key = 1 1 0 0
+ }
+ zCurve
+ {
+ key = 0 4 0 0
+ key = 0.5 2 0 0
+ key = 1 1 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Brightness
+ controllerName = throttle
+ transformName = CylinderMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = bright1
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.5 0 0
+ key = 1 2 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ floatName = _Brightness
+ controllerName = throttle
+ transformName = PlaneMesh
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ name = bright2
+ combinationType = REPLACE
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.1 0 0
+ key = 2 0.4 0 0
+ }
+ }
+ }
+}
+
+
+
+
+
+// ===========================================================
+
+EFFECTTEMPLATE
+{
+ templateName = attilaFX1
+ EFFECT
+ {
+ name = attilaPlume1
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,-1.5
+ rotationOffset = -90,0,0
+ scaleOffset = 1,1,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 2.75120354
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 8.27199841
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0.893833518
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.663389504,0.92610991,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.351409048,0.614129424,1,1
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 2.38281989
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 2.62888479
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 0.357422978
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 5.55991316
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 1.58854663
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 0.90001452
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 10
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.662745118,0.925490201,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.352941185,0.615686297,1,1
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.74740124
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 1
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0.642576993
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 0.297852486
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 10.5312796
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 3.97136641
+ }
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-2
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = bright1
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.3 0 0
+ key = 1 2 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = bright2
+ controllerName = throttle
+ transformName = PlaneMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.1 0 0
+ key = 1 0.4 0 0
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = tail1
+ controllerName = throttle
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 1 0 0
+ key = 1 5 0 0
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 1 0 0
+ key = 1 5 0 0
+ }
+ }
+ }
+}
+
+// ===============================================================================
+
+EFFECTTEMPLATE
+{
+ templateName = zPinchFX1
+ EFFECT
+ {
+ name = attilaPlume1
+ parentName = thrustTransform
+ MODEL
+ {
+ path = Waterfall/FX/fx-simple-plume-1
+ positionOffset = 0,0,-2.0999999
+ rotationOffset = -90,0,0
+ scaleOffset = 1,3,1
+ MATERIAL
+ {
+ transform = CylinderMesh
+ shader = Waterfall/Additive Directional
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.663389504,0.92610991,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.351409048,0.614129424,1,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 2.75120354
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 8.27199841
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0.893833518
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 2.38281989
+ }
+ FLOAT
+ {
+ floatName = _FresnelInvert
+ value = 0
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 2.62888479
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.01269853
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 200
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 146.940567
+ }
+ }
+ MATERIAL
+ {
+ transform = PlaneMesh
+ shader = Waterfall/Additive Directional
+ TEXTURE
+ {
+ textureSlotName = _MainTex
+ texturePath = Waterfall/FX/fx-noise-2
+ textureScale = 1,1
+ textureOffset = 0,0
+ }
+ COLOR
+ {
+ colorName = _StartTint
+ colorValue = 0.662745118,0.925490201,1,1
+ }
+ COLOR
+ {
+ colorName = _EndTint
+ colorValue = 0.352941185,0.615686297,1,1
+ }
+ FLOAT
+ {
+ floatName = _Falloff
+ value = 0.90001452
+ }
+ FLOAT
+ {
+ floatName = _Fresnel
+ value = 10
+ }
+ FLOAT
+ {
+ floatName = _TintFalloff
+ value = 1.74740124
+ }
+ FLOAT
+ {
+ floatName = _DirAdjust
+ value = 0.352889895
+ }
+ FLOAT
+ {
+ floatName = _Brightness
+ value = 0.956110239
+ }
+ FLOAT
+ {
+ floatName = _Noise
+ value = 1.66285038
+ }
+ FLOAT
+ {
+ floatName = _SpeedY
+ value = 200
+ }
+ FLOAT
+ {
+ floatName = _SpeedX
+ value = 189.004425
+ }
+ }
+ }
+ SCALEMODIFIER
+ {
+ name = tail1
+ controllerName = throttle
+ transformName = B_Tail
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ xCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 1 0 0
+ key = 1 20 0 0
+ }
+ yCurve
+ {
+ }
+ zCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 1 0 0
+ key = 1 20 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = bright1
+ controllerName = throttle
+ transformName = CylinderMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.3 0 0
+ key = 1 2 0 0
+ }
+ }
+ FLOATMODIFIER
+ {
+ name = bright2
+ controllerName = throttle
+ transformName = PlaneMesh
+ combinationType = REPLACE
+ useRandomness = False
+ randomnessController = random
+ randomnessScale = 1
+ floatName = _Brightness
+ floatCurve
+ {
+ key = 0 0 0 0
+ key = 0.01 0.1 0 0
+ key = 1 0.5 0 0
+ }
+ }
+ }
+}
diff --git a/GameData/SterlingSystems/Engines/zPatches/zTweakscale.cfg b/GameData/SterlingSystems/Engines/zPatches/zTweakscale.cfg
new file mode 100644
index 0000000..80c3127
--- /dev/null
+++ b/GameData/SterlingSystems/Engines/zPatches/zTweakscale.cfg
@@ -0,0 +1,58 @@
+@PART[strl-eng-125-*]:NEEDS[TweakScale]
+{
+ #@TWEAKSCALEBEHAVIOR[Engine]/MODULE[TweakScale] { }
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 1.25
+ }
+}
+
+@PART[strl-eng-250-*]:NEEDS[TweakScale]
+{
+ #@TWEAKSCALEBEHAVIOR[Engine]/MODULE[TweakScale] { }
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 2.5
+ scaleFactors = 1.25, 1.875, 2.5, 3.75, 5
+ scaleNames = 1.25m, 1.875m, 2.5m, 3.7m, 5m
+ }
+}
+
+@PART[strl-eng-375-*]:NEEDS[TweakScale]
+{
+ #@TWEAKSCALEBEHAVIOR[Engine]/MODULE[TweakScale] { }
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 3.75
+ scaleFactors = 2.5, 3.75, 5, 5.625, 6.25, 7.5, 10
+ scaleNames = 2.5m, 3.7m, 5m, 5.625m, 6.25m, 7.5m, 10m
+ }
+}
+
+@PART[strl-eng-500-*]:NEEDS[TweakScale]
+{
+ #@TWEAKSCALEBEHAVIOR[Engine]/MODULE[TweakScale] { }
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 5
+ scaleFactors = 2.5, 3.75, 5, 5.625, 6.25, 7.5, 10, 15, 20, 25, 50
+ scaleNames = 2.5m, 3.7m, 5m, 5.625m, 6.25m, 7.5m, 10m, 15m, 20m, 25m, 50m
+ }
+}
+
+@PART[strl-eng-1000-*]:NEEDS[TweakScale]
+{
+ #@TWEAKSCALEBEHAVIOR[Engine]/MODULE[TweakScale] { }
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 10
+ scaleFactors = 5, 5.625, 6.25, 7.5, 10, 15, 20, 25, 50, 75, 100
+ scaleNames = 5m, 5.625m, 6.25m, 7.5m, 10m, 15m, 20m, 25m, 50m, 75m, 100m
+ }
+}
+
diff --git a/GameData/SterlingSystems/Tankage/B9TankTypes.cfg b/GameData/SterlingSystems/Tankage/B9TankTypes.cfg
new file mode 100644
index 0000000..d211431
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/B9TankTypes.cfg
@@ -0,0 +1,110 @@
+B9_TANK_TYPE:NEEDS[CommunityResourcePack]
+{
+ name = MAECAlumina
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = ElectricCharge
+ unitsPerVolume = 1
+ }
+ RESOURCE
+ {
+ name = Aluminium
+ unitsPerVolume = 2.5
+ }
+ RESOURCE
+ {
+ name = Alumina
+ unitsPerVolume = 2.5
+ percentFilled = 0
+ }
+}
+B9_TANK_TYPE
+{
+ name = STRLNuclearSalt
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = FissileFuel
+ unitsPerVolume = 1
+ }
+}
+B9_TANK_TYPE
+{
+ name = STRLNuclearSaltMix
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = FissileFuel
+ unitsPerVolume = 0.5
+ }
+ RESOURCE
+ {
+ name = FizzledFuel
+ unitsPerVolume = 0.5
+ percentFilled = 0
+ }
+}
+B9_TANK_TYPE
+{
+ name = STRLNuclearSaltSpent
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = FizzledFuel
+ unitsPerVolume = 1
+ percentFilled = 0
+ }
+}
+
+B9_TANK_TYPE
+{
+ name = STRLNuclearPebbles
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = FissilePebbles
+ unitsPerVolume = 1
+ }
+}
+B9_TANK_TYPE
+{
+ name = STRLNuclearPebblesMix
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = FissilePebbles
+ unitsPerVolume = 0.5
+ }
+ RESOURCE
+ {
+ name = FizzledPebbles
+ unitsPerVolume = 0.5
+ percentFilled = 0
+ }
+}
+B9_TANK_TYPE
+{
+ name = STRLNuclearPebblesSpent
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = FizzledPebbles
+ unitsPerVolume = 1
+ percentFilled = 0
+ }
+}
diff --git a/GameData/SterlingSystems/Tankage/Fuel/BlackS2.mu b/GameData/SterlingSystems/Tankage/Fuel/BlackS2.mu
new file mode 100644
index 0000000..992bd85
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/BlackS2.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/BlackS3.mu b/GameData/SterlingSystems/Tankage/Fuel/BlackS3.mu
new file mode 100644
index 0000000..a796f4d
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/BlackS3.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/BlackS4.mu b/GameData/SterlingSystems/Tankage/Fuel/BlackS4.mu
new file mode 100644
index 0000000..63e4f3c
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/BlackS4.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/GrayS2.mu b/GameData/SterlingSystems/Tankage/Fuel/GrayS2.mu
new file mode 100644
index 0000000..58f867a
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/GrayS2.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/GrayS3.mu b/GameData/SterlingSystems/Tankage/Fuel/GrayS3.mu
new file mode 100644
index 0000000..cb25778
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/GrayS3.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/GrayS4.mu b/GameData/SterlingSystems/Tankage/Fuel/GrayS4.mu
new file mode 100644
index 0000000..f6d350e
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/GrayS4.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/Pills_BSPEC.dds b/GameData/SterlingSystems/Tankage/Fuel/Pills_BSPEC.dds
new file mode 100644
index 0000000..a5284fd
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/Pills_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/Pills_DIFF.dds b/GameData/SterlingSystems/Tankage/Fuel/Pills_DIFF.dds
new file mode 100644
index 0000000..5484158
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/Pills_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/Pills_EMM.dds b/GameData/SterlingSystems/Tankage/Fuel/Pills_EMM.dds
new file mode 100644
index 0000000..0a32a17
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/Pills_EMM.dds differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/Pills_NRM.dds b/GameData/SterlingSystems/Tankage/Fuel/Pills_NRM.dds
new file mode 100644
index 0000000..9da0eae
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/Pills_NRM.dds differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankBlack_S2.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankBlack_S2.cfg
new file mode 100644
index 0000000..edb359c
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankBlack_S2.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillb-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/BlackS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.1, 0, 0, 1, 0, 2
+ node_stack_offsetBottom = 0, -1.1, 0, 0, -1, 0, 2
+ TechRequired = largeVolumeContainment
+ entryCost = 12500
+ cost = 11672
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillb_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 2.558
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 1636
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 1636
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 2.5m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 6.5m
+ addedMass = 6.138
+ addedCost = 28013
+ volumeAddedToParent = 3928
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 3.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -3.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 10.5m
+ addedMass = 12.275
+ addedCost = 56025
+ volumeAddedToParent = 7855
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 14.5m
+ addedMass = 18.413
+ addedCost = 84038
+ volumeAddedToParent = 11783
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 7.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -7.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankBlack_S3.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankBlack_S3.cfg
new file mode 100644
index 0000000..4c9d041
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankBlack_S3.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillb-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/BlackS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.7, 0, 0, 1, 0, 2
+ node_stack_offsetBottom = 0, -1.7, 0, 0, -1, 0, 2
+ TechRequired = highPerformanceFuelSystems
+ entryCost = 39000
+ cost = 39393
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillb_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 8.63
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 5523
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 5523
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 3.75m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 7.75m
+ addedMass = 13.808
+ addedCost = 63029
+ volumeAddedToParent = 8837
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 3.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -3.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 11.75m
+ addedMass = 27.615
+ addedCost = 126058
+ volumeAddedToParent = 17674
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 15.75m
+ addedMass = 41.423
+ addedCost = 189086
+ volumeAddedToParent = 26511
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 7.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -7.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankBlack_S4.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankBlack_S4.cfg
new file mode 100644
index 0000000..b857a67
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankBlack_S4.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillb-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/BlackS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 2.5, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 2.3, 0, 0, 1, 0, 4
+ node_stack_offsetBottom = 0, -2.3, 0, 0, -1, 0, 4
+ TechRequired = highPerformanceFuelSystems
+ entryCost = 98250
+ cost = 93376
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillb_500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 20.455
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size4,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 13092
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 13092
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 5m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 9m
+ addedMass = 24.548
+ addedCost = 112052
+ volumeAddedToParent = 13092
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 4.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -4.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 13m
+ addedMass = 49.095
+ addedCost = 224104
+ volumeAddedToParent = 31420
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 6.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -6.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 17m
+ addedMass = 73.643
+ addedCost = 336155
+ volumeAddedToParent = 47130
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 8.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -8.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankGray_S2.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankGray_S2.cfg
new file mode 100644
index 0000000..7e94c8a
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankGray_S2.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillg-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/GrayS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.1, 0, 0, 1, 0, 2
+ node_stack_offsetBottom = 0, -1.1, 0, 0, -1, 0, 2
+ TechRequired = largeVolumeContainment
+ entryCost = 125000
+ cost = 12969
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillg_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillg_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 1.023
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 1636
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 1636
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 2.5m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 6.5m
+ addedMass = 2.455
+ addedCost = 31125
+ volumeAddedToParent = 3928
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 3.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -3.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 10.5m
+ addedMass = 4.909
+ addedCost = 62250
+ volumeAddedToParent = 7855
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 14.5m
+ addedMass = 7.364
+ addedCost = 93375
+ volumeAddedToParent = 11783
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 7.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -7.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankGray_S3.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankGray_S3.cfg
new file mode 100644
index 0000000..4bb835d
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankGray_S3.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillg-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/GrayS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.7, 0, 0, 1, 0, 2
+ node_stack_offsetBottom = 0, -1.7, 0, 0, -1, 0, 2
+ TechRequired = highPerformanceFuelSystems
+ entryCost = 39000
+ cost = 43770
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillg_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillg_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 3.452
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 5523
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 5523
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 3.75m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 7.75m
+ addedMass = 5.523
+ addedCost = 70032
+ volumeAddedToParent = 8837
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 3.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -3.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 11.75m
+ addedMass = 11.046
+ addedCost = 140064
+ volumeAddedToParent = 17674
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 15.75m
+ addedMass = 16.569
+ addedCost = 210096
+ volumeAddedToParent = 26511
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 7.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -7.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankGray_S4.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankGray_S4.cfg
new file mode 100644
index 0000000..d092786
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankGray_S4.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillg-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/GrayS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 2.5, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 2.3, 0, 0, 1, 0, 4
+ node_stack_offsetBottom = 0, -2.3, 0, 0, -1, 0, 4
+ TechRequired = highPerformanceFuelSystems
+ entryCost = 98250
+ cost = 103751
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillg_500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillg_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 8.182
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size4,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 13092
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 13092
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 5m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 9m
+ addedMass = 9.819
+ addedCost = 124502
+ volumeAddedToParent = 13092
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 4.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -4.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 13m
+ addedMass = 19.638
+ addedCost = 249004
+ volumeAddedToParent = 31420
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 6.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -6.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 17m
+ addedMass = 29.456
+ addedCost = 373506
+ volumeAddedToParent = 47130
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 8.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -8.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankWhiteGloss_S2.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteGloss_S2.cfg
new file mode 100644
index 0000000..e667ec6
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteGloss_S2.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillwg-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/WhiteGlossS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.1, 0, 0, 1, 0, 2
+ node_stack_offsetBottom = 0, -1.1, 0, 0, -1, 0, 2
+ TechRequired = largeVolumeContainment
+ entryCost = 12500
+ cost = 12969
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillwg_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillwg_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 1.023
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 1636
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 1636
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 2.5m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 6.5m
+ addedMass = 2.455
+ addedCost = 0
+ volumeAddedToParent = 3928
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 3.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -3.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 10.5m
+ addedMass = 4.909
+ addedCost = 0
+ volumeAddedToParent = 7855
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 14.5m
+ addedMass = 7.364
+ addedCost = 0
+ volumeAddedToParent = 11783
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 7.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -7.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankWhiteGloss_S3.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteGloss_S3.cfg
new file mode 100644
index 0000000..7b797a0
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteGloss_S3.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillwg-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/WhiteGlossS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.7, 0, 0, 1, 0, 2
+ node_stack_offsetBottom = 0, -1.7, 0, 0, -1, 0, 2
+ TechRequired = highPerformanceFuelSystems
+ entryCost = 39000
+ cost = 43770
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillwg_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillwg_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 3.452
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 5523
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 5523
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 3.75m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 7.75m
+ addedMass = 5.523
+ addedCost = 0
+ volumeAddedToParent = 8837
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 3.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -3.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 11.75m
+ addedMass = 11.046
+ addedCost = 0
+ volumeAddedToParent = 17674
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 15.75m
+ addedMass = 16.569
+ addedCost = 0
+ volumeAddedToParent = 26511
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 7.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -7.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankWhiteGloss_S4.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteGloss_S4.cfg
new file mode 100644
index 0000000..c3165a8
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteGloss_S4.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillwg-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/WhiteGlossS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 2.5, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 2.3, 0, 0, 1, 0, 4
+ node_stack_offsetBottom = 0, -2.3, 0, 0, -1, 0, 4
+ TechRequired = highPerformanceFuelSystems
+ entryCost = 98250
+ cost = 103751
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillwg_500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillwg_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 8.182
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size4,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 13092
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 13092
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 5m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 9m
+ addedMass = 9.819
+ addedCost = 0
+ volumeAddedToParent = 13092
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 4.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -4.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 13m
+ addedMass = 19.638
+ addedCost = 0
+ volumeAddedToParent = 31420
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 6.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -6.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 17m
+ addedMass = 29.456
+ addedCost = 0
+ volumeAddedToParent = 47130
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 8.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -8.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankWhiteMatte_S2.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteMatte_S2.cfg
new file mode 100644
index 0000000..97ac54f
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteMatte_S2.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillwm-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/WhiteMatteS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.1, 0, 0, 1, 0, 2
+ node_stack_offsetBottom = 0, -1.1, 0, 0, -1, 0, 2
+ TechRequired = largeVolumeContainment
+ entryCost = 12500
+ cost = 12969
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillwm_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillwm_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 1.023
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 1636
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 1636
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 2.5m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 6.5m
+ addedMass = 2.455
+ addedCost = 24900
+ volumeAddedToParent = 3928
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 3.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -3.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 10.5m
+ addedMass = 4.909
+ addedCost = 49800
+ volumeAddedToParent = 7855
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 14.5m
+ addedMass = 7.364
+ addedCost = 74700
+ volumeAddedToParent = 11783
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 7.1, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -7.1, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankWhiteMatte_S3.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteMatte_S3.cfg
new file mode 100644
index 0000000..3c4c706
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteMatte_S3.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillwm-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/WhiteMatteS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.7, 0, 0, 1, 0, 2
+ node_stack_offsetBottom = 0, -1.7, 0, 0, -1, 0, 2
+ TechRequired = highPerformanceFuelSystems
+ entryCost = 39000
+ cost = 35016
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillwm_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillwm_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 3.452
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 5523
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 5523
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 3.75m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 7.75m
+ addedMass = 5.523
+ addedCost = 56026
+ volumeAddedToParent = 8837
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 3.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -3.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 11.75m
+ addedMass = 11.046
+ addedCost = 112051
+ volumeAddedToParent = 17674
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 15.75m
+ addedMass = 16.569
+ addedCost = 168077
+ volumeAddedToParent = 26511
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 7.7, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -7.7, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/TankWhiteMatte_S4.cfg b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteMatte_S4.cfg
new file mode 100644
index 0000000..591538b
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Fuel/TankWhiteMatte_S4.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankpillwm-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Fuel/WhiteMatteS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 2.5, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 2.3, 0, 0, 1, 0, 4
+ node_stack_offsetBottom = 0, -2.3, 0, 0, -1, 0, 4
+ TechRequired = highPerformanceFuelSystems
+ entryCost = 98250
+ cost = 83001
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankpillwm_500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankpillwm_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 8.182
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size4,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 13092
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = frameTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 13092
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 5m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 9m
+ addedMass = 9.819
+ addedCost = 99602
+ volumeAddedToParent = 13092
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 4.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -4.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 13m
+ addedMass = 19.638
+ addedCost = 199203
+ volumeAddedToParent = 31420
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 6.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -6.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 17m
+ addedMass = 29.456
+ addedCost = 298805
+ volumeAddedToParent = 47130
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 8.3, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -8.3, 0
+ }
+ TRANSFORM
+ {
+ name = frameBottom
+ positionOffset = 0, -6, 0
+ }
+ TRANSFORM
+ {
+ name = frameTop
+ positionOffset = 0, 6, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Fuel/WhiteGlossS2.mu b/GameData/SterlingSystems/Tankage/Fuel/WhiteGlossS2.mu
new file mode 100644
index 0000000..e153482
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/WhiteGlossS2.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/WhiteGlossS3.mu b/GameData/SterlingSystems/Tankage/Fuel/WhiteGlossS3.mu
new file mode 100644
index 0000000..6c9c0ca
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/WhiteGlossS3.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/WhiteGlossS4.mu b/GameData/SterlingSystems/Tankage/Fuel/WhiteGlossS4.mu
new file mode 100644
index 0000000..0588790
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/WhiteGlossS4.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/WhiteMatteS2.mu b/GameData/SterlingSystems/Tankage/Fuel/WhiteMatteS2.mu
new file mode 100644
index 0000000..546c1ab
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/WhiteMatteS2.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/WhiteMatteS3.mu b/GameData/SterlingSystems/Tankage/Fuel/WhiteMatteS3.mu
new file mode 100644
index 0000000..5983e59
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/WhiteMatteS3.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/WhiteMatteS4.mu b/GameData/SterlingSystems/Tankage/Fuel/WhiteMatteS4.mu
new file mode 100644
index 0000000..2353236
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/WhiteMatteS4.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/tankStruts_DIFF.dds b/GameData/SterlingSystems/Tankage/Fuel/tankStruts_DIFF.dds
new file mode 100644
index 0000000..0cad077
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/tankStruts_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Tankage/Fuel/tankStruts_NRM.dds b/GameData/SterlingSystems/Tankage/Fuel/tankStruts_NRM.dds
new file mode 100644
index 0000000..0406795
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Fuel/tankStruts_NRM.dds differ
diff --git a/GameData/SterlingSystems/Tankage/Ore/BlackS2.mu b/GameData/SterlingSystems/Tankage/Ore/BlackS2.mu
new file mode 100644
index 0000000..3b800be
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Ore/BlackS2.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Ore/BlackS3.mu b/GameData/SterlingSystems/Tankage/Ore/BlackS3.mu
new file mode 100644
index 0000000..72e3190
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Ore/BlackS3.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Ore/BlackS4.mu b/GameData/SterlingSystems/Tankage/Ore/BlackS4.mu
new file mode 100644
index 0000000..f610f15
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Ore/BlackS4.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Ore/DrumShrouds_DIFF.dds b/GameData/SterlingSystems/Tankage/Ore/DrumShrouds_DIFF.dds
new file mode 100644
index 0000000..b28eef2
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Ore/DrumShrouds_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Tankage/Ore/DrumShrouds_NRM.dds b/GameData/SterlingSystems/Tankage/Ore/DrumShrouds_NRM.dds
new file mode 100644
index 0000000..5752fb3
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Ore/DrumShrouds_NRM.dds differ
diff --git a/GameData/SterlingSystems/Tankage/Ore/Drums_DIFF.dds b/GameData/SterlingSystems/Tankage/Ore/Drums_DIFF.dds
new file mode 100644
index 0000000..fc02b4e
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Ore/Drums_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Tankage/Ore/Drums_NRM.dds b/GameData/SterlingSystems/Tankage/Ore/Drums_NRM.dds
new file mode 100644
index 0000000..159a005
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Ore/Drums_NRM.dds differ
diff --git a/GameData/SterlingSystems/Tankage/Ore/TankBlack_S2.cfg b/GameData/SterlingSystems/Tankage/Ore/TankBlack_S2.cfg
new file mode 100644
index 0000000..722a0d8
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Ore/TankBlack_S2.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankdrumb-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Ore/BlackS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 0.8, 0, 0, 1, 0, 2
+ node_stack_offsetBottom = 0, -0.8, 0, 0, -1, 0, 2
+ TechRequired = largeVolumeContainment
+ entryCost = 6850
+ cost = 6224 // 7781
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankdrumb_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankdrumb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 1.535
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 982
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 982
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 1m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 5m
+ addedMass = 6.138
+ addedCost = 27664
+ volumeAddedToParent = 3928
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 2.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -2.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 11m
+ addedMass = 15.344
+ addedCost = 69160
+ volumeAddedToParent = 9819
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -5, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 17m
+ addedMass = 24.55
+ addedCost = 110656
+ volumeAddedToParent = 15710
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 8.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -8.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 8, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Ore/TankBlack_S3.cfg b/GameData/SterlingSystems/Tankage/Ore/TankBlack_S3.cfg
new file mode 100644
index 0000000..972ff91
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Ore/TankBlack_S3.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankdrumb-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Ore/BlackS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.3, 0, 0, 1, 0, 3
+ node_stack_offsetBottom = 0, -1.3, 0, 0, -1, 0, 3
+ TechRequired = largeVolumeContainment
+ entryCost = 29850
+ cost = 28010
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankdrumb_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankdrumb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 6.905
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 4418
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 4418
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 2m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 5m
+ addedMass = 10.355
+ addedCost = 46683
+ volumeAddedToParent = 6628
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 2.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -2.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -1.5, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 1.5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 11m
+ addedMass = 25.888
+ addedCost = 116708
+ volumeAddedToParent = 19883
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -4.5, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 4.5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 17m
+ addedMass = 41.42
+ addedCost = 186733
+ volumeAddedToParent = 33138
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 8.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -8.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -7.5, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 7.5, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Ore/TankBlack_S4.cfg b/GameData/SterlingSystems/Tankage/Ore/TankBlack_S4.cfg
new file mode 100644
index 0000000..2c44298
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Ore/TankBlack_S4.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankdrumb-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Ore/BlackS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 2.5, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.8, 0, 0, 1, 0, 4
+ node_stack_offsetBottom = 0, -1.8, 0, 0, -1, 0, 4
+ TechRequired = largeVolumeContainment
+ entryCost = 90000
+ cost = 84038 // 93376
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankdrumb_500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankdrumb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 7.364
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size4,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 11783
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 11783
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 3m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 7m
+ addedMass = 9.819
+ addedCost = 99594
+ volumeAddedToParent = 15710
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 3.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -3.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 11m
+ addedMass = 19.638
+ addedCost = 199188
+ volumeAddedToParent = 31420
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 17m
+ addedMass = 34.366
+ addedCost = 348574
+ volumeAddedToParent = 54985
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 8.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -8.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -7, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 7, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Ore/TankWhite_S2.cfg b/GameData/SterlingSystems/Tankage/Ore/TankWhite_S2.cfg
new file mode 100644
index 0000000..7d481d3
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Ore/TankWhite_S2.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankdrumw-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Ore/WhiteS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 0.8, 0, 0, 1, 0, 2
+ node_stack_offsetBottom = 0, -0.8, 0, 0, -1, 0, 2
+ TechRequired = largeVolumeContainment
+ entryCost = 6850
+ cost = 7003 // 7781
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankdrumw_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankdrumw_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 0.614
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 982
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 982
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 1m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 5m
+ addedMass = 2.455
+ addedCost = 31125
+ volumeAddedToParent = 3928
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 2.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -2.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 11m
+ addedMass = 6.138
+ addedCost = 77813
+ volumeAddedToParent = 9819
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -5, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 17m
+ addedMass = 9.82
+ addedCost = 124500
+ volumeAddedToParent = 15710
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 8.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -8.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 8, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Ore/TankWhite_S3.cfg b/GameData/SterlingSystems/Tankage/Ore/TankWhite_S3.cfg
new file mode 100644
index 0000000..19dad65
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Ore/TankWhite_S3.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankdrumw-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Ore/WhiteS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.3, 0, 0, 1, 0, 3
+ node_stack_offsetBottom = 0, -1.3, 0, 0, -1, 0, 3
+ TechRequired = largeVolumeContainment
+ entryCost = 29850
+ cost = 31514 // 35016
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankdrumw_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankdrumw_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 2.762
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 4418
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 4418
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 2m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 5m
+ addedMass = 4.142
+ addedCost = 52524
+ volumeAddedToParent = 6628
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 2.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -2.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -1.5, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 1.5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 11m
+ addedMass = 10.355
+ addedCost = 131310
+ volumeAddedToParent = 19883
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -4.5, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 4.5, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 17m
+ addedMass = 16.568
+ addedCost = 210096
+ volumeAddedToParent = 33138
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 8.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -8.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -7.5, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 7.5, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Ore/TankWhite_S4.cfg b/GameData/SterlingSystems/Tankage/Ore/TankWhite_S4.cfg
new file mode 100644
index 0000000..c7a5c96
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/Ore/TankWhite_S4.cfg
@@ -0,0 +1,234 @@
+PART
+{
+ name = strl-tankdrumw-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Tankage/Ore/WhiteS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 2.5, 0.0, 0.0, -1.0
+ node_stack_offsetTop = 0, 1.8, 0, 0, 1, 0, 4
+ node_stack_offsetBottom = 0, -1.8, 0, 0, -1, 0, 4
+ TechRequired = largeVolumeContainment
+ entryCost = 90000
+ cost = 84038 // 93376
+ category = FuelTank
+ subcategory = 0
+ title = #LOC_strl_tankdrumw_500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_tankdrumw_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 7.364
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size4,srf
+ crashTolerance = 20
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.6
+
+ refVolume = 11783
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top03
+ transform = top03
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudBottom
+ attachNodeNames = bottom,bottom01,bottom02,bottom03
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = ShroudTop
+ attachNodeNames = top,top01,top02,top03
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = fuelSwitch
+ baseVolume = 11783
+ switcherDescription = #LOC_strl_fuelSwitch
+ switcherDescriptionPlural = #LOC_strl_fuelSwitchPlural
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Structural
+ title = Structural
+ // primaryColor =
+ // secondaryColor =
+ }
+ }
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = capacity
+ parentID = fuelSwitch
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1
+ title = 3m
+ transform = h1
+ node = bottom
+ node = top
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = 7m
+ addedMass = 9.819
+ addedCost = 112054
+ volumeAddedToParent = 15710
+ transform = h2
+ node = bottom01
+ node = top01
+ NODE
+ {
+ name = offsetTop
+ position = 0, 3.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -3.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -2, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 2, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = 11m
+ addedMass = 19.638
+ addedCost = 224109
+ volumeAddedToParent = 31420
+ transform = h3
+ node = bottom02
+ node = top02
+ NODE
+ {
+ name = offsetTop
+ position = 0, 5.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -5.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -4, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 4, 0
+ }
+ }
+ SUBTYPE
+ {
+ name = 4
+ title = 17m
+ addedMass = 34.366
+ addedCost = 392185
+ volumeAddedToParent = 54985
+ transform = h4
+ node = bottom03
+ node = top03
+ NODE
+ {
+ name = offsetTop
+ position = 0, 8.8, 0
+ }
+ NODE
+ {
+ name = offsetBottom
+ position = 0, -8.8, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudBottom
+ positionOffset = 0, -7, 0
+ }
+ TRANSFORM
+ {
+ name = ShroudTop
+ positionOffset = 0, 7, 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/Ore/WhiteS2.mu b/GameData/SterlingSystems/Tankage/Ore/WhiteS2.mu
new file mode 100644
index 0000000..29e8b75
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Ore/WhiteS2.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Ore/WhiteS3.mu b/GameData/SterlingSystems/Tankage/Ore/WhiteS3.mu
new file mode 100644
index 0000000..cf594b1
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Ore/WhiteS3.mu differ
diff --git a/GameData/SterlingSystems/Tankage/Ore/WhiteS4.mu b/GameData/SterlingSystems/Tankage/Ore/WhiteS4.mu
new file mode 100644
index 0000000..fe9f6af
Binary files /dev/null and b/GameData/SterlingSystems/Tankage/Ore/WhiteS4.mu differ
diff --git a/GameData/SterlingSystems/Tankage/zPataches/B9PS_DrumTankOptions.cfg b/GameData/SterlingSystems/Tankage/zPataches/B9PS_DrumTankOptions.cfg
new file mode 100644
index 0000000..3a29869
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/zPataches/B9PS_DrumTankOptions.cfg
@@ -0,0 +1,271 @@
+@PART[strl-tankdrumw-*]:NEEDS[B9PartSwitch,CommunityResourcePack]
+{
+ @MODULE[ModuleB9PartSwitch],0
+ {
+ SUBTYPE
+ {
+ name = Ore
+ title = #autoLOC_6002103
+ RESOURCE
+ {
+ name = Ore
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = Alumina
+ title = #LOC_CRP_Alumina_DisplayName
+ primaryColor = Grey
+ secondaryColor = Grey
+ RESOURCE
+ {
+ name = Alumina
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = Aluminium
+ title = #LOC_CRP_Aluminium_DisplayName
+ primaryColor = Grey
+ secondaryColor = Grey
+ RESOURCE
+ {
+ name = Aluminium
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = Carbon
+ title = Carbon
+ primaryColor = Dark
+ secondaryColor = Dark
+ RESOURCE
+ {
+ name = Carbon
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = MetallicOre
+ title = #LOC_CRP_MetallicOre_DisplayName
+ primaryColor = BrownishGrey
+ secondaryColor = BrownishGrey
+ RESOURCE
+ {
+ name = MetallicOre
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = Metals
+ title = #LOC_CRP_Metals_DisplayName
+ primaryColor = Gunmetal
+ secondaryColor = Gunmetal
+ RESOURCE
+ {
+ name = Metals
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE:NEEDS[Launchpad]
+ {
+ name = MetalOre
+ title = #EL_MetalOre_displayName
+ primaryColor = BrownishGrey
+ secondaryColor = BrownishGrey
+ RESOURCE
+ {
+ name = MetalOre
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE:NEEDS[Launchpad]
+ {
+ name = Metal
+ title = #EL_Metal_displayName
+ primaryColor = Gunmetal
+ secondaryColor = Gunmetal
+ RESOURCE
+ {
+ name = Metal
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE:NEEDS[Launchpad]
+ {
+ name = RocketParts
+ title = #LOC_CRP_RocketParts_DisplayName
+ primaryColor = PumpkinOrange
+ secondaryColor = PumpkinOrange
+ RESOURCE
+ {
+ name = RocketParts
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = Hydrates
+ title = #LOC_CRP_Hydrates_DisplayName
+ primaryColor = FadedBlue
+ secondaryColor = FadedBlue
+ RESOURCE
+ {
+ name = Hydrates
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = Lithium
+ title = #LOC_CRP_Lithium_DisplayName
+ primaryColor = BrownishRed
+ secondaryColor = BrownishRed
+ RESOURCE
+ {
+ name = Lithium
+ unitsPerVolume = 7.5
+ }
+ }
+ SUBTYPE
+ {
+ name = Minerals
+ title = #LOC_CRP_Minerals_DisplayName
+ primaryColor = FadedGreen
+ secondaryColor = FadedGreen
+ RESOURCE
+ {
+ name = Minerals
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = Monazite
+ title = #LOC_CRP_Monazite_DisplayName
+ primaryColor = BrownishOrange
+ secondaryColor = BrownishOrange
+ RESOURCE
+ {
+ name = Monazite
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = RareMetals
+ title = #LOC_CRP_RareMetals_DisplayName
+ primaryColor = DarkGreyBlue
+ secondaryColor = DarkGreenBlue
+ RESOURCE
+ {
+ name = RareMetals
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = Rock
+ title = #LOC_CRP_Rock_DisplayName
+ primaryColor = Desert
+ secondaryColor = Desert
+ RESOURCE
+ {
+ name = Rock
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = Silicates
+ title = #LOC_CRP_Silicates_DisplayName
+ primaryColor = DarkPeach
+ RESOURCE
+ {
+ name = Silicates
+ unitsPerVolume = 5
+ }
+ secondaryColor = DarkPeach
+ }
+ SUBTYPE
+ {
+ name = Spodumene
+ title = #LOC_CRP_Spodumene_DisplayName
+ primaryColor = DullYellow
+ secondaryColor = DullYellow
+ RESOURCE
+ {
+ name = Spodumene
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = Water
+ title = #LOC_CRP_Water_DisplayName
+ primaryColor = Ocean
+ secondaryColor = Ocean
+ RESOURCE
+ {
+ name = Water
+ unitsPerVolume = 5
+ }
+ }
+ }
+}
+@PART[strl-tankdrumb-*]
+{
+ @MODULE[ModuleB9PartSwitch],0
+ {
+ SUBTYPE
+ {
+ name = Uraninite
+ title = #LOC_CRP_Uraninite_DisplayName
+ primaryColor = BoringGreen
+ secondaryColor = BoringGreen
+ RESOURCE
+ {
+ name = Uraninite
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE:NEEDS[FarFutureTechnologies]
+ {
+ name = NSW
+ title = #LOC_FFT_resource_NuclearSaltWater_title
+ primaryColor = #c78c40
+ secondaryColor = #777777
+ descriptionSummary = #LOC_FFT_switcher_fission-contents_nsw_summary
+ descriptionDetail = #LOC_FFT_switcher_fission-contents_nsw_detail
+ tankType = NuclearSaltWater
+ }
+ SUBTYPE:NEEDS[FarFutureTechnologies]
+ {
+ name = FissionDust
+ title = #LOC_FFT_resource_FissionParticles_title
+ primaryColor = #583232
+ secondaryColor = #777777
+ descriptionSummary = #LOC_FFT_switcher_fission-contents_dustyplasma_summary
+ descriptionDetail = #LOC_FFT_switcher_fission-contents_dustyplasma_detail
+ tankType = FissionParticles
+ }
+ }
+}
+
+@PART[strl-tankdrum*]:NEEDS[B9PartSwitch,CommunityResourcePack]
+{
+ @MODULE[ModuleB9PartSwitch],1
+ {
+ @SUBTYPE:HAS[#addedCost],*
+ {
+ @addedCost = #$addedMass$
+ @addedCost /= #$/mass$
+ @addedCost *= #$/cost$
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/zPataches/B9PS_PillTankOptions.cfg b/GameData/SterlingSystems/Tankage/zPataches/B9PS_PillTankOptions.cfg
new file mode 100644
index 0000000..d70a7e2
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/zPataches/B9PS_PillTankOptions.cfg
@@ -0,0 +1,492 @@
+@PART[strl-tankpillwg-*]:NEEDS[B9PartSwitch,CommunityResourcePack]
+{
+ MODULE:NEEDS[CryoTanks]
+ {
+ name = ModuleCryoTank
+ BOILOFFCONFIG
+ {
+ FuelName = LqdAmmonia
+ BoiloffRate = 0.0035
+ CoolingCost = 0.010
+ }
+ BOILOFFCONFIG
+ {
+ FuelName = LqdCO
+ BoiloffRate = 0.04
+ CoolingCost = 0.04
+ }
+ BOILOFFCONFIG
+ {
+ FuelName = LqdCO2
+ BoiloffRate = 0.005
+ CoolingCost = 0.015
+ }
+ BOILOFFCONFIG
+ {
+ FuelName = LqdDeuterium
+ BoiloffRate = 0.05
+ CoolingCost = 0.08
+ }
+ BOILOFFCONFIG
+ {
+ FuelName = LqdHe3
+ BoiloffRate = 0.05
+ CoolingCost = 0.08
+ }
+ BOILOFFCONFIG
+ {
+ FuelName = LqdHydrogen
+ BoiloffRate = 0.05
+ CoolingCost = 0.05
+ }
+ BOILOFFCONFIG
+ {
+ FuelName = LqdMethane
+ BoiloffRate = 0.005
+ CoolingCost = 0.02
+ }
+ BOILOFFCONFIG
+ {
+ FuelName = LqdNitrogen
+ BoiloffRate = 0.04
+ CoolingCost = 0.03
+ }
+ BOILOFFCONFIG
+ {
+ FuelName = LqdOxygen
+ BoiloffRate = 0.04
+ CoolingCost = 0.03
+ }
+ }
+
+ @MODULE[ModuleB9PartSwitch],0
+ {
+ SUBTYPE
+ {
+ name = LH2
+ title = LqdHydrogen
+ RESOURCE
+ {
+ name = LqdHydrogen
+ unitsPerVolume = 7.5
+ }
+ }
+ SUBTYPE
+ {
+ name = LH2O
+ title = Hydrolox
+ RESOURCE
+ {
+ name = LqdHydrogen
+ unitsPerVolume = 4.995
+ }
+ RESOURCE
+ {
+ name = Oxidizer
+ unitsPerVolume = 0.333
+ }
+ }
+ SUBTYPE
+ {
+ name = LCH4
+ title = LqdMethane
+ RESOURCE
+ {
+ name = LqdMethane
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = LCH4O
+ title = Methalox
+ RESOURCE
+ {
+ name = LqdMethane
+ unitsPerVolume = 1.875
+ }
+ RESOURCE
+ {
+ name = Oxidizer
+ unitsPerVolume = 0.625
+ }
+ }
+ SUBTYPE
+ {
+ name = Oxidizer
+ title = Oxidizer
+ RESOURCE
+ {
+ name = Oxidizer
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = LNH3
+ title = LqdAmmonia
+ primaryColor = BurntRed
+ secondaryColor = BurntRed
+ RESOURCE
+ {
+ name = LqdAmmonia
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = LCO2
+ title = LqdCO2
+ primaryColor = WarmGrey
+ secondaryColor = WarmGrey
+ RESOURCE
+ {
+ name = LqdCO2
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = LCO
+ title = LqdCO
+ primaryColor = PurpleGrey
+ secondaryColor = PurpleGrey
+ RESOURCE
+ {
+ name = LqdCO
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = LCOLOX
+ title = LqdCO + Oxidizer
+ primaryColor = PurpleGrey
+ secondaryColor = ResourceColorOxidizer
+ RESOURCE
+ {
+ name = LqdCO
+ unitsPerVolume = 3.33
+ }
+ RESOURCE
+ {
+ name = Oxidizer
+ unitsPerVolume = 0.3
+ }
+ }
+ SUBTYPE
+ {
+ name = LN2
+ title = LqdNitrogen
+ primaryColor = PeacockBlue
+ secondaryColor = PeacockBlue
+ RESOURCE
+ {
+ name = LqdNitrogen
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = LOX
+ title = LqdOxygen
+ primaryColor = CadetBlue
+ secondaryColor = CadetBlue
+ RESOURCE
+ {
+ name = LqdOxygen
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = Water
+ title = Water
+ primaryColor = Ocean
+ secondaryColor = Ocean
+ RESOURCE
+ {
+ name = Water
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = Deuterium
+ title = LqdDeuterium
+ primaryColor = PowderBlue
+ secondaryColor = PowderBlue
+ RESOURCE
+ {
+ name = LqdDeuterium
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = Helium3
+ title = LqdHe3
+ primaryColor = CloudyBlue
+ secondaryColor = CloudyBlue
+ RESOURCE
+ {
+ name = LqdHe3
+ unitsPerVolume = 6
+ }
+ }
+ SUBTYPE
+ {
+ name = D/He3
+ title = LqdDeuterium + LqdHe3
+ primaryColor = PowderBlue
+ secondaryColor = CloudyBlue
+ RESOURCE
+ {
+ name = LqdDeuterium
+ unitsPerVolume = 2
+ }
+ RESOURCE
+ {
+ name = LqdHe3
+ unitsPerVolume = 3
+ }
+ }
+ SUBTYPE
+ {
+ name = FusionPellets
+ title = FusionPellets
+ primaryColor = PowderBlue
+ secondaryColor = CloudyBlue
+ RESOURCE
+ {
+ name = FusionPellets
+ unitsPerVolume = 5
+ }
+ }
+ }
+}
+@PART[strl-tankpillwm-*]:NEEDS[B9PartSwitch,CommunityResourcePack]
+{
+ @MODULE[ModuleB9PartSwitch],0
+ {
+ SUBTYPE
+ {
+ name = LFO
+ title = #LOC_B9PartSwitch_tank_type_lfo
+ tankType = LFO
+ }
+ SUBTYPE
+ {
+ name = LiquidFuel
+ title = #LOC_B9PartSwitch_tank_type_lf
+ tankType = LiquidFuel
+ }
+ SUBTYPE
+ {
+ name = MonoPropellant
+ title = #LOC_B9PartSwitch_tank_type_monoprop
+ tankType = MonoPropellant
+ }
+ SUBTYPE
+ {
+ name = Oxidizer
+ title = Oxidizer
+ RESOURCE
+ {
+ name = Oxidizer
+ unitsPerVolume = 1
+ }
+ }
+ SUBTYPE
+ {
+ name = Ammonia
+ title = #LOC_CRP_Ammonia_DisplayName
+ primaryColor = BurntRed
+ secondaryColor = BurntRed
+ RESOURCE
+ {
+ name = Ammonia
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = CarbonDioxide
+ title = #LOC_CRP_CarbonDioxide_DisplayName
+ primaryColor = Greyish
+ secondaryColor = Greyish
+ RESOURCE
+ {
+ name = CarbonDioxide
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = Hydrogen
+ title = #LOC_CRP_Hydrogen_DisplayName
+ primaryColor = CarolinaBlue
+ secondaryColor = CarolinaBlue
+ RESOURCE
+ {
+ name = Hydrogen
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = Methane
+ title = #LOC_CRP_Methane_DisplayName
+ primaryColor = FadedGreen
+ secondaryColor = FadedGreen
+ RESOURCE
+ {
+ name = Methane
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = Nitrogen
+ title = #LOC_CRP_Nitrogen_DisplayName
+ primaryColor = Azure
+ secondaryColor = Azure
+ RESOURCE
+ {
+ name = Nitrogen
+ unitsPerVolume = 5
+ }
+ }
+ SUBTYPE
+ {
+ name = Oxygen
+ title = #LOC_CRP_Oxygen_DisplayName
+ primaryColor = BabyBlue
+ secondaryColor = BabyBlue
+ RESOURCE
+ {
+ name = Oxygen
+ unitsPerVolume = 5
+ }
+ }
+ }
+}
+@PART[strl-tankpillb-*]:NEEDS[B9PartSwitch,CommunityResourcePack]
+{
+ @MODULE[ModuleB9PartSwitch],0
+ {
+ SUBTYPE
+ {
+ name = Pebbles
+ tankType = STRLNuclearPebbles
+ title = #LOC_strl_FissilePebbles_DisplayName
+ primaryColor = MediumBlue
+ secondaryColor = MediumBlue
+ descriptionDetail = #LOC_strl_FissilePebbles_Description
+ }
+ SUBTYPE
+ {
+ name = PebblesSpent
+ tankType = STRLNuclearPebblesSpent
+ title = #LOC_strl_FizzledPebbles_DisplayName
+ primaryColor = BluishGrey
+ secondaryColor = BluishGrey
+ descriptionDetail = #LOC_strl_FizzledPebbles_Description
+ }
+ SUBTYPE
+ {
+ name = Salt
+ tankType = STRLNuclearSalt
+ title = #LOC_strl_FissileFuel_DisplayName
+ primaryColor = PastelRed
+ secondaryColor = PastelRed
+ descriptionDetail = #LOC_strl_FissileFuel_Description
+ }
+ SUBTYPE
+ {
+ name = SaltSpent
+ tankType = STRLNuclearSaltSpent
+ title = #LOC_strl_FizzledFuel_DisplayName
+ primaryColor = ReddishGrey
+ secondaryColor = ReddishGrey
+ descriptionDetail = #LOC_strl_FizzledFuel_Description
+ }
+ }
+}
+@PART[strl-tankpillg-*]:NEEDS[B9PartSwitch,CommunityResourcePack]
+{
+ MODULE:NEEDS[FarFutureTechnologies]
+ {
+ name = ModuleAntimatterTank
+ FuelName = Antimatter
+ ContainmentCost = 0
+ // @ContainmentCost *= 0.05 // div baseVolume by 800 then mult by unitsPerVolume
+ DetonationKJPerUnit = 36000
+ DetonationRate = 5
+ // OnLightAnimatorName = onColor
+ // OffLightAnimatorName = offColor
+ // AlertLightAnimatorName = alertColor
+ }
+ @MODULE[ModuleB9PartSwitch],0:NEEDS[FarFutureTechnologies]
+ {
+ SUBTYPE:NEEDS[RationalResources|FarFutureTechnologies]
+ {
+ name = Antimatter
+ title = #LOC_CRP_Antimatter_DisplayName
+ primaryColor = red
+ secondaryColor = red
+ RESOURCE
+ {
+ name = Antimatter
+ unitsPerVolume = 40
+ }
+ }
+ }
+ @MODULE[ModuleB9PartSwitch],1:NEEDS[FarFutureTechnologies]
+ {
+ @SUBTYPE,0
+ {
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAntimatterTank
+ }
+ DATA
+ {
+ ContainmentCost = #$/MODULE[ModuleB9PartSwitch],0/baseVolume$
+ @ContainmentCost *= 0.05
+ }
+ }
+ }
+ @SUBTYPE:HAS[#addedCost],*
+ {
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAntimatterTank
+ }
+ DATA
+ {
+ ContainmentCost = #$/MODULE[ModuleB9PartSwitch],0/baseVolume$
+ ContainmentCost+ = #$../../volumeAddedToParent$
+ @ContainmentCost *= 0.05
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-tankpill*]:NEEDS[B9PartSwitch,CommunityResourcePack]
+{
+ @MODULE[ModuleB9PartSwitch],1
+ {
+ @SUBTYPE:HAS[#addedCost],*
+ {
+ @addedCost = #$addedMass$
+ @addedCost /= #$/mass$
+ @addedCost *= #$/cost$
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Tankage/zPataches/CTT.cfg b/GameData/SterlingSystems/Tankage/zPataches/CTT.cfg
new file mode 100644
index 0000000..583a80b
--- /dev/null
+++ b/GameData/SterlingSystems/Tankage/zPataches/CTT.cfg
@@ -0,0 +1,20 @@
+@PART[strl-tankpillg-*]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = exoticFuelStorage
+}
+@PART[strl-tankpillb-*|strl-tankdrumb-*]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = specializedFuelStorage
+}
+// @PART[]:NEEDS[CommunityTechTree]
+// {
+ // @TechRequired =
+// }
+// @PART[]:NEEDS[CommunityTechTree]
+// {
+ // @TechRequired =
+// }
+// @PART[]:NEEDS[CommunityTechTree]
+// {
+ // @TechRequired =
+// }
diff --git a/GameData/SterlingSystems/Thermals/Radiators/SinkMk2.cfg b/GameData/SterlingSystems/Thermals/Radiators/SinkMk2.cfg
new file mode 100644
index 0000000..4506967
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/SinkMk2.cfg
@@ -0,0 +1,93 @@
+PART
+{
+ name = strl-rad-sink-mk2
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/SinkMk2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.75, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 4400
+ cost = 14063
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_sink-mk2_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_sinkcluster_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 1.719
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,mk2
+ crashTolerance = 15
+ maxTemp = 2900
+ skinMaxTemp = 2900
+ emissiveConstant = 0.25
+ heatConductivity = 0.6
+ skinInternalConductionMult = 2000
+ thermalMassModifier = 4.0
+
+ refPower = 1125
+ refVolume = 1104 // 5.521 m^3
+
+ DRAG_CUBE
+ {
+ cube = Default, 5.092,0.7205,1.287, 5.092,0.7205,1.287, 2.494,0.9702,0.1549, 2.494,0.9702,0.1549, 8.659,0.865,0.8655, 8.659,0.8649,0.8655, -7.153E-07,-0.15,0, 2.73,3.3,1.566
+ }
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 56250
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 0.28125
+ // }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/SinkMk2.mu b/GameData/SterlingSystems/Thermals/Radiators/SinkMk2.mu
new file mode 100644
index 0000000..cb1f7ae
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/SinkMk2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/SinkS1.cfg b/GameData/SterlingSystems/Thermals/Radiators/SinkS1.cfg
new file mode 100644
index 0000000..a403bfd
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/SinkS1.cfg
@@ -0,0 +1,79 @@
+PART
+{
+ name = strl-rad-sink-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/SinkS1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.625, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 4400
+ cost = 9375
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_sink-125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_sink_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 1.146
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size1
+ crashTolerance = 15
+ maxTemp = 2900
+ skinMaxTemp = 2900
+ emissiveConstant = 0.25
+ heatConductivity = 0.6
+ skinInternalConductionMult = 2000
+ thermalMassModifier = 4.0
+
+ DRAG_CUBE
+ {
+ cube = Default, 3.586,0.8139,0.5345, 3.586,0.8139,0.5345, 1.213,0.8633,0.3313, 1.213,0.8633,0.3313, 3.727,0.8109,0.6272, 3.727,0.8109,0.6272, 0,0,0, 1.25,3,1.203
+ }
+
+ refPower = 750
+ refVolume = 740 // 3.681 m^3
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 37500
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 0.1875
+ // }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/SinkS1.mu b/GameData/SterlingSystems/Thermals/Radiators/SinkS1.mu
new file mode 100644
index 0000000..f0967e3
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/SinkS1.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/SinkS2.cfg b/GameData/SterlingSystems/Thermals/Radiators/SinkS2.cfg
new file mode 100644
index 0000000..0d7553d
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/SinkS2.cfg
@@ -0,0 +1,79 @@
+PART
+{
+ name = strl-rad-sink-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/SinkS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 4400
+ cost = 28125
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_sink-250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_sink_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 4.157
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2
+ crashTolerance = 15
+ maxTemp = 2900
+ skinMaxTemp = 2900
+ emissiveConstant = 0.25
+ heatConductivity = 0.6
+ skinInternalConductionMult = 2000
+ thermalMassModifier = 4.0
+
+ DRAG_CUBE
+ {
+ cube = Default, 7.383,0.7985,1.208, 7.383,0.7985,1.208, 4.853,0.8534,0.2827, 4.853,0.8531,0.2827, 7.776,0.7982,1.312, 7.776,0.7982,1.312, 1.192E-07,0,0, 2.6,3,2.456
+ }
+
+ refPower = 3000
+ refVolume = 2950 // 14.726 m^3
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 112500
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 0.5625
+ // }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/SinkS2.mu b/GameData/SterlingSystems/Thermals/Radiators/SinkS2.mu
new file mode 100644
index 0000000..f7d0a96
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/SinkS2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/SinkS3.cfg b/GameData/SterlingSystems/Thermals/Radiators/SinkS3.cfg
new file mode 100644
index 0000000..ebe9d1e
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/SinkS3.cfg
@@ -0,0 +1,121 @@
+PART
+{
+ name = strl-rad-sink-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/SinkS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.5, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 4400
+ cost = 65625
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_sink-375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_sinkcluster_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 9.461
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size3
+ crashTolerance = 15
+ maxTemp = 2900
+ skinMaxTemp = 2900
+ emissiveConstant = 0.25
+ heatConductivity = 0.6
+ skinInternalConductionMult = 2000
+ thermalMassModifier = 4.0
+
+ DRAG_CUBE
+ {
+ cube = Default, 12.17,0.8097,1.954, 12.17,0.8096,1.954, 10.92,0.835,0.4032, 10.92,0.8357,0.4032, 12.59,0.8143,1.941, 12.59,0.812,1.941, 0,-0.15,0, 3.85,3.3,3.728
+ }
+
+ refPower = 5250
+ refVolume = 6630 // 33.134 m^3
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03
+ transform = bottom03
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom04
+ transform = bottom04
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom05
+ transform = bottom05
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom06
+ transform = bottom06
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 2562500
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 1.3125
+ // }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/SinkS3.mu b/GameData/SterlingSystems/Thermals/Radiators/SinkS3.mu
new file mode 100644
index 0000000..19b0c8d
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/SinkS3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/SinkS4.cfg b/GameData/SterlingSystems/Thermals/Radiators/SinkS4.cfg
new file mode 100644
index 0000000..aee62a1
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/SinkS4.cfg
@@ -0,0 +1,224 @@
+PART
+{
+ name = strl-rad-sink-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/SinkS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.5, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 4400
+ cost = 121875
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_sink-500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_sinkcluster_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 17.058
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size4
+ crashTolerance = 15
+ maxTemp = 2900
+ skinMaxTemp = 2900
+ emissiveConstant = 0.25
+ heatConductivity = 0.6
+ skinInternalConductionMult = 2000
+ thermalMassModifier = 4.0
+
+ refPower = 9750
+ refVolume = 11780 // 58.905 m^3
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom00
+ transform = bottom00
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ NODE
+ {
+ name = bottom01-S1
+ transform = bottom01-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02-S1
+ transform = bottom02-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03-S1
+ transform = bottom03-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom04-S1
+ transform = bottom04-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom05-S1
+ transform = bottom05-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom06-S1
+ transform = bottom06-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom07-S1
+ transform = bottom07-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom08-S1
+ transform = bottom08-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom09-S1
+ transform = bottom09-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom10-S1
+ transform = bottom10-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom11-S1
+ transform = bottom11-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom12-S1
+ transform = bottom12-S1
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ NODE
+ {
+ name = bottom01-S1p5
+ transform = bottom01-S1p5
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02-S1p5
+ transform = bottom02-S1p5
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom03-S1p5
+ transform = bottom03-S1p5
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom04-S1p5
+ transform = bottom04-S1p5
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom05-S1p5
+ transform = bottom05-S1p5
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom06-S1p5
+ transform = bottom06-S1p5
+ size = 1
+ method = FIXED_JOINT
+ }
+
+ NODE
+ {
+ name = bottom01-S2
+ transform = bottom01-S2
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02-S2
+ transform = bottom02-S2
+ size = 2
+ method = FIXED_JOINT
+ }
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 487500
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 2.4375
+ // }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/SinkS4.mu b/GameData/SterlingSystems/Thermals/Radiators/SinkS4.mu
new file mode 100644
index 0000000..98dcb00
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/SinkS4.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapB-Mk2.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapB-Mk2.cfg
new file mode 100644
index 0000000..526110f
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapB-Mk2.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapb-mk2
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapBMk2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 7800
+ cost = 8333
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapb-mk2_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapb-mk2_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.22
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,mk2
+ crashTolerance = 10
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 4.875
+ refECReq = 0.1
+ refPower = 500
+ refTemp = 1300
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 25000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapB-Mk3.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapB-Mk3.cfg
new file mode 100644
index 0000000..3315de8
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapB-Mk3.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapb-mk3
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapBMk3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.02, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 7800
+ cost = 11000
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapb-mk3_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapb-mk3_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.29
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,mk3
+ crashTolerance = 10
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 8.5
+ refECReq = 0.132
+ refPower = 660
+ refTemp = 1300
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 33000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapB-S1.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapB-S1.cfg
new file mode 100644
index 0000000..81ffccd
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapB-S1.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapb-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapBS1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 7800
+ cost = 12500
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapb-125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapb-125_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.33
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size1
+ crashTolerance = 10
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 1.35
+ refECReq = 0.15
+ refPower = 750
+ refTemp = 1300
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 37500
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapB-S1p5.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapB-S1p5.cfg
new file mode 100644
index 0000000..fa8db5b
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapB-S1p5.cfg
@@ -0,0 +1,63 @@
+PART
+{
+ name = strl-rad-wrapb-187
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapBS1
+ scale = 1.5, 1.5, 1.5
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 7800
+ cost = 18749
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapb-187_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapb-187_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.5
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size1p5
+ crashTolerance = 10
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 2
+ refECReq = 0.225
+ refPower = 1125
+ refTemp = 1300
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 56250
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapB-S2.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapB-S2.cfg
new file mode 100644
index 0000000..f8a8b4c
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapB-S2.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapb-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapBS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 7800
+ cost = 16666
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapb-250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapb-250_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.5
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2
+ crashTolerance = 10
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 5.2
+ refECReq = 0.2
+ refPower = 1000
+ refTemp = 1300
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 50000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapB-S3.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapB-S3.cfg
new file mode 100644
index 0000000..9ac5e19
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapB-S3.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapb-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapBS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 7800
+ cost = 20833
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapb-375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapb-375_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.56
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size3
+ crashTolerance = 10
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 7.7
+ refECReq = 0.25
+ refPower = 1250
+ refTemp = 1300
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 62500
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapB-S4.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapB-S4.cfg
new file mode 100644
index 0000000..dafa6ed
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapB-S4.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapb-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapBS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = experimentalMotors
+ entryCost = 7800
+ cost = 24999
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapb-500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapb-500_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.67
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size4
+ crashTolerance = 10
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 10.2
+ refECReq = 0.3
+ refPower = 1500
+ refTemp = 1300
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 75000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapBMk2.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapBMk2.mu
new file mode 100644
index 0000000..f355e2b
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapBMk2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapBMk3.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapBMk3.mu
new file mode 100644
index 0000000..984bd9b
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapBMk3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapBS1.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapBS1.mu
new file mode 100644
index 0000000..db699cc
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapBS1.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapBS2.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapBS2.mu
new file mode 100644
index 0000000..5dbba60
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapBS2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapBS3.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapBS3.mu
new file mode 100644
index 0000000..c76449c
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapBS3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapBS4.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapBS4.mu
new file mode 100644
index 0000000..c5170e0
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapBS4.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapG-Mk2.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapG-Mk2.cfg
new file mode 100644
index 0000000..8b4aea0
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapG-Mk2.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapg-mk2
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapGMk2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = advancedMotors
+ entryCost = 4400
+ cost = 2250
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapg-mk2_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapg-mk2_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.1
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,mk2
+ crashTolerance = 20
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.90
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.5
+
+ refArea = 4.875
+ refECReq = 0.045
+ refPower = 180
+ refTemp = 1000
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 9000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapG-Mk3.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapG-Mk3.cfg
new file mode 100644
index 0000000..85ea214
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapG-Mk3.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapg-mk3
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapGMk3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.02, 0.0, 0.0, -1.0
+ TechRequired = advancedMotors
+ entryCost = 4400
+ cost = 3000
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapg-mk3_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapg-mk3_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.14
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,mk3
+ crashTolerance = 20
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.90
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.5
+
+ refArea = 8.5
+ refECReq = 0.06
+ refPower = 240
+ refTemp = 1000
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 12000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapG-S1.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapG-S1.cfg
new file mode 100644
index 0000000..8fec56f
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapG-S1.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapg-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapGS1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = advancedMotors
+ entryCost = 4400
+ cost = 3375
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapg-125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapg-125_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.15
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size1
+ crashTolerance = 20
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.90
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.5
+
+ refArea = 1.35
+ refECReq = 0.0675
+ refPower = 270
+ refTemp = 1000
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 13500
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapG-S1p5.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapG-S1p5.cfg
new file mode 100644
index 0000000..41d434b
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapG-S1p5.cfg
@@ -0,0 +1,63 @@
+PART
+{
+ name = strl-rad-wrapg-187
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapGS1
+ scale = 1.5, 1.5, 1.5
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = advancedMotors
+ entryCost = 4400
+ cost = 5063
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapg-187_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapg-187_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.23
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size1p5
+ crashTolerance = 20
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.90
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.5
+
+ refArea = 2
+ refECReq = 0.10125
+ refPower = 405
+ refTemp = 1000
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 20250
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapG-S2.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapG-S2.cfg
new file mode 100644
index 0000000..e8a21ab
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapG-S2.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapg-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapGS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = advancedMotors
+ entryCost = 4400
+ cost = 4500
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapg-250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapg-250_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.21
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2
+ crashTolerance = 20
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.90
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.5
+
+ refArea = 5.2
+ refECReq = 0.09
+ refPower = 360
+ refTemp = 1000
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 18000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapG-S3.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapG-S3.cfg
new file mode 100644
index 0000000..1045a7b
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapG-S3.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapg-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapGS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = advancedMotors
+ entryCost = 4400
+ cost = 5625
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapg-375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapg-375_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.26
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size3
+ crashTolerance = 20
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.90
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.5
+
+ refArea = 7.7
+ refECReq = 0.1125
+ refPower = 450
+ refTemp = 1000
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 22500
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapG-S4.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapG-S4.cfg
new file mode 100644
index 0000000..8e630f3
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapG-S4.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapg-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapGS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = advancedMotors
+ entryCost = 4400
+ cost = 6750
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapg-500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapg-500_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.31
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size4
+ crashTolerance = 20
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.90
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.5
+
+ refArea = 10.2
+ refECReq = 0.135
+ refPower = 540
+ refTemp = 1000
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 27000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatStd
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapGMk2.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapGMk2.mu
new file mode 100644
index 0000000..a09c7f7
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapGMk2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapGMk3.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapGMk3.mu
new file mode 100644
index 0000000..77dd6e5
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapGMk3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapGS1.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapGS1.mu
new file mode 100644
index 0000000..cebec82
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapGS1.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapGS2.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapGS2.mu
new file mode 100644
index 0000000..f2c519d
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapGS2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapGS3.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapGS3.mu
new file mode 100644
index 0000000..b9b0731
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapGS3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapGS4.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapGS4.mu
new file mode 100644
index 0000000..bb9d0d5
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapGS4.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapW-Mk2.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapW-Mk2.cfg
new file mode 100644
index 0000000..79547ad
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapW-Mk2.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapw-mk2
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapWMk2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = nuclearPropulsion
+ entryCost = 0
+ cost = 11
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapw-mk2_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapw-mk2_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.02
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,mk2
+ crashTolerance = 10
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.9
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 4.875
+ refECReq = 0.05
+ refPower = 100
+ refTemp = 350
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 5000
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.05
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapW-Mk3.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapW-Mk3.cfg
new file mode 100644
index 0000000..71eeec6
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapW-Mk3.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapw-mk3
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapWMk3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.02, 0.0, 0.0, -1.0
+ TechRequired = nuclearPropulsion
+ entryCost = 0
+ cost = 15
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapw-mk3_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapw-mk3_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.03
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,mk3
+ crashTolerance = 10
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.9
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 8.5
+ refECReq = 0.07
+ refPower = 133
+ refTemp = 350
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 6650
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.07
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapW-S1.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapW-S1.cfg
new file mode 100644
index 0000000..47280cc
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapW-S1.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapw-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapWS1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = nuclearPropulsion
+ entryCost = 0
+ cost = 17
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapw-125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapw-125_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.03
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size1
+ crashTolerance = 10
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.9
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 1.35
+ refECReq = 0.075
+ refPower = 150
+ refTemp = 350
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 7500
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.075
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapW-S1p5.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapW-S1p5.cfg
new file mode 100644
index 0000000..edd7bc4
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapW-S1p5.cfg
@@ -0,0 +1,63 @@
+PART
+{
+ name = strl-rad-wrapw-187
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapWS1
+ scale = 1.5, 1.5, 1.5
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = nuclearPropulsion
+ entryCost = 0
+ cost = 25
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapw-187_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapw-187_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.045
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size1p5
+ crashTolerance = 10
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.9
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 2
+ refECReq = 0.1125
+ refPower = 225
+ refTemp = 350
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 11250
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.1125
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapW-S2.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapW-S2.cfg
new file mode 100644
index 0000000..1c27390
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapW-S2.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapw-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapWS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = nuclearPropulsion
+ entryCost = 0
+ cost = 22
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapw-250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapw-250_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.05
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2
+ crashTolerance = 10
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.9
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 5.2
+ refECReq = 0.1
+ refPower = 200
+ refTemp = 350
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 10000
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.1
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapW-S3.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapW-S3.cfg
new file mode 100644
index 0000000..187c640
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapW-S3.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapw-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapWS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = nuclearPropulsion
+ entryCost = 0
+ cost = 28
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapw-375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapw-375_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.05
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size3
+ crashTolerance = 10
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.9
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 7.7
+ refECReq = 0.125
+ refPower = 250
+ refTemp = 350
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 12500
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.125
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapW-S4.cfg b/GameData/SterlingSystems/Thermals/Radiators/WrapW-S4.cfg
new file mode 100644
index 0000000..e20fc77
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Radiators/WrapW-S4.cfg
@@ -0,0 +1,62 @@
+PART
+{
+ name = strl-rad-wrapw-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Radiators/WrapWS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = nuclearPropulsion
+ entryCost = 0
+ cost = 33
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-wrapw-500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-wrapw-500_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 0,1,0,0,0
+
+ mass = 0.06
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size4
+ crashTolerance = 10
+ maxTemp = 1500
+ skinMaxTemp = 1500
+ emissiveConstant = 0.9
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ refArea = 10.2
+ refECReq = 0.15
+ refPower = 300
+ refTemp = 350
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 15000
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.15
+ }
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapWMk2.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapWMk2.mu
new file mode 100644
index 0000000..a873025
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapWMk2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapWMk3.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapWMk3.mu
new file mode 100644
index 0000000..b8de394
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapWMk3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapWS1.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapWS1.mu
new file mode 100644
index 0000000..42a67a8
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapWS1.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapWS2.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapWS2.mu
new file mode 100644
index 0000000..a5a0976
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapWS2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapWS3.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapWS3.mu
new file mode 100644
index 0000000..644b393
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapWS3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/WrapWS4.mu b/GameData/SterlingSystems/Thermals/Radiators/WrapWS4.mu
new file mode 100644
index 0000000..23b2f7f
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/WrapWS4.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/heatsinkmounts_DIFF.dds b/GameData/SterlingSystems/Thermals/Radiators/heatsinkmounts_DIFF.dds
new file mode 100644
index 0000000..09ca773
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/heatsinkmounts_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/heatsinkmounts_EMM.dds b/GameData/SterlingSystems/Thermals/Radiators/heatsinkmounts_EMM.dds
new file mode 100644
index 0000000..71ca562
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/heatsinkmounts_EMM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/heatsinkmounts_NRM.dds b/GameData/SterlingSystems/Thermals/Radiators/heatsinkmounts_NRM.dds
new file mode 100644
index 0000000..33c673f
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/heatsinkmounts_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/heatsinks_DIFF.dds b/GameData/SterlingSystems/Thermals/Radiators/heatsinks_DIFF.dds
new file mode 100644
index 0000000..37eb4d0
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/heatsinks_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/heatsinks_EMM.dds b/GameData/SterlingSystems/Thermals/Radiators/heatsinks_EMM.dds
new file mode 100644
index 0000000..a0a321c
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/heatsinks_EMM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/heatsinks_NRM.dds b/GameData/SterlingSystems/Thermals/Radiators/heatsinks_NRM.dds
new file mode 100644
index 0000000..ecb684c
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/heatsinks_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/wrapsB_DIFF.dds b/GameData/SterlingSystems/Thermals/Radiators/wrapsB_DIFF.dds
new file mode 100644
index 0000000..e2a1390
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/wrapsB_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/wrapsB_EMM.dds b/GameData/SterlingSystems/Thermals/Radiators/wrapsB_EMM.dds
new file mode 100644
index 0000000..6304561
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/wrapsB_EMM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/wrapsB_NRM.dds b/GameData/SterlingSystems/Thermals/Radiators/wrapsB_NRM.dds
new file mode 100644
index 0000000..08dc962
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/wrapsB_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/wrapsG_DIFF.dds b/GameData/SterlingSystems/Thermals/Radiators/wrapsG_DIFF.dds
new file mode 100644
index 0000000..8ecc367
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/wrapsG_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/wrapsG_EMM.dds b/GameData/SterlingSystems/Thermals/Radiators/wrapsG_EMM.dds
new file mode 100644
index 0000000..c33a310
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/wrapsG_EMM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/wrapsG_NRM.dds b/GameData/SterlingSystems/Thermals/Radiators/wrapsG_NRM.dds
new file mode 100644
index 0000000..e5dbe1e
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/wrapsG_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/wrapsW_BSPEC.dds b/GameData/SterlingSystems/Thermals/Radiators/wrapsW_BSPEC.dds
new file mode 100644
index 0000000..d3b9ed8
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/wrapsW_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/wrapsW_DIFF.dds b/GameData/SterlingSystems/Thermals/Radiators/wrapsW_DIFF.dds
new file mode 100644
index 0000000..7547d6a
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/wrapsW_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/wrapsW_EMM.dds b/GameData/SterlingSystems/Thermals/Radiators/wrapsW_EMM.dds
new file mode 100644
index 0000000..ac77d82
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/wrapsW_EMM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Radiators/wrapsW_NRM.dds b/GameData/SterlingSystems/Thermals/Radiators/wrapsW_NRM.dds
new file mode 100644
index 0000000..4506b6d
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Radiators/wrapsW_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM.dds b/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM.dds
new file mode 100644
index 0000000..9b23c92
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM1.dds b/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM1.dds
new file mode 100644
index 0000000..b9ea73d
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM1.dds differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM2.dds b/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM2.dds
new file mode 100644
index 0000000..3fbeac7
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM2.dds differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_Scroll.dds b/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_Scroll.dds
new file mode 100644
index 0000000..4e41d9f
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_Scroll.dds differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta10.cfg b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta10.cfg
new file mode 100644
index 0000000..0f6e9d7
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta10.cfg
@@ -0,0 +1,167 @@
+PART
+{
+ name = strl-rad-lfr-sta01
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta10
+ name = radbody
+ }
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta10FilmD
+ name = radfilm
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.31, 0.0, 0.0, 1.0, 0.0, 0.0
+ TechRequired = nuclearPropulsion
+ entryCost = 562
+ cost = 511
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-lfr-sta01_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-lfr-sta01_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 0.852
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 10
+ maxTemp = 2700
+ skinMaxTemp = 2700
+ breakingForce = 200
+ breakingTorque = 200
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ CoLOffset = -3.1, 0, 0
+ CoMOffset = -3.1, 0, 0
+ CoPOffset = -3.1, 0, 0
+
+ refArea = 50
+
+ refECReq = 2.125
+ refPower = 4250
+ refPowerMW = 4.25
+ refTemp = 650
+
+ refECReq2 = 2.9
+ refPower2 = 11600
+ refPower2MW = 11.6
+ refTemp2 = 1100
+
+ refECReq3 = 6.25
+ refPower3 = 25000
+ refPower3MW = 25
+ refTemp3 = 1600
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 2
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 2
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 2
+ }
+ NODE
+ {
+ name = front
+ transform = front
+ size = 2
+ }
+ NODE
+ {
+ name = front01
+ transform = front01
+ size = 2
+ }
+ NODE
+ {
+ name = front02
+ transform = front02
+ size = 2
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ }
+
+ MODULE
+ {
+ name = ModuleDeployableRadiator
+ animationName = filmOpen10D
+ retractable = true
+ pivotName = part // dummy
+ raycastTransformName = part // dummy
+ windResistance = 40
+ trackingSpeed = 0
+ sunAlignmentOffset = 0
+ extendActionName = #autoLOC_6001417 // Activate Radiator
+ retractActionName = #autoLOC_6001418 // Shutdown Radiator
+ extendpanelsActionName = #autoLOC_6001416 // Toggle Radiator
+ }
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 212500
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0 // 2.125
+ }
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = BackExt
+ attachNodeNames = back
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatRigid
+ }
+}
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta10.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta10.mu
new file mode 100644
index 0000000..e39d3ee
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta10.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta10FilmD.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta10FilmD.mu
new file mode 100644
index 0000000..488ec30
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta10FilmD.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta120.cfg b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta120.cfg
new file mode 100644
index 0000000..61c0d2f
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta120.cfg
@@ -0,0 +1,131 @@
+PART
+{
+ name = strl-rad-lfr-sta05
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta120
+ name = radbody
+ }
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta120FilmD
+ name = radfilm
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.31, 0.0, 0.0, 1.0, 0.0, 0.0
+ TechRequired = nuclearPropulsion
+ entryCost = 3859
+ cost = 3508
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-lfr-sta05_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-lfr-sta01_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 5.846
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 10
+ maxTemp = 2700
+ skinMaxTemp = 2700
+ breakingForce = 200
+ breakingTorque = 200
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ CoLOffset = -5.6, 0, 0
+ CoMOffset = -5.6, 0, 0
+ CoPOffset = -5.6, 0, 0
+
+ refArea = 1200
+
+ refECReq = 51
+ refPower = 102000
+ refPowerMW = 102
+ refTemp = 650
+
+ refECReq2 = 64.74
+ refPower2 = 278400
+ refPower2MW = 278.4
+ refTemp2 = 1100
+
+ refECReq3 = 150
+ refPower3 = 600000
+ refPower3MW = 600
+ refTemp3 = 1600
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 2
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ }
+ NODE
+ {
+ name = front
+ transform = front
+ size = 2
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ }
+
+ MODULE
+ {
+ name = ModuleDeployableRadiator
+ animationName = filmOpen120D
+ retractable = true
+ pivotName = part // dummy
+ raycastTransformName = part // dummy
+ windResistance = 40
+ trackingSpeed = 0
+ sunAlignmentOffset = 0
+ extendActionName = #autoLOC_6001417 // Activate Radiator
+ retractActionName = #autoLOC_6001418 // Shutdown Radiator
+ extendpanelsActionName = #autoLOC_6001416 // Toggle Radiator
+ }
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 5100000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0 // 51
+ }
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = BackExt
+ attachNodeNames = back
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatRigid
+ }
+}
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta120.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta120.mu
new file mode 100644
index 0000000..ab69ab6
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta120.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta120FilmD.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta120FilmD.mu
new file mode 100644
index 0000000..6407deb
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta120FilmD.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta150.cfg b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta150.cfg
new file mode 100644
index 0000000..436392d
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta150.cfg
@@ -0,0 +1,131 @@
+PART
+{
+ name = strl-rad-lfr-sta06
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta150
+ name = radbody
+ }
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta150FilmD
+ name = radfilm
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.31, 0.0, 0.0, 1.0, 0.0, 0.0
+ TechRequired = nuclearPropulsion
+ entryCost = 4758
+ cost = 4325
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-lfr-sta06_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-lfr-sta01_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 7.208
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 10
+ maxTemp = 2700
+ skinMaxTemp = 2700
+ breakingForce = 200
+ breakingTorque = 200
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ CoLOffset = -5.6, 0, 0
+ CoMOffset = -5.6, 0, 0
+ CoPOffset = -5.6, 0, 0
+
+ refArea = 1500
+
+ refECReq = 63.75
+ refPower = 127500
+ refPowerMW = 127.5
+ refTemp = 650
+
+ refECReq2 = 64.74
+ refPower2 = 348000
+ refPower2MW = 348
+ refTemp2 = 1100
+
+ refECReq3 = 150
+ refPower3 = 750000
+ refPower3MW = 750
+ refTemp3 = 1600
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 2
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ }
+ NODE
+ {
+ name = front
+ transform = front
+ size = 2
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ }
+
+ MODULE
+ {
+ name = ModuleDeployableRadiator
+ animationName = filmOpen150D
+ retractable = true
+ pivotName = part // dummy
+ raycastTransformName = part // dummy
+ windResistance = 40
+ trackingSpeed = 0
+ sunAlignmentOffset = 0
+ extendActionName = #autoLOC_6001417 // Activate Radiator
+ retractActionName = #autoLOC_6001418 // Shutdown Radiator
+ extendpanelsActionName = #autoLOC_6001416 // Toggle Radiator
+ }
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 6375000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0 // 63.75
+ }
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = BackExt
+ attachNodeNames = back
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatRigid
+ }
+}
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta150.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta150.mu
new file mode 100644
index 0000000..27261c1
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta150.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta150FilmD.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta150FilmD.mu
new file mode 100644
index 0000000..ea04dc7
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta150FilmD.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta180.cfg b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta180.cfg
new file mode 100644
index 0000000..60ce806
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta180.cfg
@@ -0,0 +1,131 @@
+PART
+{
+ name = strl-rad-lfr-sta07
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta180
+ name = radbody
+ }
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta180FilmD
+ name = radfilm
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.31, 0.0, 0.0, 1.0, 0.0, 0.0
+ TechRequired = nuclearPropulsion
+ entryCost = 5656
+ cost = 5142
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-lfr-sta07_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-lfr-sta01_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 8.57
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 10
+ maxTemp = 2700
+ skinMaxTemp = 2700
+ breakingForce = 200
+ breakingTorque = 200
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ CoLOffset = -5.6, 0, 0
+ CoMOffset = -5.6, 0, 0
+ CoPOffset = -5.6, 0, 0
+
+ refArea = 1800
+
+ refECReq = 76.5
+ refPower = 153000
+ refPowerMW = 153
+ refTemp = 650
+
+ refECReq2 = 97.12
+ refPower2 = 417600
+ refPower2MW = 417.6
+ refTemp2 = 1100
+
+ refECReq3 = 225
+ refPower3 = 900000
+ refPower3MW = 900
+ refTemp3 = 1600
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 2
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ }
+ NODE
+ {
+ name = front
+ transform = front
+ size = 2
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ }
+
+ MODULE
+ {
+ name = ModuleDeployableRadiator
+ animationName = filmOpen180D
+ retractable = true
+ pivotName = part // dummy
+ raycastTransformName = part // dummy
+ windResistance = 40
+ trackingSpeed = 0
+ sunAlignmentOffset = 0
+ extendActionName = #autoLOC_6001417 // Activate Radiator
+ retractActionName = #autoLOC_6001418 // Shutdown Radiator
+ extendpanelsActionName = #autoLOC_6001416 // Toggle Radiator
+ }
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 7650000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0 // 76.5
+ }
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = BackExt
+ attachNodeNames = back
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatRigid
+ }
+}
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta180.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta180.mu
new file mode 100644
index 0000000..1625533
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta180.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta180FilmD.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta180FilmD.mu
new file mode 100644
index 0000000..b29cb88
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta180FilmD.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta20.cfg b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta20.cfg
new file mode 100644
index 0000000..4c7de14
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta20.cfg
@@ -0,0 +1,167 @@
+PART
+{
+ name = strl-rad-lfr-sta02
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta20
+ name = radbody
+ }
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta20FilmD
+ name = radfilm
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.31, 0.0, 0.0, 1.0, 0.0, 0.0
+ TechRequired = nuclearPropulsion
+ entryCost = 861
+ cost = 783
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-lfr-sta02_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-lfr-sta01_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 1.306
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 10
+ maxTemp = 2700
+ skinMaxTemp = 2700
+ breakingForce = 200
+ breakingTorque = 200
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ CoLOffset = -3.1, 0, 0
+ CoMOffset = -3.1, 0, 0
+ CoPOffset = -3.1, 0, 0
+
+ refArea = 100
+
+ refECReq = 4.25
+ refPower = 8500
+ refPowerMW = 8.5
+ refTemp = 650
+
+ refECReq2 = 5.8
+ refPower2 = 23200
+ refPower2MW = 23.2
+ refTemp2 = 1100
+
+ refECReq3 = 12.5
+ refPower3 = 50000
+ refPower3MW = 50
+ refTemp3 = 1600
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 2
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 2
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 2
+ }
+ NODE
+ {
+ name = front
+ transform = front
+ size = 2
+ }
+ NODE
+ {
+ name = front01
+ transform = front01
+ size = 2
+ }
+ NODE
+ {
+ name = front02
+ transform = front02
+ size = 2
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 2
+ }
+
+ MODULE
+ {
+ name = ModuleDeployableRadiator
+ animationName = filmOpen20D
+ retractable = true
+ pivotName = part // dummy
+ raycastTransformName = part // dummy
+ windResistance = 40
+ trackingSpeed = 0
+ sunAlignmentOffset = 0
+ extendActionName = #autoLOC_6001417 // Activate Radiator
+ retractActionName = #autoLOC_6001418 // Shutdown Radiator
+ extendpanelsActionName = #autoLOC_6001416 // Toggle Radiator
+ }
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 425000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0 // 4.25
+ }
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = BackExt
+ attachNodeNames = back
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatRigid
+ }
+}
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta20.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta20.mu
new file mode 100644
index 0000000..3c6a889
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta20.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta20FilmD.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta20FilmD.mu
new file mode 100644
index 0000000..8f5b23a
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta20FilmD.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta60.cfg b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta60.cfg
new file mode 100644
index 0000000..e7fbbfd
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta60.cfg
@@ -0,0 +1,149 @@
+PART
+{
+ name = strl-rad-lfr-sta03
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta60
+ name = radbody
+ }
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta60FilmD
+ name = radfilm
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.31, 0.0, 0.0, 1.0, 0.0, 0.0
+ TechRequired = nuclearPropulsion
+ entryCost = 2060
+ cost = 1873
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-lfr-sta03_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-lfr-sta01_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 3.122
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 10
+ maxTemp = 2700
+ skinMaxTemp = 2700
+ breakingForce = 200
+ breakingTorque = 200
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ CoLOffset = -3.1, 0, 0
+ CoMOffset = -3.1, 0, 0
+ CoPOffset = -3.1, 0, 0
+
+ refArea = 300
+
+ refECReq = 12.75
+ refPower = 25500
+ refPowerMW = 25.5
+ refTemp = 650
+
+ refECReq2 = 16.19
+ refPower2 = 69600
+ refPower2MW = 69.6
+ refTemp2 = 1100
+
+ refECReq3 = 37.5
+ refPower3 = 150000
+ refPower3MW = 150
+ refTemp3 = 1600
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 2
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 2
+ }
+ NODE
+ {
+ name = front
+ transform = front
+ size = 2
+ }
+ NODE
+ {
+ name = front01
+ transform = front01
+ size = 2
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 2
+ }
+
+ MODULE
+ {
+ name = ModuleDeployableRadiator
+ animationName = filmOpen60D
+ retractable = true
+ pivotName = part // dummy
+ raycastTransformName = part // dummy
+ windResistance = 40
+ trackingSpeed = 0
+ sunAlignmentOffset = 0
+ extendActionName = #autoLOC_6001417 // Activate Radiator
+ retractActionName = #autoLOC_6001418 // Shutdown Radiator
+ extendpanelsActionName = #autoLOC_6001416 // Toggle Radiator
+ }
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 1275000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0 // 12.75
+ }
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = BackExt
+ attachNodeNames = back
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatRigid
+ }
+}
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta60.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta60.mu
new file mode 100644
index 0000000..5a99aa5
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta60.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta60FilmD.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta60FilmD.mu
new file mode 100644
index 0000000..767fa30
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta60FilmD.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta90.cfg b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta90.cfg
new file mode 100644
index 0000000..c882908
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta90.cfg
@@ -0,0 +1,131 @@
+PART
+{
+ name = strl-rad-lfr-sta04
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta90
+ name = radbody
+ }
+ MODEL
+ {
+ model = SterlingSystems/Thermals/RadiatorsExotic/LFRSta90FilmD
+ name = radfilm
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.31, 0.0, 0.0, 1.0, 0.0, 0.0
+ TechRequired = nuclearPropulsion
+ entryCost = 2960
+ cost = 2690
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rad-lfr-sta04_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rad-lfr-sta01_desc
+ tags = therm radiat heat moderat temperat cool
+ attachRules = 1,1,1,1,0
+
+ mass = 4.484
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf
+ crashTolerance = 10
+ maxTemp = 2700
+ skinMaxTemp = 2700
+ breakingForce = 200
+ breakingTorque = 200
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.0
+
+ CoLOffset = -5.6, 0, 0
+ CoMOffset = -5.6, 0, 0
+ CoPOffset = -5.6, 0, 0
+
+ refArea = 900
+
+ refECReq = 38.25
+ refPower = 76500
+ refPowerMW = 76.5
+ refTemp = 650
+
+ refECReq2 = 48.56
+ refPower2 = 208800
+ refPower2MW = 208.8
+ refTemp2 = 1100
+
+ refECReq3 = 112.5
+ refPower3 = 450000
+ refPower3MW = 450
+ refTemp3 = 1600
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 2
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ }
+ NODE
+ {
+ name = front
+ transform = front
+ size = 2
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ }
+
+ MODULE
+ {
+ name = ModuleDeployableRadiator
+ animationName = filmOpen90D
+ retractable = true
+ pivotName = part // dummy
+ raycastTransformName = part // dummy
+ windResistance = 40
+ trackingSpeed = 0
+ sunAlignmentOffset = 0
+ extendActionName = #autoLOC_6001417 // Activate Radiator
+ retractActionName = #autoLOC_6001418 // Shutdown Radiator
+ extendpanelsActionName = #autoLOC_6001416 // Toggle Radiator
+ }
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 3825000
+ overcoolFactor = 1
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0 // 38.25
+ }
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = BackExt
+ attachNodeNames = back
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = heatRigid
+ }
+}
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta90.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta90.mu
new file mode 100644
index 0000000..575481e
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta90.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta90FilmD.mu b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta90FilmD.mu
new file mode 100644
index 0000000..9052f07
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta90FilmD.mu differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta_DIFF.dds b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta_DIFF.dds
new file mode 100644
index 0000000..37b1cab
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta_EMM.dds b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta_EMM.dds
new file mode 100644
index 0000000..7752368
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta_EMM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta_NRM.dds b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta_NRM.dds
new file mode 100644
index 0000000..5cec28f
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/LFRSta_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/RadiatorsExotic/ghost.dds b/GameData/SterlingSystems/Thermals/RadiatorsExotic/ghost.dds
new file mode 100644
index 0000000..cb5d7f9
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/RadiatorsExotic/ghost.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/Decal.dds b/GameData/SterlingSystems/Thermals/Reactors/Decal.dds
new file mode 100644
index 0000000..7c611c7
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/Decal.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/MSR_S0.cfg b/GameData/SterlingSystems/Thermals/Reactors/MSR_S0.cfg
new file mode 100644
index 0000000..f936d82
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Reactors/MSR_S0.cfg
@@ -0,0 +1,58 @@
+PART
+{
+ name = strl-rctrms-0625
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Reactors/MSR_S0
+ texture = Decal, SterlingSystems/Agency/Decals/Decal1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.625, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rctrms_0625_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rctrms_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 2.05
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size0
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ refPower = 0.157
+ NODE
+ {
+ name = top
+ transform = top
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = Shroud
+ attachNodeNames = top
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Reactors/MSR_S0.mu b/GameData/SterlingSystems/Thermals/Reactors/MSR_S0.mu
new file mode 100644
index 0000000..e5e4afb
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/MSR_S0.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/MSR_S1.cfg b/GameData/SterlingSystems/Thermals/Reactors/MSR_S1.cfg
new file mode 100644
index 0000000..beee564
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Reactors/MSR_S1.cfg
@@ -0,0 +1,58 @@
+PART
+{
+ name = strl-rctrms-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Reactors/MSR_S1
+ texture = Decal, SterlingSystems/Agency/Decals/Decal1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.625, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rctrms_125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rctrms_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 5.2
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ refPower = 1
+ NODE
+ {
+ name = top
+ transform = top
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = Shroud
+ attachNodeNames = top
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Reactors/MSR_S1.mu b/GameData/SterlingSystems/Thermals/Reactors/MSR_S1.mu
new file mode 100644
index 0000000..4380d50
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/MSR_S1.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/MSR_S2.cfg b/GameData/SterlingSystems/Thermals/Reactors/MSR_S2.cfg
new file mode 100644
index 0000000..185532d
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Reactors/MSR_S2.cfg
@@ -0,0 +1,58 @@
+PART
+{
+ name = strl-rctrms-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Reactors/MSR_S2
+ texture = Decal, SterlingSystems/Agency/Decals/Decal1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rctrms_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rctrms_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 11.4
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size2
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ refPower = 5.48
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = Shroud
+ attachNodeNames = top
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Reactors/MSR_S2.mu b/GameData/SterlingSystems/Thermals/Reactors/MSR_S2.mu
new file mode 100644
index 0000000..6922ee2
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/MSR_S2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/MSR_S3.cfg b/GameData/SterlingSystems/Thermals/Reactors/MSR_S3.cfg
new file mode 100644
index 0000000..f7cd719
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Reactors/MSR_S3.cfg
@@ -0,0 +1,58 @@
+PART
+{
+ name = strl-rctrms-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Reactors/MSR_S3
+ texture = Decal, SterlingSystems/Agency/Decals/Decal1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rctrms_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rctrms_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 27.73
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3
+ crashTolerance = 15
+ breakingForce = 1400
+ breakingTorque = 1400
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ refPower = 13.33
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ MODULE
+ {
+ name = ModuleStructuralNode
+ rootObject = Shroud
+ attachNodeNames = top
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Reactors/MSR_S3.mu b/GameData/SterlingSystems/Thermals/Reactors/MSR_S3.mu
new file mode 100644
index 0000000..4d2e480
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/MSR_S3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/MSRgroup_DIFF.dds b/GameData/SterlingSystems/Thermals/Reactors/MSRgroup_DIFF.dds
new file mode 100644
index 0000000..0bb9392
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/MSRgroup_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/MSRgroup_NRM.dds b/GameData/SterlingSystems/Thermals/Reactors/MSRgroup_NRM.dds
new file mode 100644
index 0000000..f38146a
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/MSRgroup_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/PBR_S1.cfg b/GameData/SterlingSystems/Thermals/Reactors/PBR_S1.cfg
new file mode 100644
index 0000000..a2d5b4a
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Reactors/PBR_S1.cfg
@@ -0,0 +1,52 @@
+PART
+{
+ name = strl-rctrpb-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Reactors/PBR_S1
+ texture = Decal, SterlingSystems/Agency/Decals/Decal1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.625, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rctrpb_125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rctrpb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 10.2
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ refPower = 1
+ NODE
+ {
+ name = top
+ transform = top
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 1
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Reactors/PBR_S1.mu b/GameData/SterlingSystems/Thermals/Reactors/PBR_S1.mu
new file mode 100644
index 0000000..575519f
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/PBR_S1.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/PBR_S2.cfg b/GameData/SterlingSystems/Thermals/Reactors/PBR_S2.cfg
new file mode 100644
index 0000000..54e71b6
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Reactors/PBR_S2.cfg
@@ -0,0 +1,52 @@
+PART
+{
+ name = strl-rctrpb-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Reactors/PBR_S2
+ texture = Decal, SterlingSystems/Agency/Decals/Decal1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.25, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rctrpb_250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rctrpb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 25.65
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ refPower = 8.8
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Reactors/PBR_S2.mu b/GameData/SterlingSystems/Thermals/Reactors/PBR_S2.mu
new file mode 100644
index 0000000..787b3df
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/PBR_S2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/PBR_S3.cfg b/GameData/SterlingSystems/Thermals/Reactors/PBR_S3.cfg
new file mode 100644
index 0000000..3aa4095
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Reactors/PBR_S3.cfg
@@ -0,0 +1,52 @@
+PART
+{
+ name = strl-rctrpb-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Reactors/PBR_S3
+ texture = Decal, SterlingSystems/Agency/Decals/Decal1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 1.875, 0.0, 0.0, -1.0
+ TechRequired = experimentalElectrics
+ entryCost = 7400
+ cost = 6210
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_rctrpb_375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_rctrpb_desc
+ tags =
+ attachRules = 1,1,1,1,0
+
+ mass = 126.94
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size3
+ crashTolerance = 15
+ breakingForce = 800
+ breakingTorque = 800
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ emissiveConstant = 0.4
+
+ refPower = 43.56
+ NODE
+ {
+ name = top
+ transform = top
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Reactors/PBR_S3.mu b/GameData/SterlingSystems/Thermals/Reactors/PBR_S3.mu
new file mode 100644
index 0000000..57ba080
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/PBR_S3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/PBRgroup_BSPEC.dds b/GameData/SterlingSystems/Thermals/Reactors/PBRgroup_BSPEC.dds
new file mode 100644
index 0000000..cbd216f
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/PBRgroup_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/PBRgroup_DIFF.dds b/GameData/SterlingSystems/Thermals/Reactors/PBRgroup_DIFF.dds
new file mode 100644
index 0000000..b011372
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/PBRgroup_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Reactors/PBRgroup_NRM.dds b/GameData/SterlingSystems/Thermals/Reactors/PBRgroup_NRM.dds
new file mode 100644
index 0000000..5c83738
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Reactors/PBRgroup_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/LFRLin10Film.mu b/GameData/SterlingSystems/Thermals/Shields/LFRLin10Film.mu
new file mode 100644
index 0000000..bbad2c4
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/LFRLin10Film.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/ShadowShield01.cfg b/GameData/SterlingSystems/Thermals/Shields/ShadowShield01.cfg
new file mode 100644
index 0000000..2af67f7
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/ShadowShield01.cfg
@@ -0,0 +1,70 @@
+PART
+{
+ name = strl-shl-shadow01
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/ShieldShadow01
+ }
+ rescaleFactor = 1
+ TechRequired = nuclearPropulsion
+ entryCost = 4400
+ cost = 1525
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-shadow01_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-shadow01_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 1,0,1,1,0
+
+ mass = 1.8
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = size1,size1p5,size2,size3,size4
+ crashTolerance = 9
+ maxTemp = 2900
+ skinMaxTemp = 2900
+ fuelCrossFeed = True
+ emissiveConstant = 0.9
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ refVolume = 1230
+
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = shadowHeat
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/ShieldShadow01.mu b/GameData/SterlingSystems/Thermals/Shields/ShieldShadow01.mu
new file mode 100644
index 0000000..674c780
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/ShieldShadow01.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/ShieldSun01.mu b/GameData/SterlingSystems/Thermals/Shields/ShieldSun01.mu
new file mode 100644
index 0000000..09dcda8
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/ShieldSun01.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/SunShield01.cfg b/GameData/SterlingSystems/Thermals/Shields/SunShield01.cfg
new file mode 100644
index 0000000..4bb4c0b
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/SunShield01.cfg
@@ -0,0 +1,132 @@
+PART
+{
+ name = strl-shl-sun01
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/ShieldSun01
+ }
+ rescaleFactor = 1
+ TechRequired = aerospaceTech
+ entryCost = 3800
+ cost = 4600
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-sun01_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-sun01_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 1,1,1,1,0
+ node_attach = 0, 0, 0, 0, -1, 0
+
+ mass = 3.3
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2,size4
+ crashTolerance = 9
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ fuelCrossFeed = True
+ emissiveConstant = 1
+
+ CoMOffset = 0, 0.6, 0
+ CoLOffset = 0, 0.6, 0
+ CoPOffset = 0, 0.6, 0
+ CenterOfBuoyancy = 0, 0.6, 0
+
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom01
+ transform = bottom01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom02
+ transform = bottom02
+ size = 5
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top01
+ transform = top01
+ size = 4
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = top02
+ transform = top02
+ size = 4
+ method = FIXED_JOINT
+ }
+
+ refArea10 = 78.54
+ refArea25 = 490.87
+ refArea50a = 1963.5
+ refArea50b = 1472.63
+ refTemp = 650
+
+ // refVolume10 = 7854
+ // refVolume25 = 49087
+ // refVolume50 = 196350
+ // refVolume50Inv = 147263
+
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 20000
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.1
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher
+ pivotName = sunCatcher
+ isBreakable = false
+ resourceName = ThermalPower
+ chargeRate = 0
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ }
+ MODULE
+ {
+ name = ModuleAblator
+ ablativeResource = Ablator
+ lossExp = -7500
+ lossConst = 0.1
+ pyrolysisLossFactor = 6000
+ reentryConductivity = 0.01
+ ablationTempThresh = 800
+ // useChar = True
+ // charModuleName = shieldChar
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSMk2.cfg b/GameData/SterlingSystems/Thermals/Shields/WrapHSMk2.cfg
new file mode 100644
index 0000000..79f705a
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/WrapHSMk2.cfg
@@ -0,0 +1,84 @@
+PART
+{
+ name = strl-shl-wrap-mk2
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/WrapHSMk2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = hypersonicFlight
+ entryCost = 4400
+ cost = 610
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-wrap-mk2_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-wrap-mk2_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 0,1,0,0,0
+
+ mass = 0.12
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,mk2
+ crashTolerance = 9
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ fuelCrossFeed = False
+
+ refArea = 4.875
+
+ MODULE
+ {
+ name = ModuleAblator
+ ablativeResource = Ablator
+ lossExp = -7500
+ lossConst = 0.1
+ pyrolysisLossFactor = 6000
+ reentryConductivity = 0.01
+ ablationTempThresh = 500
+ useChar = True
+ charModuleName = shieldChar
+ }
+ RESOURCE
+ {
+ name = Ablator
+ amount = 720
+ maxAmount = 720
+ }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = shieldChar
+ // shaderProperty = _BurnColor
+ // useRate = False
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // excludedRenderer = HeatShield1875Fairing
+ // excludedRenderer = HeatShieldInternals
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0.8
+ // }
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSMk2.mu b/GameData/SterlingSystems/Thermals/Shields/WrapHSMk2.mu
new file mode 100644
index 0000000..dcb1528
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/WrapHSMk2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSMk3.cfg b/GameData/SterlingSystems/Thermals/Shields/WrapHSMk3.cfg
new file mode 100644
index 0000000..419e495
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/WrapHSMk3.cfg
@@ -0,0 +1,84 @@
+PART
+{
+ name = strl-shl-wrap-mk3
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/WrapHSMk3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.02, 0.0, 0.0, -1.0
+ TechRequired = hypersonicFlight
+ entryCost = 4400
+ cost = 813
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-wrap-mk3_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-wrap-mk3_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 0,1,0,0,0
+
+ mass = 0.16
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,mk3
+ crashTolerance = 9
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ fuelCrossFeed = False
+
+ refArea = 8.5
+
+ MODULE
+ {
+ name = ModuleAblator
+ ablativeResource = Ablator
+ lossExp = -7500
+ lossConst = 0.1
+ pyrolysisLossFactor = 6000
+ reentryConductivity = 0.01
+ ablationTempThresh = 500
+ useChar = True
+ charModuleName = shieldChar
+ }
+ RESOURCE
+ {
+ name = Ablator
+ amount = 1260
+ maxAmount = 1260
+ }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = shieldChar
+ // shaderProperty = _BurnColor
+ // useRate = False
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // excludedRenderer = HeatShield1875Fairing
+ // excludedRenderer = HeatShieldInternals
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0.8
+ // }
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSMk3.mu b/GameData/SterlingSystems/Thermals/Shields/WrapHSMk3.mu
new file mode 100644
index 0000000..d9f6ee4
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/WrapHSMk3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSS1.cfg b/GameData/SterlingSystems/Thermals/Shields/WrapHSS1.cfg
new file mode 100644
index 0000000..ea7c0c0
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/WrapHSS1.cfg
@@ -0,0 +1,84 @@
+PART
+{
+ name = strl-shl-wrap-125
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/WrapHSS1
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = hypersonicFlight
+ entryCost = 4400
+ cost = 915
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-wrap-125_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-wrap-125_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 0,1,0,0,0
+
+ mass = 0.18
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size1
+ crashTolerance = 9
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ fuelCrossFeed = False
+
+ refArea = 1.35
+
+ MODULE
+ {
+ name = ModuleAblator
+ ablativeResource = Ablator
+ lossExp = -7500
+ lossConst = 0.1
+ pyrolysisLossFactor = 6000
+ reentryConductivity = 0.01
+ ablationTempThresh = 500
+ useChar = True
+ charModuleName = shieldChar
+ }
+ RESOURCE
+ {
+ name = Ablator
+ amount = 200
+ maxAmount = 200
+ }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = shieldChar
+ // shaderProperty = _BurnColor
+ // useRate = False
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // excludedRenderer = HeatShield1875Fairing
+ // excludedRenderer = HeatShieldInternals
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0.8
+ // }
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSS1.mu b/GameData/SterlingSystems/Thermals/Shields/WrapHSS1.mu
new file mode 100644
index 0000000..24cdf02
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/WrapHSS1.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSS1p5.cfg b/GameData/SterlingSystems/Thermals/Shields/WrapHSS1p5.cfg
new file mode 100644
index 0000000..a150f01
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/WrapHSS1p5.cfg
@@ -0,0 +1,85 @@
+PART
+{
+ name = strl-shl-wrap-187
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/WrapHSS1
+ scale = 1.5, 1.5, 1.5
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = hypersonicFlight
+ entryCost = 4400
+ cost = 1372
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-wrap-187_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-wrap-187_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 0,1,0,0,0
+
+ mass = 0.27
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size1
+ crashTolerance = 9
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ fuelCrossFeed = False
+
+ refArea = 2.025
+
+ MODULE
+ {
+ name = ModuleAblator
+ ablativeResource = Ablator
+ lossExp = -7500
+ lossConst = 0.1
+ pyrolysisLossFactor = 6000
+ reentryConductivity = 0.01
+ ablationTempThresh = 500
+ useChar = True
+ charModuleName = shieldChar
+ }
+ RESOURCE
+ {
+ name = Ablator
+ amount = 300
+ maxAmount = 300
+ }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = shieldChar
+ // shaderProperty = _BurnColor
+ // useRate = False
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // excludedRenderer = HeatShield1875Fairing
+ // excludedRenderer = HeatShieldInternals
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0.8
+ // }
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSS2.cfg b/GameData/SterlingSystems/Thermals/Shields/WrapHSS2.cfg
new file mode 100644
index 0000000..909c8de
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/WrapHSS2.cfg
@@ -0,0 +1,84 @@
+PART
+{
+ name = strl-shl-wrap-250
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/WrapHSS2
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = hypersonicFlight
+ entryCost = 4400
+ cost = 1220
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-wrap-250_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-wrap-250_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 0,1,0,0,0
+
+ mass = 0.24
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2
+ crashTolerance = 9
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ fuelCrossFeed = False
+
+ refArea = 5.2
+
+ MODULE
+ {
+ name = ModuleAblator
+ ablativeResource = Ablator
+ lossExp = -7500
+ lossConst = 0.1
+ pyrolysisLossFactor = 6000
+ reentryConductivity = 0.01
+ ablationTempThresh = 500
+ useChar = True
+ charModuleName = shieldChar
+ }
+ RESOURCE
+ {
+ name = Ablator
+ amount = 770
+ maxAmount = 770
+ }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = shieldChar
+ // shaderProperty = _BurnColor
+ // useRate = False
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // excludedRenderer = HeatShield1875Fairing
+ // excludedRenderer = HeatShieldInternals
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0.8
+ // }
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSS2.mu b/GameData/SterlingSystems/Thermals/Shields/WrapHSS2.mu
new file mode 100644
index 0000000..a3184a8
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/WrapHSS2.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSS3.cfg b/GameData/SterlingSystems/Thermals/Shields/WrapHSS3.cfg
new file mode 100644
index 0000000..c509e7e
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/WrapHSS3.cfg
@@ -0,0 +1,84 @@
+PART
+{
+ name = strl-shl-wrap-375
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/WrapHSS3
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = hypersonicFlight
+ entryCost = 4400
+ cost = 1525
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-wrap-375_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-wrap-375_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 0,1,0,0,0
+
+ mass = 0.3
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size3
+ crashTolerance = 9
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ fuelCrossFeed = False
+
+ refArea = 7.7
+
+ MODULE
+ {
+ name = ModuleAblator
+ ablativeResource = Ablator
+ lossExp = -7500
+ lossConst = 0.1
+ pyrolysisLossFactor = 6000
+ reentryConductivity = 0.01
+ ablationTempThresh = 500
+ useChar = True
+ charModuleName = shieldChar
+ }
+ RESOURCE
+ {
+ name = Ablator
+ amount = 1140
+ maxAmount = 1140
+ }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = shieldChar
+ // shaderProperty = _BurnColor
+ // useRate = False
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // excludedRenderer = HeatShield1875Fairing
+ // excludedRenderer = HeatShieldInternals
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0.8
+ // }
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSS3.mu b/GameData/SterlingSystems/Thermals/Shields/WrapHSS3.mu
new file mode 100644
index 0000000..736745f
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/WrapHSS3.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSS4.cfg b/GameData/SterlingSystems/Thermals/Shields/WrapHSS4.cfg
new file mode 100644
index 0000000..278b16b
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/WrapHSS4.cfg
@@ -0,0 +1,84 @@
+PART
+{
+ name = strl-shl-wrap-500
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/WrapHSS4
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = hypersonicFlight
+ entryCost = 4400
+ cost = 1830
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-wrap-500_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-wrap-500_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 0,1,0,0,0
+
+ mass = 0.36
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size4
+ crashTolerance = 9
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ fuelCrossFeed = False
+
+ refArea = 10.2
+
+ MODULE
+ {
+ name = ModuleAblator
+ ablativeResource = Ablator
+ lossExp = -7500
+ lossConst = 0.1
+ pyrolysisLossFactor = 6000
+ reentryConductivity = 0.01
+ ablationTempThresh = 500
+ useChar = True
+ charModuleName = shieldChar
+ }
+ RESOURCE
+ {
+ name = Ablator
+ amount = 1510
+ maxAmount = 1510
+ }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = shieldChar
+ // shaderProperty = _BurnColor
+ // useRate = False
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // excludedRenderer = HeatShield1875Fairing
+ // excludedRenderer = HeatShieldInternals
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0.8
+ // }
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapHSS4.mu b/GameData/SterlingSystems/Thermals/Shields/WrapHSS4.mu
new file mode 100644
index 0000000..261d375
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/WrapHSS4.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk2Cockpit.cfg b/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk2Cockpit.cfg
new file mode 100644
index 0000000..007df53
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk2Cockpit.cfg
@@ -0,0 +1,101 @@
+PART
+{
+ name = strl-shl-wrap-mk2cockpit
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/WrapSquadMk2Cockpit
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, -4.0, 0.75, 0.0, 0.0, 1.0
+ // node_stack_top = 0.0, 0.15, 0.2, 0.0, -1.0, 0.0, 2
+ TechRequired = hypersonicFlight
+ entryCost = 4400
+ cost = 3800
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-wrap-mk2cockpit_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-wrap-mk2cockpit_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 1,0,0,0,0
+
+ CoLOffset = 0, -2, 0.38
+ CoMOffset = 0, -2, 0.38
+ CoPOffset = 0, -2, 0.38
+
+ mass = 0.92
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,mk2
+ crashTolerance = 9
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ fuelCrossFeed = False
+
+ refArea = 9.75
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ MODULE
+ {
+ name = ModuleAblator
+ ablativeResource = Ablator
+ lossExp = -7500
+ lossConst = 0.1
+ pyrolysisLossFactor = 6000
+ reentryConductivity = 0.01
+ ablationTempThresh = 500
+ useChar = True
+ charModuleName = shieldChar
+ }
+ RESOURCE
+ {
+ name = Ablator
+ amount = 1444
+ maxAmount = 1444
+ }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = shieldChar
+ // shaderProperty = _BurnColor
+ // useRate = False
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // excludedRenderer = HeatShield1875Fairing
+ // excludedRenderer = HeatShieldInternals
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0.8
+ // }
+ // }
+}
+
+@PART[mk2Cockpit_Standard] // Stock Mk2 cockpit
+{
+ node_stack_shield = 0.0, 2.9, 0.2, 0.0, 1.0, 0.0, 1
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk2Cockpit.mu b/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk2Cockpit.mu
new file mode 100644
index 0000000..2a78593
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk2Cockpit.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk3Cockpit.cfg b/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk3Cockpit.cfg
new file mode 100644
index 0000000..a7da718
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk3Cockpit.cfg
@@ -0,0 +1,96 @@
+PART
+{
+ name = strl-shl-wrap-mk3cockpit
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/Thermals/Shields/WrapSquadMk3Cockpit
+ }
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0
+ // node_stack_top = 0.0, -0.0, 0.625, 0.0, -1.0, 0.0, 2
+ TechRequired = hypersonicFlight
+ entryCost = 4400
+ cost = 4550
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl_shl-wrap-mk3cockpit_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl_shl-wrap-mk3cockpit_desc
+ tags = #autoLOC_500183 // ablat drag entry insulate protect re- rocket therm
+ attachRules = 1,0,0,0,0
+
+ CoLOffset = 0, -1.46, 0.1
+ CoMOffset = 0, -1.46, 0.1
+ CoPOffset = 0, -1.46, 0.1
+
+ mass = 1.1
+ dragModelType = none
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = mk3
+ crashTolerance = 9
+ maxTemp = 3300
+ skinMaxTemp = 3300
+ fuelCrossFeed = False
+
+ refArea = 19.5
+
+ NODE
+ {
+ name = top
+ transform = top
+ size = 2
+ method = FIXED_JOINT
+ }
+ MODULE
+ {
+ name = ModuleAblator
+ ablativeResource = Ablator
+ lossExp = -7500
+ lossConst = 0.1
+ pyrolysisLossFactor = 6000
+ reentryConductivity = 0.01
+ ablationTempThresh = 500
+ useChar = True
+ charModuleName = shieldChar
+ }
+ RESOURCE
+ {
+ name = Ablator
+ amount = 2888
+ maxAmount = 2888
+ }
+ // MODULE
+ // {
+ // name = ModuleColorChanger
+ // moduleID = shieldChar
+ // shaderProperty = _BurnColor
+ // useRate = False
+ // toggleInEditor = False
+ // toggleInFlight = False
+ // excludedRenderer = HeatShield1875Fairing
+ // excludedRenderer = HeatShieldInternals
+ // redCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // greenCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // blueCurve
+ // {
+ // key = 0 0
+ // key = 1 1
+ // }
+ // alphaCurve
+ // {
+ // key = 0 0.8
+ // }
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk3Cockpit.mu b/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk3Cockpit.mu
new file mode 100644
index 0000000..225d99c
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/WrapSquadMk3Cockpit.mu differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/cockpitghost.dds b/GameData/SterlingSystems/Thermals/Shields/cockpitghost.dds
new file mode 100644
index 0000000..cb5d7f9
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/cockpitghost.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/cockpitshields_DIFF.dds b/GameData/SterlingSystems/Thermals/Shields/cockpitshields_DIFF.dds
new file mode 100644
index 0000000..a0649e8
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/cockpitshields_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/cockpitshields_NRM.dds b/GameData/SterlingSystems/Thermals/Shields/cockpitshields_NRM.dds
new file mode 100644
index 0000000..81e5e10
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/cockpitshields_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/shadowShields_DIFF.dds b/GameData/SterlingSystems/Thermals/Shields/shadowShields_DIFF.dds
new file mode 100644
index 0000000..df6fa16
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/shadowShields_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/shadowShields_EMM.dds b/GameData/SterlingSystems/Thermals/Shields/shadowShields_EMM.dds
new file mode 100644
index 0000000..c8aa65e
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/shadowShields_EMM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/shadowShields_NRM.dds b/GameData/SterlingSystems/Thermals/Shields/shadowShields_NRM.dds
new file mode 100644
index 0000000..aaf7cdf
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/shadowShields_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/sunShields_BSPEC.dds b/GameData/SterlingSystems/Thermals/Shields/sunShields_BSPEC.dds
new file mode 100644
index 0000000..fc9cf9e
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/sunShields_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/sunShields_DIFF.dds b/GameData/SterlingSystems/Thermals/Shields/sunShields_DIFF.dds
new file mode 100644
index 0000000..cd38743
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/sunShields_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/sunShields_NRM.dds b/GameData/SterlingSystems/Thermals/Shields/sunShields_NRM.dds
new file mode 100644
index 0000000..dfee77b
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/sunShields_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/wrapsHS_DIFF.dds b/GameData/SterlingSystems/Thermals/Shields/wrapsHS_DIFF.dds
new file mode 100644
index 0000000..4322ec2
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/wrapsHS_DIFF.dds differ
diff --git a/GameData/SterlingSystems/Thermals/Shields/wrapsHS_NRM.dds b/GameData/SterlingSystems/Thermals/Shields/wrapsHS_NRM.dds
new file mode 100644
index 0000000..f7032c8
Binary files /dev/null and b/GameData/SterlingSystems/Thermals/Shields/wrapsHS_NRM.dds differ
diff --git a/GameData/SterlingSystems/Thermals/zPatches/B9PS-StackableFilmRadiators.cfg b/GameData/SterlingSystems/Thermals/zPatches/B9PS-StackableFilmRadiators.cfg
new file mode 100644
index 0000000..3412b92
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/B9PS-StackableFilmRadiators.cfg
@@ -0,0 +1,852 @@
+@PART[strl-rad-lfr-sta01|strl-rad-lfr-sta02]:NEEDS[B9PartSwitch]
+{
+ refPowerMWb = #$refPowerMW$
+ @refPowerMWb *= 2
+ refPowerMWc = #$refPowerMW$
+ @refPowerMWc *= 3
+ refPower2MWb = #$refPower2MW$
+ @refPower2MWb *= 2
+ refPower2MWc = #$refPower2MW$
+ @refPower2MWc *= 3
+ refPower3MWb = #$refPower3MW$
+ @refPower3MWb *= 2
+ refPower3MWc = #$refPower3MW$
+ @refPower3MWc *= 3
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Service
+ switcherDescription = #LOC_strl_subtype_Service
+ switcherDescriptionPlural = #LOC_strl_subtype_Services
+ SUBTYPE
+ {
+ name = 650a
+ title = #LOC_strl_rad-lfr-staVar1a
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPowerMW$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = DarkOrange
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w1
+ transform = CatcherBasic
+ node = bottom
+ node = top
+ node = front
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ }
+ SUBTYPE
+ {
+ name = 650b
+ title = #LOC_strl_rad-lfr-staVar2a
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPowerMWb$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = DarkOrange
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w2
+ transform = CatcherBasic
+ node = bottom01
+ node = top01
+ node = front01
+ CoLOffset = -5.6, 0, 0
+ CoMOffset = -5.6, 0, 0
+ CoPOffset = -5.6, 0, 0
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower$
+ @maxEnergyTransfer *= 100
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 4.25
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 650c
+ title = #LOC_strl_rad-lfr-staVar3a
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPowerMWc$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = DarkOrange
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w3
+ transform = CatcherBasic
+ node = bottom02
+ node = top02
+ node = front02
+ CoLOffset = -10.6, 0, 0
+ CoMOffset = -10.6, 0, 0
+ CoPOffset = -10.6, 0, 0
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower$
+ @maxEnergyTransfer *= 200
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1100a
+ title = #LOC_strl_rad-lfr-staVar1b
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower2MW$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp2$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = Mango
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w1
+ transform = CatcherBasic
+ node = bottom
+ node = top
+ node = front
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM1
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 2.9
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1100b
+ title = #LOC_strl_rad-lfr-staVar2b
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower2MWb$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp2$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = Mango
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w2
+ transform = CatcherBasic
+ node = bottom01
+ node = top01
+ node = front01
+ CoLOffset = -5.6, 0, 0
+ CoMOffset = -5.6, 0, 0
+ CoPOffset = -5.6, 0, 0
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM1
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 100
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 5.8
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1100c
+ title = #LOC_strl_rad-lfr-staVar3b
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower2MWc$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp2$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = Mango
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w3
+ transform = CatcherBasic
+ node = bottom02
+ node = top02
+ node = front02
+ CoLOffset = -10.6, 0, 0
+ CoMOffset = -10.6, 0, 0
+ CoPOffset = -10.6, 0, 0
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM1
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 200
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 11.6
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1600a
+ title = #LOC_strl_rad-lfr-staVar1c
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower3MW$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp3$ K $@STRLB9LOC/txtRadExoticCoolant2$
+ primaryColor = Banana
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w1
+ transform = CatcherMag
+ node = bottom
+ node = top
+ node = front
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM2
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower3$
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 6.25
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1600b
+ title = #LOC_strl_rad-lfr-staVar2c
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower3MWb$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp3$ K $@STRLB9LOC/txtRadExoticCoolant2$
+ primaryColor = Banana
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w2
+ transform = CatcherMag
+ node = bottom01
+ node = top01
+ node = front01
+ CoLOffset = -5.6, 0, 0
+ CoMOffset = -5.6, 0, 0
+ CoPOffset = -5.6, 0, 0
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM2
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 100
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 12.5
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1600c
+ title = #LOC_strl_rad-lfr-staVar3c
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower3MWc$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp3$ K $@STRLB9LOC/txtRadExoticCoolant2$
+ primaryColor = Banana
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w3
+ transform = CatcherMag
+ node = bottom02
+ node = top02
+ node = front02
+ CoLOffset = -10.6, 0, 0
+ CoMOffset = -10.6, 0, 0
+ CoPOffset = -10.6, 0, 0
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM2
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 200
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 25
+ // }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-lfr-sta03]:NEEDS[B9PartSwitch]
+{
+ refPowerMWb = #$refPowerMW$
+ @refPowerMWb *= 2
+ // refPowerMWc = #$refPowerMW$
+ // @refPowerMWc *= 3
+ refPower2MWb = #$refPower2MW$
+ @refPower2MWb *= 2
+ // refPower2MWc = #$refPower2MW$
+ // @refPower2MWc *= 3
+ refPower3MWb = #$refPower3MW$
+ @refPower3MWb *= 2
+ // refPower3MWc = #$refPower3MW$
+ // @refPower3MWc *= 3
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Service
+ switcherDescription = #LOC_strl_subtype_Service
+ switcherDescriptionPlural = #LOC_strl_subtype_Services
+ SUBTYPE
+ {
+ name = 650a
+ title = #LOC_strl_rad-lfr-staVar1a
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPowerMW$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = DarkOrange
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w1
+ transform = CatcherBasic
+ node = bottom
+ node = top
+ node = front
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ }
+ SUBTYPE
+ {
+ name = 650b
+ title = #LOC_strl_rad-lfr-staVar2a
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPowerMWb$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = DarkOrange
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w2
+ transform = CatcherBasic
+ node = bottom01
+ node = top01
+ node = front01
+ CoLOffset = -5.6, 0, 0
+ CoMOffset = -5.6, 0, 0
+ CoPOffset = -5.6, 0, 0
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower$
+ @maxEnergyTransfer *= 100
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 4.25
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1100a
+ title = #LOC_strl_rad-lfr-staVar1b
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower2MW$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp2$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = Mango
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w1
+ transform = CatcherBasic
+ node = bottom
+ node = top
+ node = front
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM1
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 2.9
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1100b
+ title = #LOC_strl_rad-lfr-staVar2b
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower2MWb$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp2$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = Mango
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w2
+ transform = CatcherBasic
+ node = bottom01
+ node = top01
+ node = front01
+ CoLOffset = -5.6, 0, 0
+ CoMOffset = -5.6, 0, 0
+ CoPOffset = -5.6, 0, 0
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM1
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 100
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 5.8
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1600a
+ title = #LOC_strl_rad-lfr-staVar1c
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower3MW$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp3$ K $@STRLB9LOC/txtRadExoticCoolant2$
+ primaryColor = Banana
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w1
+ transform = CatcherMag
+ node = bottom
+ node = top
+ node = front
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM2
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower3$
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 6.25
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1600b
+ title = #LOC_strl_rad-lfr-staVar2c
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower3MWb$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp3$ K $@STRLB9LOC/txtRadExoticCoolant2$
+ primaryColor = Banana
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w2
+ transform = CatcherMag
+ node = bottom01
+ node = top01
+ node = front01
+ CoLOffset = -5.6, 0, 0
+ CoMOffset = -5.6, 0, 0
+ CoPOffset = -5.6, 0, 0
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM2
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 100
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 12.5
+ // }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-lfr-sta04|strl-rad-lfr-sta05|strl-rad-lfr-sta06|strl-rad-lfr-sta07]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Service
+ switcherDescription = #LOC_strl_subtype_Service
+ switcherDescriptionPlural = #LOC_strl_subtype_Services
+ SUBTYPE
+ {
+ name = 650a
+ title = #LOC_strl_rad-lfr-staVar2a
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPowerMW$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = DarkOrange
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w1
+ transform = CatcherBasic
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ }
+ SUBTYPE
+ {
+ name = 1100a
+ title = #LOC_strl_rad-lfr-staVar2b
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower2MW$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp2$ K $@STRLB9LOC/txtRadExoticCoolant1$
+ primaryColor = Mango
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w1
+ transform = CatcherBasic
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM1
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 2.9
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 1600a
+ title = #LOC_strl_rad-lfr-staVar2c
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtEnergyTransfer$ $/refPower3MW$ MW
$@STRLB9LOC/txtsysheattemp$ $/refTemp3$ K $@STRLB9LOC/txtRadExoticCoolant2$
+ primaryColor = Banana
+ secondaryColor = gray
+ addedMass = 0
+ addedCost = 0
+ transform = w1
+ transform = CatcherMag
+ TEXTURE
+ {
+ texture = SterlingSystems/Thermals/RadiatorsExotic/FilmBasic_EMM2
+ // shaderProperty = _TintColor
+ transform = Film
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower3$
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = 6.25
+ // }
+ }
+ }
+ }
+ }
+}
+
+
+@PART[strl-rad-lfr-sta01]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE[650b]
+ {
+ @addedCost = 239
+ @addedMass = 0.4
+ }
+ @SUBTYPE[650c]
+ {
+ @addedCost = 716
+ @addedMass = 1.2
+ }
+ @SUBTYPE[1150b]
+ {
+ @addedCost = 239
+ @addedMass = 0.4
+ }
+ @SUBTYPE[1100c]
+ {
+ @addedCost = 716
+ @addedMass = 1.2
+ }
+ @SUBTYPE[1600a]
+ {
+ @addedCost = 1022
+ @addedMass = 1.703
+ }
+ @SUBTYPE[1600b]
+ {
+ @addedCost = 1499
+ @addedMass = 2.896
+ }
+ @SUBTYPE[1600c]
+ {
+ @addedCost = 3169
+ @addedMass = 5.282
+ }
+ }
+}
+@PART[strl-rad-lfr-sta02]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE[650b]
+ {
+ @addedCost = 239
+ @addedMass = 0.4
+ }
+ @SUBTYPE[650c]
+ {
+ @addedCost = 716
+ @addedMass = 1.2
+ }
+ @SUBTYPE[1150b]
+ {
+ @addedCost = 239
+ @addedMass = 0.4
+ }
+ @SUBTYPE[1100c]
+ {
+ @addedCost = 716
+ @addedMass = 1.2
+ }
+ @SUBTYPE[1600a]
+ {
+ @addedCost = 1567
+ @addedMass = 2.611
+ }
+ @SUBTYPE[1600b]
+ {
+ @addedCost = 2044
+ @addedMass = 3.804
+ }
+ @SUBTYPE[1600c]
+ {
+ @addedCost = 3714
+ @addedMass = 6.19
+ }
+ }
+}
+@PART[strl-rad-lfr-sta03]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE[650b]
+ {
+ @addedCost = 239
+ @addedMass = 0.4
+ }
+ @SUBTYPE[1150b]
+ {
+ @addedCost = 716
+ @addedMass = 1.2
+ }
+ @SUBTYPE[1600a]
+ {
+ @addedCost = 3746
+ @addedMass = 6.244
+ }
+ @SUBTYPE[1600b]
+ {
+ @addedCost = 4223
+ @addedMass = 7.437
+ }
+ }
+}
+@PART[strl-rad-lfr-sta04]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE[1600a]
+ {
+ @addedCost = 5858
+ @addedMass = 14.644
+ }
+ }
+}
+@PART[strl-rad-lfr-sta05]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE[1600a]
+ {
+ @addedCost = 7492
+ @addedMass = 18.731
+ }
+ }
+}
+@PART[strl-rad-lfr-sta06]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE[1600a]
+ {
+ @addedCost = 9127
+ @addedMass = 22.817
+ }
+ }
+}
+@PART[strl-rad-lfr-sta07]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE[1600a]
+ {
+ @addedCost = 10761
+ @addedMass = 26.903
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/B9PS-SuperHeavyShields.cfg b/GameData/SterlingSystems/Thermals/zPatches/B9PS-SuperHeavyShields.cfg
new file mode 100644
index 0000000..157abc6
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/B9PS-SuperHeavyShields.cfg
@@ -0,0 +1,996 @@
+@PART[strl-shl-shadow01]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Span
+ baseVolume = 1230
+ switcherDescription = #LOC_strl_subtype_Span
+ switcherDescriptionPlural = #LOC_strl_subtype_Spans
+ SUBTYPE
+ {
+ name = s1
+ title = 1.25m
+ // descriptionSummary =
+ transform = S1
+ node = top
+ node = bottom
+ }
+ SUBTYPE
+ {
+ name = s1p5
+ title = 1.875m
+ // descriptionSummary =
+ transform = S1p5
+ node = top
+ node = bottom
+ addedMass = 2.25
+ addedCost = 5750
+ volumeAdded = 1530
+ }
+ SUBTYPE
+ {
+ name = s2
+ title = 2.5m
+ // descriptionSummary =
+ node = top
+ node = bottom
+ transform = S2
+ addedMass = 5.4
+ addedCost = 13800
+ volumeAdded = 3670
+ }
+ SUBTYPE
+ {
+ name = s3
+ title = 3.75m
+ // descriptionSummary =
+ transform = S3
+ node = top01
+ node = bottom01
+ addedMass = 14.4
+ addedCost = 36800
+ volumeAdded = 9810
+ }
+ SUBTYPE
+ {
+ name = s4
+ title = 5m
+ // descriptionSummary =
+ transform = S4
+ node = top01
+ node = bottom01
+ addedMass = 27
+ addedCost = 69000
+ volumeAdded = 18400
+ }
+ }
+}
+@PART[strl-shl-sun01]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Service
+ switcherDescription = #LOC_strl_subtype_Service
+ switcherDescriptionPlural = #LOC_strl_subtype_Services
+ baseVolume = 7854
+ SUBTYPE
+ {
+ name = 10-2
+ title = #LOC_strl_shl-sun01Var1a
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2400 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2on$ 400 kW @ 0.1 EC/s $@STRLB9LOC/shl-sun-3off$
+ primaryColor = white
+ secondaryColor = white
+ defaultSubtypePriority = 1
+ transform = 10m
+ transform = 2
+ node = bottom
+ node = top
+ CoMOffset = 0, 0.6, 0
+ CoLOffset = 0, 0.6, 0
+ CoPOffset = 0, 0.6, 0
+ CenterOfBuoyancy = 0, 0.6, 0
+ addedMass = 2.4
+ addedCost = 490
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ volumeAdded = 0
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = 20000
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.1
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 25-2
+ title = #LOC_strl_shl-sun01Var1b
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2400 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2on$ 1000 kW @ 0.25 EC/s $@STRLB9LOC/shl-sun-3off$
+ primaryColor = white
+ secondaryColor = white
+ transform = 25m
+ transform = 2
+ node = bottom01
+ node = top01
+ CoMOffset = 0, 1.9, 0
+ CoLOffset = 0, 1.9, 0
+ CoPOffset = 0, 1.9, 0
+ CenterOfBuoyancy = 0, 1.9, 0
+ addedMass = 15.39
+ addedCost = 26058
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ volumeAdded = 41233
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = 50000
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.25
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 50-2a
+ title = #LOC_strl_shl-sun01Var1c
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2400 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2on$ 3000 kW @ 0.75 EC/s $@STRLB9LOC/shl-sun-3off$
+ primaryColor = white
+ secondaryColor = white
+ transform = 25m
+ transform = 50m
+ transform = 2
+ node = bottom01
+ node = bottom02
+ node = top01
+ CoMOffset = 0, 0, 0
+ CoLOffset = 0, 0, 0
+ CoPOffset = 0, 0, 0
+ CenterOfBuoyancy = 0, 0, 0
+ addedMass = 61.88
+ addedCost = 127250
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ volumeAdded = 188496
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = 150000
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.75
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 50-2b
+ title = #LOC_strl_shl-sun01Var1d
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2400 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2on$ 2000 kW @ 0.5 EC/s $@STRLB9LOC/shl-sun-3off$
+ primaryColor = white
+ secondaryColor = clear
+ transform = 50m
+ transform = 2
+ node = bottom01
+ node = bottom02
+ node = top02
+ CoMOffset = 0, 0, 0
+ CoLOffset = 0, 0, 0
+ CoPOffset = 0, 0, 0
+ CenterOfBuoyancy = 0, 0, 0
+ addedMass = 46.32
+ addedCost = 91973
+ maxTemp = 2400
+ skinMaxTemp = 2400
+ volumeAdded = 139409
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = 100000
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0.5
+ }
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 10-3
+ title = #LOC_strl_shl-sun01Var2a
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2700 K $@STRLB9LOC/shl-sun-1on$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3off$
+ primaryColor = DarkGrey
+ secondaryColor = DarkGrey
+ transform = 10m
+ transform = 3
+ node = bottom
+ node = top
+ CoMOffset = 0, 0.6, 0
+ CoLOffset = 0, 0.6, 0
+ CoPOffset = 0, 0.6, 0
+ CenterOfBuoyancy = 0, 0.6, 0
+ addedMass = 1.4
+ addedCost = 140
+ maxTemp = 2700
+ skinMaxTemp = 2700
+ emissiveConstant = 0.9
+ volumeAdded = 0
+ RESOURCE
+ {
+ name = Ablator
+ unitsPerVolume = 0.1
+ percentFilled = 0
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 25-3
+ title = #LOC_strl_shl-sun01Var2b
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2700 K $@STRLB9LOC/shl-sun-1on$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3off$
+ primaryColor = DarkGrey
+ secondaryColor = DarkGrey
+ transform = 25m
+ transform = 3
+ node = bottom01
+ node = top01
+ CoMOffset = 0, 1.9, 0
+ CoLOffset = 0, 1.9, 0
+ CoPOffset = 0, 1.9, 0
+ CenterOfBuoyancy = 0, 1.9, 0
+ addedMass = 9.15
+ addedCost = 23874
+ maxTemp = 2700
+ emissiveConstant = 0.9
+ skinMaxTemp = 2700
+ volumeAdded = 41233
+ RESOURCE
+ {
+ name = Ablator
+ unitsPerVolume = 0.1
+ percentFilled = 0
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 50-3a
+ title = #LOC_strl_shl-sun01Var2c
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2700 K $@STRLB9LOC/shl-sun-1on$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3off$
+ primaryColor = DarkGrey
+ secondaryColor = DarkGrey
+ transform = 25m
+ transform = 50m
+ transform = 3
+ node = bottom01
+ node = bottom02
+ node = top01
+ CoMOffset = 0, 0, 0
+ CoLOffset = 0, 0, 0
+ CoPOffset = 0, 0, 0
+ CenterOfBuoyancy = 0, 0, 0
+ addedMass = 36.88
+ addedCost = 118500
+ maxTemp = 2700
+ skinMaxTemp = 2700
+ emissiveConstant = 0.9
+ volumeAdded = 188496
+ RESOURCE
+ {
+ name = Ablator
+ unitsPerVolume = 0.1
+ percentFilled = 0
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 50-3b
+ title = #LOC_strl_shl-sun01Var2d
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2700 K $@STRLB9LOC/shl-sun-1on$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3off$
+ primaryColor = DarkGrey
+ secondaryColor = clear
+ transform = 50m
+ transform = 3
+ node = bottom01
+ node = bottom02
+ node = top02
+ CoMOffset = 0, 0, 0
+ CoLOffset = 0, 0, 0
+ CoPOffset = 0, 0, 0
+ CenterOfBuoyancy = 0, 0, 0
+ addedMass = 27.6
+ addedCost = 85421
+ maxTemp = 2700
+ skinMaxTemp = 2700
+ emissiveConstant = 0.9
+ volumeAdded = 139409
+ RESOURCE
+ {
+ name = Ablator
+ unitsPerVolume = 0.1
+ percentFilled = 0
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 10-1
+ title = #LOC_strl_shl-sun01Var3a
+ upgradeRequired = strl-upgrade-mirrorShields1
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 3500 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3off$ $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/shl-sun-unlock1$
+ primaryColor = CarolinaBlue
+ secondaryColor = CarolinaBlue
+ transform = 10m
+ transform = 1
+ node = bottom
+ node = top
+ CoMOffset = 0, 0.6, 0
+ CoLOffset = 0, 0.6, 0
+ CoPOffset = 0, 0.6, 0
+ CenterOfBuoyancy = 0, 0.6, 0
+ maxTemp = 3500
+ skinMaxTemp = 3500
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 25-1
+ title = #LOC_strl_shl-sun01Var3b
+ upgradeRequired = strl-upgrade-mirrorShields1
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 3500 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3off$ $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/shl-sun-unlock1$
+ primaryColor = CarolinaBlue
+ secondaryColor = CarolinaBlue
+ transform = 25m
+ transform = 1
+ node = bottom01
+ node = top01
+ CoMOffset = 0, 1.9, 0
+ CoLOffset = 0, 1.9, 0
+ CoPOffset = 0, 1.9, 0
+ CenterOfBuoyancy = 0, 1.9, 0
+ addedMass = 9.15
+ addedCost = 23000
+ maxTemp = 3500
+ skinMaxTemp = 3500
+ volumeAdded = 41233
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 50-1a
+ title = #LOC_strl_shl-sun01Var3c
+ upgradeRequired = strl-upgrade-mirrorShields1
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 3500 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3off$ $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/shl-sun-unlock1$
+ primaryColor = CarolinaBlue
+ secondaryColor = CarolinaBlue
+ transform = 25m
+ transform = 50m
+ transform = 1
+ node = bottom01
+ node = bottom02
+ node = top01
+ CoMOffset = 0, 0, 0
+ CoLOffset = 0, 0, 0
+ CoPOffset = 0, 0, 0
+ CenterOfBuoyancy = 0, 0, 0
+ addedMass = 36.88
+ addedCost = 115000
+ maxTemp = 3500
+ skinMaxTemp = 3500
+ volumeAdded = 188496
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 50-1b
+ title = #LOC_strl_shl-sun01Var3d
+ upgradeRequired = strl-upgrade-mirrorShields1
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 3500 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3off$ $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/shl-sun-unlock1$
+ primaryColor = CarolinaBlue
+ secondaryColor = clear
+ transform = 50m
+ transform = 1
+ node = bottom01
+ node = bottom02
+ node = top02
+ CoMOffset = 0, 0, 0
+ CoLOffset = 0, 0, 0
+ CoPOffset = 0, 0, 0
+ CenterOfBuoyancy = 0, 0, 0
+ addedMass = 27.6
+ addedCost = 82800
+ maxTemp = 3500
+ skinMaxTemp = 3500
+ volumeAdded = 139409
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 10-4
+ title = #LOC_strl_shl-sun01Var4a
+ upgradeRequired = strl-upgrade-mirrorShields2
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2900 K $@STRLB9LOC/shl-sun-1on$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3on$ 0.079 TP/s $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/shl-sun-unlock2$
+ primaryColor = DarkGrey
+ secondaryColor = BloodOrange
+ transform = 10m
+ transform = 4
+ node = bottom
+ node = top
+ CoMOffset = 0, 0.6, 0
+ CoLOffset = 0, 0.6, 0
+ CoPOffset = 0, 0.6, 0
+ CenterOfBuoyancy = 0, 0.6, 0
+ addedMass = 1.4
+ addedCost = 520
+ maxTemp = 2900
+ skinMaxTemp = 2900
+ emissiveConstant = 0.9
+ volumeAdded = 0
+ RESOURCE
+ {
+ name = ThermalPower
+ unitsPerVolume = 0.1
+ percentFilled = 0
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ chargeRate = 0.079
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 25-4
+ title = #LOC_strl_shl-sun01Var4b
+ upgradeRequired = strl-upgrade-mirrorShields2
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2900 K $@STRLB9LOC/shl-sun-1on$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3on$ 0.491 TP/s $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/shl-sun-unlock2$
+ primaryColor = DarkGrey
+ secondaryColor = BloodOrange
+ transform = 25m
+ transform = 4
+ node = bottom01
+ node = top01
+ CoMOffset = 0, 1.9, 0
+ CoLOffset = 0, 1.9, 0
+ CoPOffset = 0, 1.9, 0
+ CenterOfBuoyancy = 0, 1.9, 0
+ addedMass = 9.15
+ addedCost = 26245
+ maxTemp = 2900
+ skinMaxTemp = 2900
+ emissiveConstant = 0.9
+ volumeAdded = 41233
+ RESOURCE
+ {
+ name = ThermalPower
+ unitsPerVolume = 0.1
+ percentFilled = 0
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ chargeRate = 0.491
+ secondaryTransformName = sunCatcher01
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 50-4a
+ title = #LOC_strl_shl-sun01Var4c
+ upgradeRequired = strl-upgrade-mirrorShields2
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2900 K $@STRLB9LOC/shl-sun-1on$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3on$ 1.964 TP/s $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/shl-sun-unlock2$
+ primaryColor = DarkGrey
+ secondaryColor = BloodOrange
+ transform = 25m
+ transform = 50m
+ transform = 4
+ node = bottom01
+ node = bottom02
+ node = top01
+ CoMOffset = 0, 0, 0
+ CoLOffset = 0, 0, 0
+ CoPOffset = 0, 0, 0
+ CenterOfBuoyancy = 0, 0, 0
+ addedMass = 36.88
+ addedCost = 128000
+ maxTemp = 2900
+ skinMaxTemp = 2900
+ emissiveConstant = 0.9
+ volumeAdded = 188496
+ RESOURCE
+ {
+ name = ThermalPower
+ unitsPerVolume = 0.1
+ percentFilled = 0
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ chargeRate = 1.964
+ secondaryTransformName = sunCatcher01
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 50-4b
+ title = #LOC_strl_shl-sun01Var4d
+ upgradeRequired = strl-upgrade-mirrorShields2
+ descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2900 K $@STRLB9LOC/shl-sun-1on$ $@STRLB9LOC/shl-sun-2off$ $@STRLB9LOC/shl-sun-3on$ 1.472 TP/s $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/shl-sun-unlock2$
+ primaryColor = DarkGrey
+ secondaryColor = clear
+ transform = 50m
+ transform = 4
+ node = bottom01
+ node = bottom02
+ node = top02
+ CoMOffset = 0, -1, 0
+ CoLOffset = 0, -1, 0
+ CoPOffset = 0, -1, 0
+ CenterOfBuoyancy = 0, -1, 0
+ addedMass = 27.6
+ addedCost = 92534
+ maxTemp = 2900
+ skinMaxTemp = 2900
+ emissiveConstant = 0.9
+ volumeAdded = 139409
+ RESOURCE
+ {
+ name = ThermalPower
+ unitsPerVolume = 0.1
+ percentFilled = 0
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleAblator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ moduleIsActive = false
+ }
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ }
+ DATA
+ {
+ chargeRate = 1.472
+ secondaryTransformName = sunCatcher01
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/B9PS-WrapperRadiators.cfg b/GameData/SterlingSystems/Thermals/zPatches/B9PS-WrapperRadiators.cfg
new file mode 100644
index 0000000..a182c55
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/B9PS-WrapperRadiators.cfg
@@ -0,0 +1,853 @@
+@PART[strl-rad-wrap?-125]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower4 = #$refPower$
+ refPower6 = #$refPower$
+ refPower8 = #$refPower$
+ @refPower2 *= 2
+ @refPower4 *= 4
+ @refPower6 *= 6
+ @refPower8 *= 8
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #autoLOC_8100191 // Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1x
+ title = 1m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 1m
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = 2m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower2$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 2m
+ addedCost = #$/cost$
+ @addedCost *= 1
+ addedMass = #$/mass$
+ @addedMass *= 1
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 2
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = 4m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower4$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 4m
+ addedCost = #$/cost$
+ @addedCost *= 3
+ addedMass = #$/mass$
+ @addedMass *= 3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower4$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 4
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 6x
+ title = 6m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower6$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 6m
+ addedCost = #$/cost$
+ @addedCost *= 5
+ addedMass = #$/mass$
+ @addedMass *= 5
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower6$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 6
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 8x
+ title = 8m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower8$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 8m
+ addedCost = #$/cost$
+ @addedCost *= 7
+ addedMass = #$/mass$
+ @addedMass *= 7
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower8$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 8
+ // }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-wrap?-187]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower4 = #$refPower$
+ refPower6 = #$refPower$
+ refPower8 = #$refPower$
+ @refPower2 *= 2
+ @refPower4 *= 4
+ @refPower6 *= 6
+ @refPower8 *= 8
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #autoLOC_8100191 // Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1x
+ title = 1.5m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 1m
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = 3m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower2$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 2m
+ addedCost = #$/cost$
+ @addedCost *= 1
+ addedMass = #$/mass$
+ @addedMass *= 1
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 2
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = 6m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower4$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 4m
+ addedCost = #$/cost$
+ @addedCost *= 3
+ addedMass = #$/mass$
+ @addedMass *= 3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower4$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 4
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 6x
+ title = 9m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower6$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 6m
+ addedCost = #$/cost$
+ @addedCost *= 5
+ addedMass = #$/mass$
+ @addedMass *= 5
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower6$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 6
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 8x
+ title = 12m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower8$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 8m
+ addedCost = #$/cost$
+ @addedCost *= 7
+ addedMass = #$/mass$
+ @addedMass *= 7
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower8$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 8
+ // }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-wrap?-250|strl-rad-wrap?-375|strl-rad-wrap?-500]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower3 = #$refPower$
+ refPower4 = #$refPower$
+ @refPower2 *= 2
+ @refPower3 *= 3
+ @refPower4 *= 4
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #autoLOC_8100191 // Height
+ switcherDescriptionPlural = Heights
+ SUBTYPE
+ {
+ name = 1x
+ title = 2m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 2m
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = 4m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower2$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 4m
+ addedCost = #$/cost$
+ @addedCost *= 1
+ addedMass = #$/mass$
+ @addedMass *= 1
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 2
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 3x
+ title = 6m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower3$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 6m
+ addedCost = #$/cost$
+ @addedCost *= 2
+ addedMass = #$/mass$
+ @addedMass *= 2
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 3
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = 8m
+ descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower4$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 8m
+ addedCost = #$/cost$
+ @addedCost *= 3
+ addedMass = #$/mass$
+ @addedMass *= 3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower4$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 4
+ // }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-wrap?-mk2]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower4 = #$refPower$
+ refPower8 = #$refPower$
+ @refPower2 *= 2
+ @refPower4 *= 4
+ @refPower8 *= 8
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #autoLOC_8100191 // Height
+ switcherDescriptionPlural = #LOC_strl_subtype_Heights
+ SUBTYPE
+ {
+ name = 1x
+ title = #LOC_strl_wrapMk2Height1_title
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note1$
$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 2short
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = #LOC_strl_wrapMk2Height2_title
+ defaultSubtypePriority = 1
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note2$
$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower2$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = short
+ addedCost = #$/cost$
+ @addedCost *= 1
+ addedMass = #$/mass$
+ @addedMass *= 1
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 2
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = #LOC_strl_wrapMk2Height4_title
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note4$
$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower4$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = long
+ addedCost = #$/cost$
+ @addedCost *= 3
+ addedMass = #$/mass$
+ @addedMass *= 3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower4$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 4
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 8x
+ title = #LOC_strl_wrapMk2Height8_title
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk2Note8$
$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower8$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 2long
+ addedCost = #$/cost$
+ @addedCost *= 7
+ addedMass = #$/mass$
+ @addedMass *= 7
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower8$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 8
+ // }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-wrap?-mk3]:NEEDS[B9PartSwitch]
+{
+ refPower2 = #$refPower$
+ refPower3 = #$refPower$
+ refPower4 = #$refPower$
+ refPower8 = #$refPower$
+ @refPower2 *= 2
+ @refPower3 *= 3
+ @refPower4 *= 4
+ @refPower8 *= 8
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = #autoLOC_8100191 // Height
+ switcherDescriptionPlural = #LOC_strl_subtype_Heights
+ SUBTYPE
+ {
+ name = 1x
+ title = #LOC_strl_wrapMk3Height1_title
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note1$
$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = mono
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = #LOC_strl_wrapMk3Height2_title
+ defaultSubtypePriority = 1
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note2$
$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower2$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = lf
+ addedCost = #$/cost$
+ @addedCost *= 1
+ addedMass = #$/mass$
+ @addedMass *= 1
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 2
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 3x
+ title = #LOC_strl_wrapMk3Height3_title
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note3$
$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower3$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = crew
+ addedCost = #$/cost$
+ @addedCost *= 2
+ addedMass = #$/mass$
+ @addedMass *= 2
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 3
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = #LOC_strl_wrapMk3Height4_title
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note4$
$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower4$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 2lf
+ addedCost = #$/cost$
+ @addedCost *= 3
+ addedMass = #$/mass$
+ @addedMass *= 3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower4$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 4
+ // }
+ }
+ }
+ }
+ SUBTYPE
+ {
+ name = 8x
+ title = #LOC_strl_wrapMk3Height8_title
+ descriptionSummary = #$@STRLB9LOC/txtWrapMk3Note8$
$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatpwr$ $/refPower8$ kW $@STRLB9LOC/txtsysheattemp$ $/refTemp$ K
+ transform = 4lf
+ addedCost = #$/cost$
+ @addedCost *= 7
+ addedMass = #$/mass$
+ @addedMass *= 7
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ maxEnergyTransfer = #$/refPower8$
+ @maxEnergyTransfer *= 50
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ // @rate *= 8
+ // }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-sink-mk2]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Structure
+ switcherDescription = #LOC_strl_subtype_Coupling
+ switcherDescriptionPlural = #LOC_strl_subtype_Couplings
+ SUBTYPE
+ {
+ name = 1x
+ title = #autoLOC_6001507 // Default
+ transform = bodyLower
+ node = bottom
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = 1.25m (2x)
+ transform = bodyBi
+ stackSymmetry = 1
+ node = bottom01
+ node = bottom02
+ }
+ }
+}
+
+@PART[strl-rad-sink-375]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Structure
+ switcherDescription = #LOC_strl_subtype_Coupling
+ switcherDescriptionPlural = #LOC_strl_subtype_Couplings
+ SUBTYPE
+ {
+ name = 1x
+ title = #autoLOC_6001507 // Default
+ node = bottom
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = 1.25m (2x)
+ transform = 2x
+ stackSymmetry = 1
+ node = bottom02
+ node = bottom04
+ }
+ SUBTYPE
+ {
+ name = 3x
+ title = 1.25m (3x)
+ transform = 3x
+ stackSymmetry = 2
+ node = bottom02
+ node = bottom05
+ node = bottom06
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = 1.25m (4x)
+ transform = 4x
+ stackSymmetry = 3
+ node = bottom01
+ node = bottom02
+ node = bottom03
+ node = bottom04
+ }
+ }
+}
+@PART[strl-rad-sink-500]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Structure
+ switcherDescription = #LOC_strl_subtype_Coupling
+ switcherDescriptionPlural = #LOC_strl_subtype_Couplings
+ SUBTYPE
+ {
+ name = 1x
+ title = #autoLOC_6001507 // Default
+ node = bottom
+ }
+ SUBTYPE
+ {
+ name = S1-2x
+ title = 1.25m (2x)
+ transform = S1_2x
+ stackSymmetry = 1
+ node = bottom00
+ node = bottom03-S1
+ node = bottom07-S1
+ }
+ SUBTYPE
+ {
+ name = S1-3x
+ title = 1.25m (3x)
+ transform = S1_3x
+ stackSymmetry = 2
+ node = bottom00
+ node = bottom03-S1
+ node = bottom11-S1
+ node = bottom12-S1
+ }
+ SUBTYPE
+ {
+ name = S1-4x
+ title = 1.25m (4x)
+ transform = S1_4x
+ stackSymmetry = 3
+ node = bottom00
+ node = bottom01-S1
+ node = bottom03-S1
+ node = bottom05-S1
+ node = bottom07-S1
+ }
+ SUBTYPE
+ {
+ name = S1-6x
+ title = 1.25m (6x)
+ transform = S1_6x
+ stackSymmetry = 5
+ node = bottom00
+ node = bottom03-S1
+ node = bottom07-S1
+ node = bottom09-S1
+ node = bottom10-S1
+ node = bottom11-S1
+ node = bottom12-S1
+ }
+ SUBTYPE
+ {
+ name = S1-8x
+ title = 1.25m (8x)
+ transform = S1_8x
+ stackSymmetry = 7
+ node = bottom00
+ node = bottom01-S1
+ node = bottom02-S1
+ node = bottom03-S1
+ node = bottom04-S1
+ node = bottom05-S1
+ node = bottom06-S1
+ node = bottom07-S1
+ node = bottom08-S1
+ }
+ SUBTYPE
+ {
+ name = S1p5-2x
+ title = 1.875m (2x)
+ transform = S1p5_2x
+ stackSymmetry = 1
+ node = bottom02-S1p5
+ node = bottom04-S1p5
+ }
+ SUBTYPE
+ {
+ name = S1p5-3x
+ title = 1.875m (3x)
+ transform = S1p5_3x
+ stackSymmetry = 2
+ node = bottom02-S1p5
+ node = bottom05-S1p5
+ node = bottom06-S1p5
+ }
+ SUBTYPE
+ {
+ name = S1p5-4x
+ title = 1.875m (4x)
+ transform = S1p5_4x
+ stackSymmetry = 3
+ node = bottom01-S1p5
+ node = bottom02-S1p5
+ node = bottom03-S1p5
+ node = bottom04-S1p5
+ }
+ SUBTYPE
+ {
+ name = S2-2x
+ title = 2.5m (2x)
+ transform = S2_2x
+ stackSymmetry = 1
+ node = bottom01-S2
+ node = bottom02-S2
+ }
+ }
+}
+
+@PART[strl-rad*]:AFTER[SterlingSystems]
+{
+ !refECReq* = nope
+ !refPower* = nope
+ !refTemp* = nope
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/B9PS-WrapperShields.cfg b/GameData/SterlingSystems/Thermals/zPatches/B9PS-WrapperShields.cfg
new file mode 100644
index 0000000..fb02569
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/B9PS-WrapperShields.cfg
@@ -0,0 +1,343 @@
+B9_TANK_TYPE
+{
+ name = STRL_AB
+ title = Ablator
+ tankMass = 0
+ tankCost = 0
+
+ RESOURCE
+ {
+ name = Ablator
+ unitsPerVolume = 1
+ }
+}
+
+@PART[strl-shl-wrap-125]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ baseVolume = #$/RESOURCE[Ablator]/maxAmount$
+ SUBTYPE
+ {
+ name = 1x
+ title = 1m
+ transform = 1m
+ tankType = STRL_AB
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = 2m
+ transform = 2m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ addedMass = #$/mass$
+ volumeAdded = #$../baseVolume$
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = 4m
+ transform = 4m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 3
+ addedMass = #$/mass$
+ @addedMass *= 3
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 3
+ }
+ SUBTYPE
+ {
+ name = 6x
+ title = 6m
+ transform = 6m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 5
+ addedMass = #$/mass$
+ @addedMass *= 5
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 5
+ }
+ SUBTYPE
+ {
+ name = 8x
+ title = 8m
+ transform = 8m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 7
+ addedMass = #$/mass$
+ @addedMass *= 7
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 7
+ }
+ }
+ !RESOURCE[Ablator] {}
+}
+
+@PART[strl-shl-wrap-187]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ baseVolume = #$/RESOURCE[Ablator]/maxAmount$
+ SUBTYPE
+ {
+ name = 1x
+ title = 1.5m
+ transform = 1m
+ tankType = STRL_AB
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = 3m
+ transform = 2m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ addedMass = #$/mass$
+ volumeAdded = #$../baseVolume$
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = 6m
+ transform = 4m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 3
+ addedMass = #$/mass$
+ @addedMass *= 3
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 3
+ }
+ SUBTYPE
+ {
+ name = 6x
+ title = 9m
+ transform = 6m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 5
+ addedMass = #$/mass$
+ @addedMass *= 5
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 5
+ }
+ SUBTYPE
+ {
+ name = 8x
+ title = 12m
+ transform = 8m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 7
+ addedMass = #$/mass$
+ @addedMass *= 7
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 7
+ }
+ }
+ !RESOURCE[Ablator] {}
+}
+
+@PART[strl-shl-wrap-250|strl-shl-wrap-375|strl-shl-wrap-500]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ baseVolume = #$/RESOURCE[Ablator]/maxAmount$
+ SUBTYPE
+ {
+ name = 1x
+ title = 2m
+ transform = 2m
+ tankType = STRL_AB
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = 4m
+ transform = 4m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ addedMass = #$/mass$
+ volumeAdded = #$../baseVolume$
+ }
+ SUBTYPE
+ {
+ name = 3x
+ title = 6m
+ transform = 6m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 2
+ addedMass = #$/mass$
+ @addedMass *= 2
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 2
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = 8m
+ transform = 8m
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 3
+ addedMass = #$/mass$
+ @addedMass *= 3
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 3
+ }
+ }
+ !RESOURCE[Ablator] {}
+}
+
+@PART[strl-shl-wrap-mk2]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ baseVolume = #$/RESOURCE[Ablator]/maxAmount$
+ SUBTYPE
+ {
+ name = 1x
+ title = Extra Short
+ descriptionSummary = #Can hold Mk2 Drone Core and possibly the service bay from Mk2 Stockalike Expansion.
+ transform = 2short
+ tankType = STRL_AB
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = Short
+ defaultSubtypePriority = 1
+ descriptionSummary = #Fits Mk2 Short Fuselage.
+ transform = short
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ addedMass = #$/mass$
+ volumeAdded = #$../baseVolume$
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = Long
+ descriptionSummary = #Fits Mk2 Long Fuselage.
+ transform = long
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 3
+ addedMass = #$/mass$
+ @addedMass *= 3
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 3
+ }
+ SUBTYPE
+ {
+ name = 8x
+ title = Double Long
+ descriptionSummary = #Fits 2x Mk2 Long Fuselage.
+ transform = 2long
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 7
+ addedMass = #$/mass$
+ @addedMass *= 7
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 7
+ }
+ }
+ !RESOURCE[Ablator] {}
+}
+
+@PART[strl-shl-wrap-mk3]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Height
+ switcherDescription = Height
+ switcherDescriptionPlural = Heights
+ baseVolume = #$/RESOURCE[Ablator]/maxAmount$
+ SUBTYPE
+ {
+ name = 1x
+ title = Mono
+ descriptionSummary = #Fits Mk3 MonoPropellant Tank.
+ transform = mono
+ tankType = STRL_AB
+ }
+ SUBTYPE
+ {
+ name = 2x
+ title = Short LF
+ defaultSubtypePriority = 1
+ descriptionSummary = #Fits Mk3 Short Fuselage.
+ transform = lf
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ addedMass = #$/mass$
+ volumeAdded = #$../baseVolume$
+ }
+ SUBTYPE
+ {
+ name = 3x
+ title = Crew
+ descriptionSummary = #Fits Mk3 Crew Cabin.
+ transform = crew
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 2
+ addedMass = #$/mass$
+ @addedMass *= 2
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 2
+ }
+ SUBTYPE
+ {
+ name = 4x
+ title = Medium LF
+ descriptionSummary = #Fits Mk3 Medium Fuselage.
+ transform = 2lf
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 3
+ addedMass = #$/mass$
+ @addedMass *= 3
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 3
+ }
+ SUBTYPE
+ {
+ name = 8x
+ title = Long LF
+ descriptionSummary = #Fits Mk3 Long Fuselage.
+ transform = 4lf
+ tankType = STRL_AB
+ addedCost = #$/cost$
+ @addedCost *= 7
+ addedMass = #$/mass$
+ @addedMass *= 7
+ volumeAdded = #$../baseVolume$
+ @volumeAdded *= 7
+ }
+ }
+ !RESOURCE[Ablator] {}
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/CTT.cfg b/GameData/SterlingSystems/Thermals/zPatches/CTT.cfg
new file mode 100644
index 0000000..5e2e25e
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/CTT.cfg
@@ -0,0 +1,32 @@
+@PART[strl-shl-wrap*]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = aerospaceComposites
+}
+@PART[strl-shl-shadow01]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = nuclearFuelSystems
+}
+@PART[strl-rad-wrapw*]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = heatManagementSystems
+}
+@PART[strl-rad-sink*|strl-rad-wrapg*]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = advHeatManagement
+}
+@PART[strl-rad-wrapb*]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = specializedRadiators
+}
+@PART[strl-rad-lfr*]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = exoticRadiators
+}
+@PART[strl-shl-sun01]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = orbitalAssembly
+}
+@PART[strl-worldpower-tcs?]:NEEDS[CommunityTechTree]
+{
+ @TechRequired = specializedRadiators
+}
diff --git a/GameData/SterlingSystems/Thermals/zPatches/KerbalismShielding.cfg b/GameData/SterlingSystems/Thermals/zPatches/KerbalismShielding.cfg
new file mode 100644
index 0000000..87b4de5
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/KerbalismShielding.cfg
@@ -0,0 +1,31 @@
+@PART[strl-shl-shadow01]:NEEDS[KerbalismDefault]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Span]]
+ {
+ @SUBTYPE,*
+ {
+ RESOURCE
+ {
+ name = Shielding
+ unitsPerVolume = 1
+ percentFilled = 0
+ }
+ }
+ }
+}
+
+@PART[strl-shl-sun01]:NEEDS[KerbalismDefault]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE,*
+ {
+ RESOURCE
+ {
+ name = Shielding
+ unitsPerVolume = 1
+ percentFilled = 0
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/Power_Reactors.cfg b/GameData/SterlingSystems/Thermals/zPatches/Power_Reactors.cfg
new file mode 100644
index 0000000..c9587d9
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/Power_Reactors.cfg
@@ -0,0 +1,254 @@
+// Reactors
+// - - Molten Salt
+@PART[strl-rctrms-*]
+{
+ @cost *= #$/refPower$
+ RESOURCE
+ {
+ name = FissileFuel
+ amount = 910
+ maxAmount = 910
+ @amount *= #$/refPower$
+ @maxAmount *= #$/refPower$
+ }
+ RESOURCE
+ {
+ name = FizzledFuel
+ amount = 0
+ maxAmount = 910
+ @maxAmount *= #$/refPower$
+ }
+ RESOURCE
+ {
+ name = ThermalPower
+ amount = 800
+ maxAmount = 800
+ @amount *= #$/refPower$
+ @maxAmount *= #$/refPower$
+ }
+}
+
+@PART[strl-rctrms-*]
+{
+ addedCost = #$@RESOURCE_DEFINITION[FissileFuel]/unitCost$
+ @addedCost *= #$RESOURCE[FissileFuel]/maxAmount$
+ @cost += #$addedCost$
+}
+
+@PART[strl-rctrms-*]:NEEDS[!SystemHeat]
+{
+ energyStart = 50000
+ energyNorminal = 15000
+ @energyStart *= #$/refPower$
+ @energyNorminal *= #$/refPower$
+ MaxCoolant = 900
+ @MaxCoolant *= #$/refPower$
+
+
+ MODULE
+ {
+ name = ModuleOverheatDisplay
+ }
+
+ MODULE
+ {
+ name = ModuleResourceConverter
+ ConverterName = #LOC_strl_reactor_fission
+ StartActionName = #LOC_strl_reactor_start
+ StopActionName = #LOC_strl_reactor_stop
+ ToggleActionName = #LOC_strl_reactor_toggle
+ AutoShutdown = true
+ GeneratesHeat = true
+ DefaultShutoffTemp = 0.8
+ EfficiencyBonus = 1
+ resourceOutputName = ThermalPower
+
+ TemperatureModifier
+ {
+ key = #0 $/energyStart$ 0 0
+ key = #800 $/energyNorminal$ 0 0
+ key = 801 0
+ }
+ ThermalEfficiency
+ {
+ key = 0 0 0 0
+ key = 400 0.2
+ key = 800 1 0 0
+ key = 1400 0.2
+ key = 2000 0 0 0
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = FissileFuel
+ Ratio = 0.00000988946
+ @Ratio *= #$/refPower$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = FizzledFuel
+ Ratio = 0.00000988946
+ @Ratio *= #$/refPower$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 130
+ @Ratio *= #$/refPower$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleCoreHeat
+ //Internal temp goal - we don't transfer till we hit this point
+ CoreTempGoal = 801
+ //At what core temperature do we shut down all generators on this part?
+ CoreShutdownTemp = 1600
+ //Maximum amount of radiator capacity we can consume - 50 = 1 small
+ MaxCoolant = #$/MaxCoolant$
+
+ // Uninteresting stuff
+ 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
+ }
+}
+
+// - - Pebble Bed
+@PART[strl-rctrpb-*]
+{
+ @cost *= #$/refPower$
+ RESOURCE
+ {
+ name = FissilePebbles
+ amount = 456
+ maxAmount = 456
+ @amount *= #$/refPower$
+ @maxAmount *= #$/refPower$
+ }
+ RESOURCE
+ {
+ name = FizzledPebbles
+ amount = 0
+ maxAmount = 456
+ @maxAmount *= #$/refPower$
+ }
+ RESOURCE
+ {
+ name = ThermalPower
+ amount = 800
+ maxAmount = 800
+ @amount *= #$/refPower$
+ @maxAmount *= #$/refPower$
+ }
+}
+
+@PART[strl-rctrpb-*]
+{
+ addedCost = #$@RESOURCE_DEFINITION[FissilePebbles]/unitCost$
+ @addedCost *= #$RESOURCE[FissilePebbles]/maxAmount$
+ @cost += #$addedCost$
+}
+
+@PART[strl-rctrpb-*]:NEEDS[!SystemHeat]
+{
+ energyStart = 50000
+ energyNorminal = 15000
+ @energyStart *= #$/refPower$
+ @energyNorminal *= #$/refPower$
+ MaxCoolant = 900
+ @MaxCoolant *= #$/refPower$
+
+ MODULE
+ {
+ name = ModuleOverheatDisplay
+ }
+
+ MODULE
+ {
+ name = ModuleResourceConverter
+ ConverterName = #LOC_strl_reactor_fission
+ StartActionName = #LOC_strl_reactor_start
+ StopActionName = #LOC_strl_reactor_stop
+ ToggleActionName = #LOC_strl_reactor_toggle
+ AutoShutdown = true
+ GeneratesHeat = true
+ DefaultShutoffTemp = 0.8
+ EfficiencyBonus = 1
+ resourceOutputName = ThermalPower
+
+ TemperatureModifier
+ {
+ key = #0 $/energyStart$ 0 0
+ key = #1300 $/energyNorminal$ 0 0
+ key = 1301 0
+ }
+ ThermalEfficiency
+ {
+ key = 0 0
+ key = 700 0.1 0.0002361563 0.0002361563
+ key = 1000 0.3
+ key = 1300 1 0 0
+ key = 1600 0.2
+ key = 2000 0 0 0
+ }
+ INPUT_RESOURCE
+ {
+ ResourceName = FissilePebbles
+ Ratio = 0.00000494473
+ @Ratio *= #$/refPower$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = FizzledPebbles
+ Ratio = 0.00000494473
+ @Ratio *= #$/refPower$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 1020
+ @Ratio *= #$/refPower$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleCoreHeat
+ //Internal temp goal - we don't transfer till we hit this point
+ CoreTempGoal = 1301
+ //At what core temperature do we shut down all generators on this part?
+ CoreShutdownTemp = 2000
+ //Maximum amount of radiator capacity we can consume - 50 = 1 small
+ MaxCoolant = #$/MaxCoolant$
+
+ // Uninteresting stuff
+ 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
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/Restock.cfg b/GameData/SterlingSystems/Thermals/zPatches/Restock.cfg
new file mode 100644
index 0000000..dbb2dc1
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/Restock.cfg
@@ -0,0 +1,34 @@
+@PART[strl-rad*]:NEEDS[Restock,!SystemHeat]
+{
+ !MODULE[ModuleAnimateHeat] {}
+ MODULE
+ {
+ name = ModuleRestockHeatEffects
+ shaderProperty = _EmissiveColor
+ disableBlackbody = true
+ enableHeatEmissive = true
+ lerpMax = 2500
+ useCoreTemp = false
+ redCurve
+ {
+ key = 0 0 0 8
+ key = 0.25 1 0 0
+ }
+ greenCurve
+ {
+ key = 0.25 0 0 4
+ key = 0.75 1 0 0
+
+ }
+ blueCurve
+ {
+ key = 0.75 0 0 8
+ key = 1 1 0 0
+ }
+ alphaCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/SystemHeatRadiators.cfg b/GameData/SterlingSystems/Thermals/zPatches/SystemHeatRadiators.cfg
new file mode 100644
index 0000000..3fb4504
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/SystemHeatRadiators.cfg
@@ -0,0 +1,1776 @@
+// Curves
+STRL-SH-CURVES
+{
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ }
+}
+
+// Parts
+@PART[strl-rad-wrap?-*]:NEEDS[SystemHeat]
+{
+ !MODULE[ModuleAnimateHeat] {}
+ MODULE
+ {
+ name = ModuleSystemHeatColorAnimator
+ moduleID = heat
+ useRate = false
+ animRate = 1
+ shaderProperty = _EmissiveColor
+ toggleInEditor = false
+ toggleInFlight = false
+ redCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ greenCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ blueCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/refArea$
+ @volume *= 0.01
+ moduleID = default
+ iconName = Icon_Radiator
+ ignoreTemperature = true
+ }
+ @MODULE[ModuleActiveRadiator]
+ {
+ @name = ModuleSystemHeatRadiator
+ moduleID = radiator
+ // ModuleSystemHeat instance to link to
+ systemHeatModuleID = default
+ scalarModuleID = heat
+ maxTempAnimation = 1400
+
+ // option: use deterministic temperatures
+ // Power radiated per temperature
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower$
+ }
+ // area for convection
+ convectiveArea = #$/refArea$
+ }
+}
+
+@PART[strl-rad-wrap?-1??]:NEEDS[B9PartSwitch,SystemHeat]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Height]]
+ {
+ @SUBTYPE[2x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower2$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 2
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 2
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 2
+ }
+ }
+ }
+ @SUBTYPE[4x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower4$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 4
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 4
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 4
+ }
+ }
+ }
+ @SUBTYPE[6x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower6$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 6
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 6
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 6
+ }
+ }
+ }
+ @SUBTYPE[8x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower8$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 8
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 8
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 8
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-wrap?-250|strl-rad-wrap?-375|strl-rad-wrap?-500]:NEEDS[B9PartSwitch,SystemHeat]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Height]]
+ {
+ @SUBTYPE[2x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower2$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 2
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 2
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 2
+ }
+ }
+ }
+ @SUBTYPE[3x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower3$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 3
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 3
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 3
+ }
+ }
+ }
+ @SUBTYPE[4x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower4$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 4
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 4
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 4
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-wrap?-mk2]:NEEDS[B9PartSwitch,SystemHeat]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Height]]
+ {
+ @SUBTYPE[2x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower2$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 2
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 2
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 2
+ }
+ }
+ }
+ @SUBTYPE[4x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower4$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 4
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 4
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 4
+ }
+ }
+ }
+ @SUBTYPE[8x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower8$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 8
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 8
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 8
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-wrap?-mk3]:NEEDS[B9PartSwitch,SystemHeat]
+{
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Height]]
+ {
+ @SUBTYPE[2x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower2$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 2
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 2
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 2
+ }
+ }
+ }
+ @SUBTYPE[3x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower3$
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 3
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 3
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 3
+ }
+ }
+ }
+ @SUBTYPE[4x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower4$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 4
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 4
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 4
+ }
+ }
+ }
+ @SUBTYPE[8x]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower8$
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = #$/refECReq$
+ @rate *= 8
+ }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 8
+ maxEnergyTransfer = #$/MODULE[ModuleSystemHeatRadiator]/maxEnergyTransfer$
+ @maxEnergyTransfer *= 8
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-sink-*]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/refVolume$
+ @volume *= 0.04 // 6.12
+ moduleID = sink
+ iconName = Icon_Tank
+ ignoreTemperature = true
+ }
+ !MODULE[ModuleActiveRadiator] {}
+}
+
+// @PART[strl-rad-sink-*]:NEEDS[SystemHeatConverters]
+// {
+ // MODULE
+ // {
+ // name = ModuleSystemHeatConverter
+ // moduleID = ThermalExtract
+ // systemHeatModuleID = sink
+ // // shutdownTemperature = 3000
+ // systemOutletTemperature = 1000
+ // systemPower = #$/refPower$
+ // @systemPower *= -100
+ // // @systemPower *= -0.001
+ // systemEfficiency
+ // {
+ // key = 0 0 0 0
+ // key = 600 0.1 0 0.0025
+ // key = 1000 1
+ // key = 1800 3
+ // }
+ // ConverterName = ThermalExtract
+ // StartActionName = Start Extract ThermalPower
+ // StopActionName = Stop Extract ThermalPower
+ // ToggleActionName = Toggle Extract ThermalPower
+ // FillAmount = 1
+ // AutoShutdown = False
+ // GeneratesHeat = False
+ // UseSpecialistBonus = False
+ // OUTPUT_RESOURCE
+ // {
+ // ResourceName = ThermalPower
+ // Ratio = 0.1
+ // @Ratio *= #$/refPower$
+ // DumpExcess = False
+ // FlowMode = STAGE_PRIORITY_FLOW
+ // }
+ // }
+// }
+
+@PART[strl-shl-sun01]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/mass$
+ @volume /= 5
+ moduleID = default
+ iconName = Icon_Radiator
+ ignoreTemperature = true
+ }
+
+ @MODULE[ModuleActiveRadiator]
+ {
+ @name = ModuleSystemHeatRadiator
+ moduleID = radiator
+ // ModuleSystemHeat instance to link to
+ systemHeatModuleID = default
+ scalarModuleID = heat
+ maxTempAnimation = 1400
+
+ // option: use deterministic temperatures
+ // Power radiated per temperature
+ temperatureCurve
+ {
+ key = 0 0
+ key = #$/refTemp$ 62.5
+ }
+ @RESOURCE[ElectricCharge]
+ {
+ @rate = 0.15625
+ }
+ // area for convection
+ convectiveArea = #$/refArea10$
+ }
+
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE,*
+ {
+ @MODULE:HAS[@IDENTIFIER[ModuleActiveRadiator]]
+ {
+ @IDENTIFIER
+ {
+ @name = ModuleSystemHeatRadiator
+ }
+ !DATA {}
+ DATA
+ {
+ convectiveArea = 0
+ maxEnergyTransfer = 0
+ temperatureCurve
+ {
+ key = 0 0
+ key = #$/refTemp$ 0
+ }
+ RESOURCE
+ {
+ name = ElectricCharge
+ rate = 0
+ }
+ }
+ }
+ }
+ @SUBTYPE[10-2]
+ {
+ @descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2400 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2on$ 62.5 kW @ 0.016 EC/s @ 700 K $@STRLB9LOC/shl-sun-3off$
+ @MODULE:HAS[@IDENTIFIER[ModuleSystemHeatRadiator]]
+ {
+ @DATA
+ {
+ @convectiveArea = #$/refArea10$
+ @maxEnergyTransfer = 20000
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= 62.5
+ }
+ // @RESOURCE
+ // {
+ // @rate = 0.015625
+ // }
+ }
+ }
+ }
+ @SUBTYPE[25-2]
+ {
+ @descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2400 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2on$ 375 kW @ 0.094 EC/s @ 700 K $@STRLB9LOC/shl-sun-3off$
+ @MODULE:HAS[@IDENTIFIER[ModuleSystemHeatRadiator]]
+ {
+ @DATA
+ {
+ @convectiveArea = #$/refArea25$
+ @maxEnergyTransfer = 50000
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= 375
+ }
+ // @RESOURCE
+ // {
+ // @rate = 0.09375
+ // }
+ }
+ }
+ }
+ @SUBTYPE[50-2a]
+ {
+ @descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2400 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2on$ 875 kW @ 0.219 EC/s @ 700 K $@STRLB9LOC/shl-sun-3off$
+ @MODULE:HAS[@IDENTIFIER[ModuleSystemHeatRadiator]]
+ {
+ @DATA
+ {
+ @maxEnergyTransfer = 150000
+ @convectiveArea = #$/refArea50a$
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= 875
+ }
+ // @RESOURCE
+ // {
+ // @rate = 0.21875
+ // }
+ }
+ }
+ }
+ @SUBTYPE[50-2b]
+ {
+ @descriptionSummary = #$@STRLB9LOC/shl-sun-features$ $@STRLB9LOC/shl-sun-maxTemp$ 2400 K $@STRLB9LOC/shl-sun-1off$ $@STRLB9LOC/shl-sun-2on$ 500 kW @ 0.013 EC/s @ 700 K $@STRLB9LOC/shl-sun-3off$
+ @MODULE:HAS[@IDENTIFIER[ModuleSystemHeatRadiator]]
+ {
+ @DATA
+ {
+ @convectiveArea = #$/refArea50b$
+ @maxEnergyTransfer = 100000
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= 500
+ }
+ // @RESOURCE
+ // {
+ // @rate = 0.125
+ // }
+ }
+ }
+ }
+ }
+}
+
+
+@PART[strl-shl-shadow01]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ // Cubic metres
+ volume = 1.23
+ @volume = 6.12
+ moduleID = sink
+ iconName = Icon_Tank
+ ignoreTemperature = true
+ }
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Span]]
+ {
+ @SUBTYPE[s1]
+ {
+ %descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatvol$ 6.12 m³
+ }
+ @SUBTYPE[s1p5]
+ {
+ %descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatvol$ 7.53 m³
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeat
+ }
+ DATA
+ {
+ volume = 7.53 // 1.23
+ }
+ }
+ }
+ @SUBTYPE[s1p5]
+ {
+ %descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatvol$ 16.89 m³
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeat
+ }
+ DATA
+ {
+ volume = 16.89 // 2.76
+ }
+ }
+ }
+ @SUBTYPE[s2]
+ {
+ %descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatvol$ 30 m³
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeat
+ }
+ DATA
+ {
+ volume = 30 // 4.9
+ }
+ }
+ }
+ @SUBTYPE[s3]
+ {
+ %descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatvol$ 67.56 m³
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeat
+ }
+ DATA
+ {
+ volume = 67.56 // 11.04
+ }
+ }
+ }
+ @SUBTYPE[s4]
+ {
+ %descriptionSummary = #$@STRLB9LOC/txtsysheat$ $@STRLB9LOC/txtsysheatvol$ 120.14 m³
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeat
+ }
+ DATA
+ {
+ volume = 120.14 // 19.63
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-rad-lfr-sta01|strl-rad-lfr-sta02]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeatColorAnimator
+ moduleID = heat
+ useRate = false
+ animRate = 1
+ shaderProperty = _EmissiveColor
+ toggleInEditor = false
+ toggleInFlight = false
+ redCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ greenCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ blueCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/refArea$
+ @volume *= 0.01
+ moduleID = default
+ iconName = Icon_Radiator
+ ignoreTemperature = true
+ }
+ @MODULE[ModuleActiveRadiator]
+ {
+ @name = ModuleSystemHeatRadiator
+ moduleID = radiator
+ // ModuleSystemHeat instance to link to
+ systemHeatModuleID = default
+ scalarModuleID = heat
+ maxTempAnimation = 1400
+
+ // option: use deterministic temperatures
+ // Power radiated per temperature
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower$
+ }
+ // area for convection
+ convectiveArea = #$/refArea$
+ }
+
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE[650a]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower$
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq$
+ // @rate *= 1
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 1
+ maxEnergyTransfer = #$/refPower$
+ @maxEnergyTransfer *= 50
+ }
+ }
+ }
+ @SUBTYPE[650b]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower$
+ @key,*[1, ] *= 2
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq$
+ // @rate *= 2
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 2
+ maxEnergyTransfer = #$/refPower$
+ @maxEnergyTransfer *= 100
+ }
+ }
+ }
+ @SUBTYPE[650c]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower$
+ @key,*[1, ] *= 4
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq$
+ // @rate *= 4
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 4
+ maxEnergyTransfer = #$/refPower$
+ @maxEnergyTransfer *= 200
+ }
+ }
+ }
+ @SUBTYPE[1100a]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp2$
+ @key,*[1, ] *= #$/refPower2$
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq2$
+ // @rate *= 1
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 1
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 50
+ }
+ }
+ }
+ @SUBTYPE[1100b]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp2$
+ @key,*[1, ] *= #$/refPower2$
+ @key,*[1, ] *= 2
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq2$
+ // @rate *= 2
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 2
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 100
+ }
+ }
+ }
+ @SUBTYPE[1100c]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp2$
+ @key,*[1, ] *= #$/refPower2$
+ @key,*[1, ] *= 4
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq2$
+ // @rate *= 4
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 4
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 200
+ }
+ }
+ }
+ @SUBTYPE[1600a]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp3$
+ @key,*[1, ] *= #$/refPower3$
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq3$
+ // @rate *= 1
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 1
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 50
+ }
+ }
+ }
+ @SUBTYPE[1600b]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp3$
+ @key,*[1, ] *= #$/refPower3$
+ @key,*[1, ] *= 2
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq3$
+ // @rate *= 2
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 2
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 100
+ }
+ }
+ }
+ @SUBTYPE[1600c]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp3$
+ @key,*[1, ] *= #$/refPower3$
+ @key,*[1, ] *= 4
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq3$
+ // @rate *= 4
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 4
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 200
+ }
+ }
+ }
+ }
+}
+@PART[strl-rad-lfr-sta03]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeatColorAnimator
+ moduleID = heat
+ useRate = false
+ animRate = 1
+ shaderProperty = _EmissiveColor
+ toggleInEditor = false
+ toggleInFlight = false
+ redCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ greenCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ blueCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/refArea$
+ @volume *= 0.01
+ moduleID = default
+ iconName = Icon_Radiator
+ ignoreTemperature = true
+ }
+ @MODULE[ModuleActiveRadiator]
+ {
+ @name = ModuleSystemHeatRadiator
+ moduleID = radiator
+ // ModuleSystemHeat instance to link to
+ systemHeatModuleID = default
+ scalarModuleID = heat
+ maxTempAnimation = 1400
+
+ // option: use deterministic temperatures
+ // Power radiated per temperature
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower$
+ }
+ // area for convection
+ convectiveArea = #$/refArea$
+ }
+
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE[650a]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower$
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq$
+ // @rate *= 1
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 1
+ maxEnergyTransfer = #$/refPower$
+ @maxEnergyTransfer *= 50
+ }
+ }
+ }
+ @SUBTYPE[650b]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower$
+ @key,*[1, ] *= 2
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq$
+ // @rate *= 2
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 2
+ maxEnergyTransfer = #$/refPower$
+ @maxEnergyTransfer *= 100
+ }
+ }
+ }
+ @SUBTYPE[1100a]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp2$
+ @key,*[1, ] *= #$/refPower2$
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq2$
+ // @rate *= 1
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 1
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 50
+ }
+ }
+ }
+ @SUBTYPE[1100b]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp2$
+ @key,*[1, ] *= #$/refPower2$
+ @key,*[1, ] *= 2
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq2$
+ // @rate *= 2
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 2
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 100
+ }
+ }
+ }
+ @SUBTYPE[1600a]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp3$
+ @key,*[1, ] *= #$/refPower3$
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq3$
+ // @rate *= 1
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 1
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 50
+ }
+ }
+ }
+ @SUBTYPE[1600b]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp3$
+ @key,*[1, ] *= #$/refPower3$
+ @key,*[1, ] *= 2
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq3$
+ // @rate *= 2
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 2
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 100
+ }
+ }
+ }
+ }
+}
+@PART[strl-rad-lfr-sta04|strl-rad-lfr-sta05|strl-rad-lfr-sta06|strl-rad-lfr-sta07]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeatColorAnimator
+ moduleID = heat
+ useRate = false
+ animRate = 1
+ shaderProperty = _EmissiveColor
+ toggleInEditor = false
+ toggleInFlight = false
+ redCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ greenCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ blueCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/refArea$
+ @volume *= 0.01
+ moduleID = default
+ iconName = Icon_Radiator
+ ignoreTemperature = true
+ }
+ @MODULE[ModuleActiveRadiator]
+ {
+ @name = ModuleSystemHeatRadiator
+ moduleID = radiator
+ // ModuleSystemHeat instance to link to
+ systemHeatModuleID = default
+ scalarModuleID = heat
+ maxTempAnimation = 1400
+
+ // option: use deterministic temperatures
+ // Power radiated per temperature
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower$
+ }
+ // area for convection
+ convectiveArea = #$/refArea$
+ }
+
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE[650a]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp$
+ @key,*[1, ] *= #$/refPower$
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq$
+ // @rate *= 1
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 1
+ maxEnergyTransfer = #$/refPower$
+ @maxEnergyTransfer *= 50
+ }
+ }
+ }
+ @SUBTYPE[1100a]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp2$
+ @key,*[1, ] *= #$/refPower2$
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq2$
+ // @rate *= 1
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 1
+ maxEnergyTransfer = #$/refPower2$
+ @maxEnergyTransfer *= 50
+ }
+ }
+ }
+ @SUBTYPE[1600a]
+ {
+ !MODULE {}
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleSystemHeatRadiator
+ }
+ DATA
+ {
+ temperatureCurve
+ {
+ key = 0 0
+ key = 0.2 0.0016
+ key = 0.4 0.0256
+ key = 0.6 0.1296
+ key = 0.8 0.4096
+ key = 1 1
+ @key,*[0, ] *= #$/refTemp3$
+ @key,*[1, ] *= #$/refPower3$
+ }
+ // RESOURCE
+ // {
+ // name = ElectricCharge
+ // rate = #$/refECReq3$
+ // @rate *= 1
+ // }
+ convectiveArea = #$/refArea$
+ @convectiveArea *= 1
+ maxEnergyTransfer = #$/refPower3$
+ @maxEnergyTransfer *= 50
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/SystemHeatRadiators_Kerbalism.cfg b/GameData/SterlingSystems/Thermals/zPatches/SystemHeatRadiators_Kerbalism.cfg
new file mode 100644
index 0000000..c31e6a1
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/SystemHeatRadiators_Kerbalism.cfg
@@ -0,0 +1,64 @@
+@PART[strl-rad-wrap?-*]:BEFORE[zKerbalismSystemHeat]
+{
+ @MODULE[ModuleSystemHeatRadiator]
+ {
+ @name = SystemHeatRadiatorKerbalism
+ }
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Height]]
+ {
+ @SUBTYPE,*
+ {
+ @MODULE:HAS[@IDENTIFIER[ModuleSystemHeatRadiator]]
+ {
+ @IDENTIFIER
+ {
+ @name = SystemHeatRadiatorKerbalism
+ }
+ }
+ }
+ }
+}
+
+
+@PART[strl-shl-sun01]:NEEDS[B9PartSwitch,zKerbalismSystemHeat]
+{
+ @MODULE[ModuleSystemHeatRadiator]
+ {
+ @name = SystemHeatRadiatorKerbalism
+ }
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE,*
+ {
+ @MODULE:HAS[@IDENTIFIER[ModuleSystemHeatRadiator]]
+ {
+ @IDENTIFIER
+ {
+ @name = SystemHeatRadiatorKerbalism
+ }
+ }
+ }
+ }
+}
+
+
+@PART[strl-rad-lfr-sta??]:NEEDS[B9PartSwitch,zKerbalismSystemHeat]
+{
+ @MODULE[ModuleSystemHeatRadiator]
+ {
+ @name = SystemHeatRadiatorKerbalism
+ }
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Service]]
+ {
+ @SUBTYPE,*
+ {
+ @MODULE
+ {
+ @IDENTIFIER
+ {
+ @name = SystemHeatRadiatorKerbalism
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/SystemHeatReactors.cfg b/GameData/SterlingSystems/Thermals/zPatches/SystemHeatReactors.cfg
new file mode 100644
index 0000000..9cf5f58
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/SystemHeatReactors.cfg
@@ -0,0 +1,117 @@
+@PART[strl-rctrms-*]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/mass$
+ moduleID = nuke
+ iconName = Icon_Nuke
+ ignoreTemperature = true
+ }
+
+ MODULE
+ {
+ name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_reactor_fission // Fission Reactor
+ systemHeatModuleID = nuke
+ shutdownTemperature = 1300
+ systemOutletTemperature = 1100 // temp for freeing water from hydrate regolith. other values could be: 400k for production of hydrazine, 5-600k for decomposition of hydrates, 700 for sabatier process, 373-1000k for high temp electrolysis of water.
+ systemPower = 650 // 0.5% net energy wasted
+ @systemPower *= #$/refPower$
+ systemEfficiency
+ {
+ key = 0 1
+ key = 1 1
+ }
+ ConverterName = #LOC_strl_reactor_fission // Fission Reactor
+ StartActionName = #LOC_strl_reactor_start // Start Reactor
+ StopActionName = #LOC_strl_reactor_stop // Stop Reactor
+ ToggleActionName = #LOC_strl_reactor_toggle //Toggle Reactor
+ FillAmount = 1
+ AutoShutdown = False
+ GeneratesHeat = False
+ UseSpecialistBonus = False
+ INPUT_RESOURCE
+ {
+ ResourceName = FissileFuel
+ Ratio = 0.00000988946
+ @Ratio *= #$/refPower$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = FizzledFuel
+ Ratio = 0.00000988946
+ @Ratio *= #$/refPower$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 129.35 // 130 // 99.5% net energy
+ @Ratio *= #$/refPower$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+}
+
+@PART[strl-rctrpb-*]:NEEDS[SystemHeat]
+{
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/mass$
+ moduleID = nuke
+ iconName = Icon_Nuke
+ ignoreTemperature = true
+ }
+
+ MODULE
+ {
+ name = ModuleSystemHeatConverter
+ moduleID = #LOC_strl_reactor_fission // Fission Reactor
+ systemHeatModuleID = nuke
+ shutdownTemperature = 1600
+ systemOutletTemperature = 1300 // temp for freeing water from hydrate regolith. other values could be: 400k for production of hydrazine, 5-600k for decomposition of hydrates, 700 for sabatier process, 373-1000k for high temp electrolysis of water.
+ systemPower = 5100 // 0.5% net waste
+ @systemPower *= #$/refPower$
+ systemEfficiency
+ {
+ key = 0 1
+ key = 1 1
+ }
+ ConverterName = #LOC_strl_reactor_fission // Fission Reactor
+ StartActionName = #LOC_strl_reactor_start // Start Reactor
+ StopActionName = #LOC_strl_reactor_stop // Stop Reactor
+ ToggleActionName = #LOC_strl_reactor_toggle //Toggle Reactor
+ FillAmount = 1
+ AutoShutdown = False
+ GeneratesHeat = False
+ UseSpecialistBonus = False
+ INPUT_RESOURCE
+ {
+ ResourceName = FissilePebbles
+ Ratio = 0.00000494473
+ @Ratio *= #$/refPower$
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = FizzledPebbles
+ Ratio = 0.00000494473
+ @Ratio *= #$/refPower$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 1014.9 // 1020 // 99.5% net energy
+ @Ratio *= #$/refPower$
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/ThermalPowerTanks.cfg b/GameData/SterlingSystems/Thermals/zPatches/ThermalPowerTanks.cfg
new file mode 100644
index 0000000..52ba303
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/ThermalPowerTanks.cfg
@@ -0,0 +1,10 @@
+@PART[strl-rad-sink-*]:NEEDS[B9PartSwitch,CommunityResourcePack]
+{
+ RESOURCE
+ {
+ name = ThermalPower
+ amount = 0
+ maxAmount = #$/refVolume$
+ @maxAmount *= 5
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Thermals/zPatches/zTweakscale.cfg b/GameData/SterlingSystems/Thermals/zPatches/zTweakscale.cfg
new file mode 100644
index 0000000..de7c55c
--- /dev/null
+++ b/GameData/SterlingSystems/Thermals/zPatches/zTweakscale.cfg
@@ -0,0 +1,32 @@
+@PART[strl-rad-sink-125|strl-rad-wraps?-125]:NEEDS[TweakScale]
+{
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 1.25
+ }
+}
+@PART[strl-rad-sink-250|strl-rad-wraps?-250|strl-rad-sink-mk2|strl-shl-wrap-mk2cockpit]:NEEDS[TweakScale]
+{
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 2.5
+ }
+}
+@PART[strl-rad-sink-375|strl-rad-wraps?-375||strl-rad-wraps?-mk3|strl-shl-wrap-mk3cockpit]:NEEDS[TweakScale]
+{
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 3.75
+ }
+}
+@PART[strl-rad-sink-500|strl-rad-wraps?-500]:NEEDS[TweakScale]
+{
+ %MODULE[TweakScale]
+ {
+ %type = stack
+ %defaultScale = 5
+ }
+}
diff --git a/GameData/SterlingSystems/Version/Changelog.md b/GameData/SterlingSystems/Version/Changelog.md
new file mode 100644
index 0000000..2c073fc
--- /dev/null
+++ b/GameData/SterlingSystems/Version/Changelog.md
@@ -0,0 +1,178 @@
+# Sterling Systems
+
+# 0.4.0
+
+### Additions
+- Added low temperature wrapper radiators.
+- Added taller Stackable LFR.
+
+### Changes
+- Changed System Heat engine configs to require System Heat but not its Fission Engines extra (mostly).
+- Changed MSRs and PBRs to contribute to System Heat loops.
+- Changed SULEU engines to have built-in Pebble Bed reactors.
+- Moved thermal reactors out of Electric category and into Thermal category.
+- Moved World Power out of Electric category and into distinct download.
+- Moved all localization files into Agency folder.
+- Updated Sterling Tankage: Added stack nodes that don't trigger the trusses.
+- Updated radiators tech tree positions (stock and CTT).
+- Updated radiators overall based on an RO dev's advice:
+ - Their temperature curves are no longer linear but parabolic, following the 4th power of the given temperature.
+ - High temperature radiators are passive and consume 0 ElectricCharge.
+ - High temperature radiators do not sub-cool parts but low temperature radiators do.
+
+### Fixes
+- Fixed Super heavy shield tooltip saying "Ablator? enabled" when it's not, in ThP variant.
+- Fixed Icarus ICF engine's ISRU not asking for Deuterium under System Heat.
+- Fixed a tank having the wrong title and description.
+- Fixed excessive System Heat production in SULEU and thermal nozzles.
+- Fixed node and ground collider offset problems in World Power parts.
+- Fixed weak joint strength on LFRs.
+
+# 0.3.8.1
+
+- Fixed System Heat engine efficiency curves.
+- Raised loop temperatures on Delta Electro generators. Evidently it was impossible or excessively hard to adequately cool them.
+
+# 0.3.8
+
+### Additions
+- Added Stackable liquid film radiators.
+- Added World Power parts:
+ - Solar Thermal Panel
+ - Solar Thermal Tower
+ - Air-breathing radiator suite
+- Added equivalent to Rational Resources Nuclear Family, removing external requirement.
+- Created custom Waterfall template for BCAM engine.
+
+### Changes
+- Adjusted volume calculation for inline heatsinks. The larger ones get a bit more loop volume.
+- Buffed thrust on BCAM engine (Undid excessive nerf).
+- Raised some engines' loop temperature since the liquid film radiators now exist and can cover their great needs.
+- Changed Olympian and Icarus ICF engines to be single-mode.
+- Reduced System Heat power of BCAM engine. Its scale factor was 10x what it should be.
+
+### Fixes
+- Fixed Icarus engine's System Heat engine module and converter module using the same heat loop.
+- Fixed possible missing/incomplete KerbalismSystemHeat patches.
+- Fixed tank shroud issue and antimatter issues with Sterling Tankage.
+- Fixed turbine generators missing System Heat modules (resulting in -1% efficiency).
+
+# 0.3.7.2
+
+### Changes
+- KRUSTY and SCM reactors now produce waste heat (require radiators) and participate in System Heat.
+- Reduced turbine generator efficiency to 50% (from 75%). They now also produce waste heat.
+- Shuffled nuclear fuel tank options. (This will upset some craft designs.)
+
+# 0.3.7.1
+
+### Changes
+- Tankage: Moved gas tank types to general liquid tank.
+
+### Fixes
+- Tankage: Added missing boiloff configs for Deuterium and Helium3.
+- Tankage: Removed dependency on Rational Resources.
+
+# 0.3.7
+
+### Additions
+- Added tank suite with these diameters: 2.5m, 3.75m, 5m.
+
+### Changes
+- Reduced added masses in Super Heavy shield.
+
+### Fixes
+- Fixed KerbalismSystemHeat problems.
+- Ensured that all wrapper radiators' stock module stats still change when used with devices that still use/generate Core Heat when System Heat installed.
+
+# 0.3.6
+
+### Additions
+- Added World Power series parts: Giant vertical windmill and XXL solar panel.
+- Added tiny solar panels.
+
+### Changes
+- Set Sun shield's System Heat loop temperature to 650 K.
+
+### Fixes
+- Fixed Thermal nozzle Waterfall plume problem. It needed an Ignition controller.
+- Fixed Upgrades not showing in the CTT nodes.
+- Updated Waterfall configs to respect engines being duplicated and altered by Rational Resources Nuclear Family.
+
+
+# 0.3.5
+
+### Changes
+- Moved Batteries to their own folder and away from FuelCells.
+- Set Sun shield's System Heat loop temperature to 700 K, respecting its high heat tolerance as an armor but staying near to low temp radiator territory.
+
+### Fixes
+- Fixed/Revised Upgrade parts. They show up in the tech tree now.
+- Updated the balancing of all electrics.
+- Updated the balancing of all thermals to hopefully fit Nertea's balance scheme.
+- Updated tech progression.
+
+
+# 0.3.1
+
+### Fixes
+- Fixed the System Heat Fission Engines module problem: Ensured that affected engines always hold the requested nuclear resource.
+- Updated localization (fixes an issue in the B9PS patch for the fuel cells).
+
+
+# 0.3.0
+
+### Additions
+- Added FusionPellets production to large ICF engine.
+- Added Kerbalism configs. (Sun and Shadow shields can hold "Shielding" resource.)
+- Added System Heat and Kerbalism System Heat configs for all radiators.
+- Added System Heat configs for all current engines.
+- Added Sun and Shadow shields.
+ - With detailed, fully localized tooltips and upgrades.
+ - Shadow shields contribute to System Heat loop volume.
+
+### Changes
+- Changes to metal fuel cells:
+ - Fully localized tooltips.
+ - Added Recharger information to tooltips, including precise System Heat information.
+ - Restored some ThermalPower output.
+- Changes to wrapper PVs:
+ - Fully localized tooltips.
+ - Updated upgrades information.
+- Added cost of EnrU to engines that hold it.
+- Changed SULEU engines to surface attach from their top, not their side.
+- Reduced amounts of EnrU held by GCNTRs.
+- Updated balancing and tankage on fissile salt and fissile pebbles. Reactors should now hold 10 kerbal years worth of fuel by default and cost a lot more because the fuel is now more expensive.
+
+
+## 0.2.2
+
+### Additions
+- Added SULEU (NERV alternative) engines.
+
+### Changes
+- Updated fuel cell configs:
+ - Added Beryllium option.
+ - Updated stored amounts (B9 tank types) and ratios.
+ - Changed ThermalPower output to zero.
+- Localization for fuel cell B9 configs (partial) and resources.
+- Finished remaining mesh work on batteries/fuel cells for Simple Repaint.
+
+### Fixes
+- Fixed mesh problem with 3.75m wrapper solar panels.
+- Updated thermal efficiency curve of Delta Electro TBCs to hopefully fix zero efficiency bug when spawned with VesselMover.
+
+
+## 0.2.1
+
+### Changes
+- Renamed wrapper solar panels and wrapper radiators. **This will break craft files**.
+
+### Fixes
+- Waterfall detection. `StockWaterfallEffects` is the particular plume pack needed.
+- Added missing localization, and B9 switching and System Heat config for wrapper solar panels.
+- Added missing System Heat config for 1.875m wrapper radiators.
+
+
+## 0.2
+* Initial release
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Version/KerbalChangelog.cfg b/GameData/SterlingSystems/Version/KerbalChangelog.cfg
new file mode 100644
index 0000000..57cd869
--- /dev/null
+++ b/GameData/SterlingSystems/Version/KerbalChangelog.cfg
@@ -0,0 +1,265 @@
+KERBALCHANGELOG //Required to have this name
+{
+ showChangelog = True
+ modName = Sterling Systems
+ license = ARR
+ author = JadeOfMaar
+ website = https://github.com/JadeOfMaar/SterlingSystems
+
+ VERSION
+ {
+ version = 0.4.0
+ CHANGE
+ {
+ type = Add
+ change = Added low temperature wrapper radiators.
+ change = Added taller Stackable LFR.
+ }
+ CHANGE
+ {
+ type = Change
+ change = Changed MSRs and PBRs to contribute to System Heat loops.
+ change = Changed SULEU engines to have built-in Pebble Bed reactors.
+ change = Moved thermal reactors out of Electric category and into Thermal category.
+ change = Moved World Power out of Electric category and into distinct download.
+ change = Moved all localization files into Agency folder.
+ change = Updated Sterling Tankage: Added stack nodes that don't trigger the trusses.
+ change = Updated radiators tech tree positions (stock and CTT).
+ }
+ CHANGE
+ {
+ type = Change
+ change = Updated radiators overall based on an RO dev's advice:
+ subchange = Their temperature curves are no longer linear but parabolic, following the 4th power of the given temperature.
+ subchange = High temperature radiators are passive and consume 0 ElectricCharge.
+ subchange = High temperature radiators do not sub-cool parts but low temperature radiators do.
+ }
+ CHANGE
+ {
+ type = Fix
+ change = Fixed Super heavy shield tooltip saying "Ablator? enabled" when it's not, in ThP variant.
+ change = Fixed Icarus ICF engine's ISRU not asking for Deuterium under System Heat.
+ change = Fixed a tank having the wrong title and description.
+ change = Fixed excessive System Heat production in SULEU and thermal nozzles.
+ change = Fixed node and ground collider offset problems in World Power parts.
+ change = Fixed weak joint strength on LFRs.
+ }
+ }
+ VERSION
+ {
+ version = 0.3.8
+ CHANGE
+ {
+ type = Add
+ change = Added stackable liquid film radiators.
+ change = Created custom Waterfall template for BCAM engine.
+ }
+ CHANGE
+ {
+ type = Add
+ change = Added World Power parts:
+ subchange = Solar Thermal Panel
+ subchange = Solar Thermal Tower
+ subchange = Air-breathing radiator suite
+ }
+ CHANGE
+ {
+ type = Changes
+ change = Adjusted volume calculation for inline heatsinks. The larger ones get a bit more loop volume.
+ change = Buffed thrust on BCAM engine (Undid excessive nerf).
+ change = Raised some engines' loop temperature since the liquid film radiators now exist and can cover their great needs.
+ change = Changed Olympian and Icarus ICF engines to be single-mode.
+ change = Reduced System Heat power of BCAM engine. Its scale factor was 10x what it should be.
+ }
+ CHANGE
+ {
+ type = Fixes
+ change = Fixed Icarus engine's System Heat engine module and converter module using the same heat loop.
+ change = Fixed possible missing/incomplete KerbalismSystemHeat patches.
+ change = Fixed tank shroud issue and antimatter issues with Sterling Tankage.
+ change = Fixed turbine generators missing System Heat modules (resulting in -1% efficiency).
+ }
+ }
+ VERSION
+ {
+ version = 0.3.7.1
+ CHANGE
+ {
+ type = Changes
+ change = Tankage: Moved gas tank types to general liquid tank.
+ }
+ CHANGE
+ {
+ type = Fixes
+ change = Tankage: Added missing boiloff configs for Deuterium and Helium3.
+ change = Tankage: Removed dependency on Rational Resources.
+ }
+ }
+ VERSION
+ {
+ version = 0.3.7
+ CHANGE
+ {
+ type = Add
+ change = Added tank suite with these diameters: 2.5m, 3.75m, 5m.
+ }
+ CHANGE
+ {
+ type = Changes
+ change = Reduced added masses in Super Heavy shield.
+ }
+ CHANGE
+ {
+ type = Fix
+ change = Fixed KerbalismSystemHeat problems.
+ change = Ensured that all wrapper radiators' stock module stats still change when used with devices that still use/generate Core Heat when System Heat installed.
+ }
+ }
+ VERSION
+ {
+ version = 0.3.6
+ CHANGE
+ {
+ type = Add
+ change = Added World Power series parts: Giant vertical windmill and XXL solar panel.
+ change = Added tiny solar panels.
+ }
+ CHANGE
+ {
+ type = Change
+ change = Set Sun shield's System Heat loop temperature to 650 K.
+ }
+ CHANGE
+ {
+ type = Fix
+ change = Fixed Thermal nozzle Waterfall plume problem. It needed an Ignition controller.
+ change = Fixed Upgrades not showing in the CTT nodes.
+ change = Updated Waterfall configs to respect engines being duplicated and altered by Rational Resources Nuclear Family.
+ }
+ }
+ VERSION
+ {
+ version = 0.3.5
+ CHANGE
+ {
+ type = Change
+ change = Moved Batteries to their own folder and away from FuelCells.
+ change = Set Sun shield's System Heat loop temperature to 700 K, respecting its high heat tolerance as an armor but staying near to low temp radiator territory.
+ }
+ CHANGE
+ {
+ type = Fix
+ change = Fixed/Revised Upgrade parts. They show up in the tech tree now.
+ change = Updated the balancing of all electrics.
+ change = Updated the balancing of all thermals to hopefully fit Nertea's balance scheme.
+ change = Updated tech progression.
+ }
+ }
+ VERSION
+ {
+ version = 0.3.1
+ CHANGE
+ {
+ type = Fix
+ change = Fixed the System Heat Fission Engines module problem: Ensured that affected engines always hold the requested nuclear resource.
+ change = Updated localization (fixes an issue in the B9PS patch for the fuel cells).
+ }
+ }
+ VERSION
+ {
+ version = 0.3.0
+ CHANGE
+ {
+ type = Add
+ change = Added FusionPellets production to large ICF engine.
+ change = Added Kerbalism configs. (Sun and Shadow shields can hold "Shielding" resource.)
+ change = Added System Heat and Kerbalism System Heat configs for all radiators.
+ change = Added System Heat configs for all current engines.
+ }
+ CHANGE
+ {
+ type = Add
+ change = Added Sun and Shadow shields.
+ subchange = With detailed, fully localized tooltips and upgrades.
+ subchange = Shadow shields contribute to System Heat loop volume.
+ }
+ CHANGE
+ {
+ type = Change
+ change = Changes to metal fuel cells:
+ subchange = Fully localized tooltips.
+ subchange = Added Recharger information to tooltips, including precise System Heat information.
+ subchange = Restored some ThermalPower output.
+ }
+ CHANGE
+ {
+ type = Change
+ change = Changes to wrapper PVs:
+ subchange = Fully localized tooltips.
+ subchange = Updated upgrades information.
+ }
+ CHANGE
+ {
+ type = Change
+ change = Added cost of EnrU to engines that hold it.
+ change = Changed SULEU engines to surface attach from their top, not their side.
+ change = Reduced amounts of EnrU held by GCNTRs.
+ change = Updated balancing and tankage on fissile salt and fissile pebbles. Reactors should now hold 10 kerbal years worth of fuel by default and cost a lot more because the fuel is now more expensive.
+ }
+ }
+ VERSION
+ {
+ version = 0.2.2
+ CHANGE
+ {
+ type = Add
+ change = Added SULEU (NERV alternative) engines.
+ }
+ CHANGE
+ {
+ type = Change
+ change = Localization for fuel cell B9 configs (partial) and resources.
+ change = Finished remaining mesh work on batteries/fuel cells for Simple Repaint.
+ }
+ CHANGE
+ {
+ type = Change
+ change = Updated fuel cell configs:
+ subchange = Added Beryllium option.
+ subchange = Updated stored amounts (B9 tank types) and ratios.
+ subchange = Changed ThermalPower output to zero.
+ }
+ CHANGE
+ {
+ type = Fix
+ change = Fixed mesh problem with 3.75m wrapper solar panels.
+ change = Updated thermal efficiency curve of Delta Electro TBCs to fix zero efficiency bug when spawned with VesselMover.
+ }
+ }
+ VERSION
+ {
+ version = 0.2.1
+ CHANGE
+ {
+ type = Change
+ change = Renamed wrapper solar panels and wrapper radiators. This will break craft files!
+ }
+ CHANGE
+ {
+ type = Fix
+ change = Waterfall detection. StockWaterfallEffects is the particular plume pack needed.
+ change = Added missing localization, and B9 switching and System Heat config for wrapper solar panels.
+ change = Added missing System Heat config for 1.875m wrapper radiators.
+ }
+ }
+ VERSION
+ {
+ version = 0.2
+ CHANGE
+ {
+ type = Add
+ change = Initial release.
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/Version/SterlingSystems.version b/GameData/SterlingSystems/Version/SterlingSystems.version
new file mode 100644
index 0000000..db80e76
--- /dev/null
+++ b/GameData/SterlingSystems/Version/SterlingSystems.version
@@ -0,0 +1,27 @@
+{
+ "NAME":"Sterling Systems",
+ "DOWNLOAD":
+ "https://github.com/JadeOfMaar/SterlingSystems/releases",
+ "URL":
+ "https://raw.githubusercontent.com/JadeOfMaar/SterlingSystems/master/GameData/SterlingSystems/Version/SterlingSystems.version",
+ "CHANGE_LOG_URL":"https://raw.githubusercontent.com/JadeOfMaar/SterlingSystems/master/GameData/SterlingSystems/Version/Changelog.md",
+ "GITHUB":
+ {
+ "USERNAME":"JadeOfMaar",
+ "REPOSITORY":"https://github.com/JadeOfMaar/SterlingSystems",
+ "ALLOW_PRE_RELEASE":true
+ },
+ "VERSION":
+ {
+ "MAJOR":0,
+ "MINOR":4,
+ "PATCH":0,
+ "BUILD":0
+ },
+ "KSP_VERSION":
+ {
+ "MAJOR":1,
+ "MINOR":12,
+ "PATCH":5
+ },
+}
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxBody.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxBody.dds
new file mode 100644
index 0000000..c83ce93
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxBody.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxBody_BSPEC.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxBody_BSPEC.dds
new file mode 100644
index 0000000..13a583f
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxBody_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxBody_DIFF.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxBody_DIFF.dds
new file mode 100644
index 0000000..16c2cff
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxBody_DIFF.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxBody_EMM.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxBody_EMM.dds
new file mode 100644
index 0000000..2f83036
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxBody_EMM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxBody_NRM.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxBody_NRM.dds
new file mode 100644
index 0000000..ba8fbd2
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxBody_NRM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxCover0.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxCover0.dds
new file mode 100644
index 0000000..efe1fc5
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxCover0.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxCover0_EMM.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxCover0_EMM.dds
new file mode 100644
index 0000000..2f83036
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxCover0_EMM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxCover0_NRM.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxCover0_NRM.dds
new file mode 100644
index 0000000..99d1a83
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxCover0_NRM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxCover_BSPEC.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxCover_BSPEC.dds
new file mode 100644
index 0000000..25b9ad0
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxCover_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxCover_DIFF.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxCover_DIFF.dds
new file mode 100644
index 0000000..5995130
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxCover_DIFF.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/BoxCover_NRM.dds b/GameData/SterlingSystems/WorldPower/Parts/BoxCover_NRM.dds
new file mode 100644
index 0000000..1b8882f
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/BoxCover_NRM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/FanRad1x.cfg b/GameData/SterlingSystems/WorldPower/Parts/FanRad1x.cfg
new file mode 100644
index 0000000..f2927e1
--- /dev/null
+++ b/GameData/SterlingSystems/WorldPower/Parts/FanRad1x.cfg
@@ -0,0 +1,163 @@
+PART
+{
+ name = strl-worldpower-tcs1
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/WorldPower/Parts/FanRad1x
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 143000
+ cost = 130000 // one fan is 40K, condenser is 70K
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl-worldpower-tcs1x_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl-worldpower-tcs_desc
+ tags = radiator thermal control air breath water
+ attachRules = 1,1,1,1,0
+
+ mass = 5
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2
+ crashTolerance = 9
+ maxTemp = 2000
+ breakingForce = 500
+ breakingTorque = 500
+
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.5
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s01
+ transform = s01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s02
+ transform = s02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s03
+ transform = s03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s04
+ transform = s04
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s05
+ transform = s05
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s06
+ transform = s06
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ refArea = 4.16
+ refPower = 848000
+ refVolume = 4450 // 1250 (fans) + 3200 (condenser)
+
+ MODULE
+ {
+ name = ModuleCargoPart
+ packedVolume = 550
+ }
+
+ MODULE
+ {
+ name = ModuleResourceIntake
+ resourceName = IntakeAtm
+ checkForOxygen = false
+ area = 0.0416
+ intakeSpeed = 10
+ intakeTransformName = bottom
+ }
+ RESOURCE
+ {
+ name = IntakeAtm
+ amount = 0
+ maxAmount = 5
+ }
+ MODULE
+ {
+ name = ModuleDeployableRadiator
+ animationName = unboxing
+ showStatus = false
+ retractable = false
+ pivotName = Body
+ raycastTransformName = Body
+ windResistance = 400
+ trackingSpeed = 0
+ sunAlignmentOffset = 0
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ }
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 42400000
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = IntakeAtm
+ rate = 24
+ }
+ }
+ MODULE
+ {
+ name = ModuleAnimateActiveSecondary
+ animationName = FanSpin1x
+ requireDeploy = true
+ // requireResource = ElectricCharge
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = FanHeat1x
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/WorldPower/Parts/FanRad1x.mu b/GameData/SterlingSystems/WorldPower/Parts/FanRad1x.mu
new file mode 100644
index 0000000..f9596ef
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/FanRad1x.mu differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/FanRad3x.cfg b/GameData/SterlingSystems/WorldPower/Parts/FanRad3x.cfg
new file mode 100644
index 0000000..694d913
--- /dev/null
+++ b/GameData/SterlingSystems/WorldPower/Parts/FanRad3x.cfg
@@ -0,0 +1,163 @@
+PART
+{
+ name = strl-worldpower-tcs2
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/WorldPower/Parts/FanRad3x
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 209000
+ cost = 190000
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl-worldpower-tcs3x_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl-worldpower-tcs_desc
+ tags = radiator thermal control air breath water
+ attachRules = 1,1,1,1,0
+
+ mass = 7
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2
+ crashTolerance = 9
+ maxTemp = 2000
+ breakingForce = 500
+ breakingTorque = 500
+
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.5
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s01
+ transform = s01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s02
+ transform = s02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s03
+ transform = s03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s04
+ transform = s04
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s05
+ transform = s05
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s06
+ transform = s06
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ refArea = 12.48
+ refPower = 2544000
+ refVolume = 6950 // 3750 (fans) + 3200 (condenser)
+
+ MODULE
+ {
+ name = ModuleCargoPart
+ packedVolume = 550
+ }
+
+ MODULE
+ {
+ name = ModuleResourceIntake
+ resourceName = IntakeAtm
+ checkForOxygen = false
+ area = 0.1248
+ intakeSpeed = 10
+ intakeTransformName = bottom
+ }
+ RESOURCE
+ {
+ name = IntakeAtm
+ amount = 0
+ maxAmount = 5
+ }
+ MODULE
+ {
+ name = ModuleDeployableRadiator
+ animationName = unboxing
+ showStatus = false
+ retractable = false
+ pivotName = Body
+ raycastTransformName = Body
+ windResistance = 400
+ trackingSpeed = 0
+ sunAlignmentOffset = 0
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ }
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 127200000
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = IntakeAtm
+ rate = 72
+ }
+ }
+ MODULE
+ {
+ name = ModuleAnimateActiveSecondary
+ animationName = FanSpin3x
+ requireDeploy = true
+ // requireResource = ElectricCharge
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = FanHeat3x
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/WorldPower/Parts/FanRad3x.mu b/GameData/SterlingSystems/WorldPower/Parts/FanRad3x.mu
new file mode 100644
index 0000000..bbd8133
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/FanRad3x.mu differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/FanRad6x.cfg b/GameData/SterlingSystems/WorldPower/Parts/FanRad6x.cfg
new file mode 100644
index 0000000..a7f4567
--- /dev/null
+++ b/GameData/SterlingSystems/WorldPower/Parts/FanRad6x.cfg
@@ -0,0 +1,163 @@
+PART
+{
+ name = strl-worldpower-tcs3
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/WorldPower/Parts/FanRad6x
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 341000
+ cost = 310000
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl-worldpower-tcs6x_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl-worldpower-tcs_desc
+ tags = radiator thermal control air breath water
+ attachRules = 1,1,1,1,0
+
+ mass = 10
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2
+ crashTolerance = 9
+ maxTemp = 2000
+ breakingForce = 500
+ breakingTorque = 500
+
+ emissiveConstant = 1
+ heatConductivity = 0.001
+ skinInternalConductionMult = 2000
+ radiatorHeadroom = 0.75
+ thermalMassModifier = 2.5
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s01
+ transform = s01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s02
+ transform = s02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s03
+ transform = s03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s04
+ transform = s04
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s05
+ transform = s05
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s06
+ transform = s06
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ refArea = 24.96
+ refPower = 5088000
+ refVolume = 10700 // 7500 (fans) + 3200 (condenser)
+
+ MODULE
+ {
+ name = ModuleCargoPart
+ packedVolume = 550
+ }
+
+ MODULE
+ {
+ name = ModuleResourceIntake
+ resourceName = IntakeAtm
+ checkForOxygen = false
+ area = 0.2496
+ intakeSpeed = 10
+ intakeTransformName = bottom
+ }
+ RESOURCE
+ {
+ name = IntakeAtm
+ amount = 0
+ maxAmount = 5
+ }
+ MODULE
+ {
+ name = ModuleDeployableRadiator
+ animationName = unboxing
+ showStatus = false
+ retractable = false
+ pivotName = Body
+ raycastTransformName = Body
+ windResistance = 400
+ trackingSpeed = 0
+ sunAlignmentOffset = 0
+ extendActionName = Extend <<1>>
+ retractActionName = Retract <<1>>
+ extendpanelsActionName = Toggle <<1>>
+ }
+ MODULE
+ {
+ name = ModuleActiveRadiator
+ maxEnergyTransfer = 254400000
+ overcoolFactor = 0.25
+ isCoreRadiator = true
+ parentCoolingOnly = false
+ RESOURCE
+ {
+ name = IntakeAtm
+ rate = 144
+ }
+ }
+ MODULE
+ {
+ name = ModuleAnimateActiveSecondary
+ animationName = FanSpin6x
+ requireDeploy = true
+ // requireResource = ElectricCharge
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = FanHeat6x
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/WorldPower/Parts/FanRad6x.mu b/GameData/SterlingSystems/WorldPower/Parts/FanRad6x.mu
new file mode 100644
index 0000000..ff9e296
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/FanRad6x.mu differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/FanRad_DIFF.dds b/GameData/SterlingSystems/WorldPower/Parts/FanRad_DIFF.dds
new file mode 100644
index 0000000..2404fb9
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/FanRad_DIFF.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/FanRad_EMM.dds b/GameData/SterlingSystems/WorldPower/Parts/FanRad_EMM.dds
new file mode 100644
index 0000000..3568f1e
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/FanRad_EMM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/FanRad_NRM.dds b/GameData/SterlingSystems/WorldPower/Parts/FanRad_NRM.dds
new file mode 100644
index 0000000..564c55a
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/FanRad_NRM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/STh_BSPEC.dds b/GameData/SterlingSystems/WorldPower/Parts/STh_BSPEC.dds
new file mode 100644
index 0000000..f4abe0d
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/STh_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/STh_DIFF.dds b/GameData/SterlingSystems/WorldPower/Parts/STh_DIFF.dds
new file mode 100644
index 0000000..fafec71
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/STh_DIFF.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/STh_EMM.dds b/GameData/SterlingSystems/WorldPower/Parts/STh_EMM.dds
new file mode 100644
index 0000000..5390802
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/STh_EMM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/STh_NRM.dds b/GameData/SterlingSystems/WorldPower/Parts/STh_NRM.dds
new file mode 100644
index 0000000..bbaa24d
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/STh_NRM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/STh_XL_BSPEC.dds b/GameData/SterlingSystems/WorldPower/Parts/STh_XL_BSPEC.dds
new file mode 100644
index 0000000..44857d3
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/STh_XL_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/STh_XL_DIFF.dds b/GameData/SterlingSystems/WorldPower/Parts/STh_XL_DIFF.dds
new file mode 100644
index 0000000..4d13990
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/STh_XL_DIFF.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/STh_XL_EMM.dds b/GameData/SterlingSystems/WorldPower/Parts/STh_XL_EMM.dds
new file mode 100644
index 0000000..891bbc1
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/STh_XL_EMM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/STh_XL_NRM.dds b/GameData/SterlingSystems/WorldPower/Parts/STh_XL_NRM.dds
new file mode 100644
index 0000000..94d7610
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/STh_XL_NRM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/SolarPanel1.cfg b/GameData/SterlingSystems/WorldPower/Parts/SolarPanel1.cfg
new file mode 100644
index 0000000..468fea4
--- /dev/null
+++ b/GameData/SterlingSystems/WorldPower/Parts/SolarPanel1.cfg
@@ -0,0 +1,160 @@
+PART
+{
+ name = strl-worldpower-pv1
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/WorldPower/Parts/SolarPanel1
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 1880
+ cost = 16880
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl-worldpower-pv1_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl-worldpower-pv1_desc
+ tags = solar photovoltaic pv panel cell
+ attachRules = 1,1,1,1,0
+
+ mass = 3.3
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2
+ crashTolerance = 9
+ maxTemp = 1800
+ breakingForce = 500
+ breakingTorque = 500
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s01
+ transform = s01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s02
+ transform = s02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s03
+ transform = s03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s04
+ transform = s04
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s05
+ transform = s05
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s06
+ transform = s06
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ refPower = 45
+ refPowerB = 63
+ refPowerC = 135
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = true
+ secondaryTransformName = sunCatcher
+ breakName = breakPoint
+ pivotName = RotorYaw
+ isBreakable = true
+ resourceName = ElectricCharge
+ chargeRate = 0
+ extendActionName = #autoLOC_6002401 // Extend <<1>>
+ retractActionName = #autoLOC_6002402 // Retract <<1>>
+ extendpanelsActionName = #autoLOC_6002403 // Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher
+ // breakName = RotorYaw
+ pivotName = RotorPitch
+ isBreakable = false
+ resourceName = ElectricCharge
+ chargeRate = 63
+ animationName = unboxing
+ retractable = false
+ extendActionName = #autoLOC_6002401 // Extend <<1>>
+ retractActionName = #autoLOC_6002402 // Retract <<1>>
+ extendpanelsActionName = #autoLOC_6002403 // Toggle <<1>>
+ temperatureEfficCurve
+ {
+ key = 340 1 0 0
+ key = 1200 0 0 0
+ }
+ }
+ MODULE
+ {
+ name = ModuleAnimateGeneric
+ animationName = pitchManual
+ layer = 2
+ startEventGUIName = Pitch Up
+ endEventGUIName = Pitch Down
+ actionGUIName = Toggle Tilt
+ allowDeployLimit = true
+ revClampDirection = false
+ revClampSpeed = true
+ revClampPercent = true
+ }
+ MODULE
+ {
+ name = ModuleCargoPart
+ packedVolume = 550
+ }
+
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/WorldPower/Parts/SolarPanel1.mu b/GameData/SterlingSystems/WorldPower/Parts/SolarPanel1.mu
new file mode 100644
index 0000000..9b8460f
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/SolarPanel1.mu differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/SolarPanel2.cfg b/GameData/SterlingSystems/WorldPower/Parts/SolarPanel2.cfg
new file mode 100644
index 0000000..5bb0f7f
--- /dev/null
+++ b/GameData/SterlingSystems/WorldPower/Parts/SolarPanel2.cfg
@@ -0,0 +1,205 @@
+PART
+{
+ name = strl-worldpower-sth1
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/WorldPower/Parts/SolarPanel2
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 1880
+ cost = 16880
+ category = Electrical
+ subcategory = 0
+ title = #LOC_strl-worldpower-sth1_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl-worldpower-sth1_desc
+ tags = concentrating solar thermal panel
+ attachRules = 1,1,1,1,0
+
+ mass = 3.8
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size2
+ crashTolerance = 9
+ maxTemp = 2000
+ breakingForce = 500
+ breakingTorque = 500
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s01
+ transform = s01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s02
+ transform = s02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s03
+ transform = s03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s04
+ transform = s04
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s05
+ transform = s05
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s06
+ transform = s06
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ refArea = 15.1
+ refPower = 0.35
+ refVolume = 80
+
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = true
+ secondaryTransformName = sunCatcher
+ breakName = breakPoint
+ pivotName = RotorYaw
+ isBreakable = true
+ resourceName = ElectricCharge
+ chargeRate = 0
+ extendActionName = #autoLOC_6002401 // Extend <<1>>
+ retractActionName = #autoLOC_6002402 // Retract <<1>>
+ extendpanelsActionName = #autoLOC_6002403 // Toggle <<1>>
+ }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher
+ // breakName = RotorYaw
+ pivotName = RotorPitch
+ isBreakable = false
+ resourceName = ThermalPower
+ chargeRate = 0.76
+ animationName = unboxing
+ retractable = false
+ extendActionName = #autoLOC_6002401 // Extend <<1>>
+ retractActionName = #autoLOC_6002402 // Retract <<1>>
+ extendpanelsActionName = #autoLOC_6002403 // Toggle <<1>>
+ }
+ MODULE
+ {
+ name = ModuleAnimateGeneric
+ animationName = pitchManual1
+ layer = 2
+ startEventGUIName = Pitch Up
+ endEventGUIName = Pitch Down
+ actionGUIName = Toggle Tilt
+ allowDeployLimit = true
+ revClampDirection = false
+ revClampSpeed = true
+ revClampPercent = true
+ }
+ MODULE
+ {
+ name = ModuleCargoPart
+ packedVolume = 550
+ }
+
+ RESOURCE
+ {
+ name = ThermalPower
+ amount = 0
+ maxAmount = 400
+ }
+ MODULE
+ {
+ name = ModuleAnimateActiveSecondary
+ activeAnimationName = SThSpinner
+ gaugeAnimationName = SThGauge
+ gaugeResource = ThermalPower
+ requireDeploy = true
+ debug = false
+ }
+ MODULE
+ {
+ name = ModuleAnimateHeat
+ ThermalAnim = SThHeat
+ }
+
+ MODULE
+ {
+ name = ModuleResourceConverter
+ ConverterName = #LOC_strl_converter_thermoelectric
+ StartActionName = #autoLOC_6001471 // Start Converter
+ StopActionName = #autoLOC_6001472 // Stop Converter
+ ToggleActionName = #autoLOC_6001473 // Toggle Converter
+ AutoShutdown = true
+ // GeneratesHeat = true
+ DefaultShutoffTemp = 0.8
+ EfficiencyBonus = 1
+ resourceOutputName = ElectricCharge
+ // TemperatureModifier
+ // {
+ // key = 0 $/energyStart$ 0 0
+ // key = 800 $/energyNorminal$
+ // key = 1500 0
+ // }
+ // ThermalEfficiency
+ // {
+ // key = 0 0.1 0 0
+ // key = 300 0.1 0 0
+ // key = 800 1 0 0
+ // key = 1500 0 0 0
+ // }
+ INPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 0.6
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 300
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/WorldPower/Parts/SolarPanel2.mu b/GameData/SterlingSystems/WorldPower/Parts/SolarPanel2.mu
new file mode 100644
index 0000000..497a260
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/SolarPanel2.mu differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/SolarTower.cfg b/GameData/SterlingSystems/WorldPower/Parts/SolarTower.cfg
new file mode 100644
index 0000000..418a720
--- /dev/null
+++ b/GameData/SterlingSystems/WorldPower/Parts/SolarTower.cfg
@@ -0,0 +1,163 @@
+PART
+{
+ name = strl-worldpower-sthxl
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/WorldPower/Parts/SolarTower
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 411200
+ cost = 362000
+ category = Thermal
+ subcategory = 0
+ title = #LOC_strl-worldpower-sthxl_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl-worldpower-sthxl_desc
+ tags = concentrating solar thermal panel
+ attachRules = 1,1,1,1,0
+
+ mass = 11
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size3
+ crashTolerance = 9
+ maxTemp = 2000
+ breakingForce = 500
+ breakingTorque = 500
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s01
+ transform = s01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s02
+ transform = s02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s03
+ transform = s03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s04
+ transform = s04
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s05
+ transform = s05
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s06
+ transform = s06
+ size = 3
+ method = FIXED_JOINT
+ }
+
+ refArea = 9347
+ refPower = 1
+ refVolume = 616
+
+ // MODULE
+ // {
+ // name = ModuleDeployableSolarPanel
+ // isTracking = true
+ // secondaryTransformName = sunCatcher
+ // breakName = breakPoint
+ // pivotName = RotorYaw
+ // isBreakable = true
+ // resourceName = ElectricCharge
+ // chargeRate = 0
+ // extendActionName = #autoLOC_6002401 // Extend <<1>>
+ // retractActionName = #autoLOC_6002402 // Retract <<1>>
+ // extendpanelsActionName = #autoLOC_6002403 // Toggle <<1>>
+ // }
+ MODULE
+ {
+ name = ModuleDeployableSolarPanel
+ isTracking = false
+ secondaryTransformName = sunCatcher
+ // breakName = RotorYaw
+ pivotName = sunCatcher
+ isBreakable = false
+ resourceName = ThermalPower
+ chargeRate = 467.35
+ animationName = unboxingXL
+ retractable = false
+ extendActionName = #autoLOC_6002401 // Extend <<1>>
+ retractActionName = #autoLOC_6002402 // Retract <<1>>
+ extendpanelsActionName = #autoLOC_6002403 // Toggle <<1>>
+ }
+ // MODULE
+ // {
+ // name = ModuleAnimateGeneric
+ // animationName = pitchManual1
+ // layer = 2
+ // startEventGUIName = Pitch Up
+ // endEventGUIName = Pitch Down
+ // actionGUIName = Toggle Tilt
+ // allowDeployLimit = true
+ // revClampDirection = false
+ // revClampSpeed = true
+ // revClampPercent = true
+ // }
+ MODULE
+ {
+ name = ModuleCargoPart
+ packedVolume = 550
+ }
+
+ RESOURCE
+ {
+ name = ThermalPower
+ amount = 0
+ maxAmount = 3080
+ }
+ MODULE
+ {
+ name = ModuleAnimateActiveSecondary
+ gaugeAnimationName = SThTowerGauge
+ gaugeResource = ThermalPower
+ requireDeploy = true
+ }
+ // MODULE
+ // {
+ // name = ModuleAnimateHeat
+ // ThermalAnim = heatStd
+ // }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/WorldPower/Parts/SolarTower.mu b/GameData/SterlingSystems/WorldPower/Parts/SolarTower.mu
new file mode 100644
index 0000000..a4aca59
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/SolarTower.mu differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_BSPEC.dds b/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_BSPEC.dds
new file mode 100644
index 0000000..9e0cae9
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_BSPEC.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_BSPEC1.dds b/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_BSPEC1.dds
new file mode 100644
index 0000000..67f60b4
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_BSPEC1.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_DIFF.dds b/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_DIFF.dds
new file mode 100644
index 0000000..006843d
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_DIFF.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_DIFF1.dds b/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_DIFF1.dds
new file mode 100644
index 0000000..15a3a7f
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_DIFF1.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_NRM.dds b/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_NRM.dds
new file mode 100644
index 0000000..dd4fcb2
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/WindSolar1_NRM.dds differ
diff --git a/GameData/SterlingSystems/WorldPower/Parts/Windmill1.cfg b/GameData/SterlingSystems/WorldPower/Parts/Windmill1.cfg
new file mode 100644
index 0000000..7a116f0
--- /dev/null
+++ b/GameData/SterlingSystems/WorldPower/Parts/Windmill1.cfg
@@ -0,0 +1,146 @@
+PART
+{
+ name = strl-worldpower-wm1
+ module = Part
+ author = JadeOfMaar
+ MODEL
+ {
+ model = SterlingSystems/WorldPower/Parts/Windmill1
+ }
+
+ rescaleFactor = 1
+ node_attach = 0.0, 0.0, 0.0, 0.0, 0.0, -1.0
+ TechRequired = largeElectrics
+ entryCost = 1880
+ cost = 3750
+ category = none
+ TechHidden = true
+ subcategory = 0
+ title = #LOC_strl-worldpower-wm1_title
+ manufacturer = #LOC_strl_agent
+ description = #LOC_strl-worldpower-wm1_desc
+ tags = wind power gen air breath turbine spin
+ attachRules = 1,1,1,1,0
+
+ mass = 3.3
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 2
+ bulkheadProfiles = srf,size1
+ crashTolerance = 9
+ maxTemp = 1800
+ breakingForce = 500
+ breakingTorque = 500
+
+ NODE
+ {
+ name = back
+ transform = back
+ size = 1
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = bottom
+ transform = bottom
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s01
+ transform = s01
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s02
+ transform = s02
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s03
+ transform = s03
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s04
+ transform = s04
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s05
+ transform = s05
+ size = 3
+ method = FIXED_JOINT
+ }
+ NODE
+ {
+ name = s06
+ transform = s06
+ size = 3
+ method = FIXED_JOINT
+ }
+}
+
+@PART[strl-worldpower-wm1]:NEEDS[Benjee10_MMSEV]
+{
+ @category = Electrical
+ @TechHidden = false
+ !MODULE[ModuleAlternator] {}
+ !MODULE[ModuleEnginesFX] {}
+ !MODULE[ModuleDeployableSolarPanel] {}
+ !MODULE[ModuleResourceIntake] {}
+ !MODULE[FXModuleAnimateThrottle] {}
+ !MODULE[ModuleAnimationGroup] {}
+ !RESOURCE[IntakeAtm] {}
+
+ MODULE
+ {
+ name = ModulePETTurbine
+ turbineType = Vertical-Axis
+
+ turbinePivotName = RotorYaw // turbine spin axis. Counterclockwise at Z+
+ rotationPivotName = dummy
+
+ isBreakable = true
+ breakName = breakPoint
+ requiredRepairKits = 6
+
+ turbineSpeedMult = 1.0
+ rotationSpeedMult = 10.0
+
+ minWindSpeed = 0.4 // 1 = 100%
+ maxWindTolerance = 7.0 // 1 = 100%
+
+ chargeRate = 160.0
+ resourceName = ElectricCharge
+
+ atmEfficiencyCurve
+ {
+ key = 0 0
+ key = 0.07 0.5 0.9 0.9
+ key = 1 1
+ key = 5 1.2
+ }
+ showWindDirection = false
+
+ animationName = unboxing
+ extendActionName = Deploy Turbine
+ retractActionName = Retract Turbine
+ extendpanelsActionName = Toggle packaging
+ }
+ MODULE
+ {
+ name = ModuleCargoPart
+ packedVolume = 550
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/WorldPower/Parts/Windmill1.mu b/GameData/SterlingSystems/WorldPower/Parts/Windmill1.mu
new file mode 100644
index 0000000..5e365fa
Binary files /dev/null and b/GameData/SterlingSystems/WorldPower/Parts/Windmill1.mu differ
diff --git a/GameData/SterlingSystems/WorldPower/zPatches/B9PS.cfg b/GameData/SterlingSystems/WorldPower/zPatches/B9PS.cfg
new file mode 100644
index 0000000..2786c14
--- /dev/null
+++ b/GameData/SterlingSystems/WorldPower/zPatches/B9PS.cfg
@@ -0,0 +1,297 @@
+@PART[strl-worldpower-pv1]:NEEDS[B9PartSwitch]
+{
+ // massb = #$mass$
+ // massbp = #$mass$
+ // @massb *= 1.15
+ // @massbp *= 0.15
+ massc = #$mass$
+ masscp = #$mass$
+ @massc *= 1.2
+ @masscp *= 0.2
+ // costb = #$cost$
+ // costbp = #$cost$
+ // @costb *= 1.15
+ // @costbp *= 0.15
+ costc = #$cost$
+ costcp = #$cost$
+ @costc *= 1.2
+ @costcp *= 0.2
+
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Quality
+ // switcherDescription = Quality
+ // switcherDescriptionPlural = Qualities
+ SUBTYPE
+ {
+ name = b1x
+ title = Advanced
+ primaryColor = ClearBlue
+ secondaryColor = ClearBlue
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerB$ EC/s $@STRLB9LOC/txtMaxTemp$ 1800 K
+ }
+ SUBTYPE
+ {
+ name = c1x
+ title = Concentrator
+ primaryColor = Charcoal
+ secondaryColor = Charcoal
+ upgradeRequired = strl-upgrade-solar2
+ // defaultSubtypePriority = 0
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ $/refPowerC$ EC/s $@STRLB9LOC/txtMaxTemp$ 2500 K $@STRLB9LOC/txtIntroUnlock$ $@STRLB9LOC/wrappv_unlock2$
+ // transform = 2
+ // maxTemp = 2500
+ addedMass = #$/massc$
+ @addedMass += #$/masscp$
+ addedCost = #$/costc$
+ @addedCost += #$/costcp$
+ TEXTURE
+ {
+ texture = SterlingSystems/WorldPower/Parts/WindSolar1_DIFF1
+ shaderProperty = _MainTex
+ }
+ TEXTURE
+ {
+ texture = SterlingSystems/WorldPower/Parts/WindSolar1_BSPEC1
+ shaderProperty = _SpecMap
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ pivotName = RotorPitch
+ }
+ DATA
+ {
+ chargeRate = #$/refPowerC$
+ temperatureEfficCurve
+ {
+ key = 1800 1 0 0
+ key = 2400 0.75 0 0
+ }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-worldpower-tcs?]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Coolant
+ // switcherDescription = Coolant
+ // switcherDescriptionPlural = Coolants
+ switchInFlight = True
+ baseVolume = #$/refVolume$
+ @baseVolume -= 3200 // no condenser
+ @baseVolume /= 25
+ SUBTYPE
+ {
+ name = Air
+ title = Intake Atmosphere
+ primaryColor = LightGrey
+ secondaryColor = LightGrey
+ RESOURCE
+ {
+ name = IntakeAtm
+ unitsPerVolume = 1
+ percentFilled = 0
+ }
+ }
+ SUBTYPE
+ {
+ name = Water
+ title = Water
+ primaryColor = Ocean
+ secondaryColor = Ocean
+ RESOURCE
+ {
+ name = IntakeAtm
+ unitsPerVolume = 0.01
+ percentFilled = 0
+ }
+ RESOURCE
+ {
+ name = Water
+ unitsPerVolume = 5
+ percentFilled = 0
+ }
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleActiveRadiator
+ }
+ DATA
+ {
+ RESOURCE
+ {
+ name = Water
+ rate = #$/MODULE[ModuleActiveRadiator]/RESOURCE/rate$
+ }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-worldpower-sth1]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Quality
+ // switcherDescription = Quality
+ // switcherDescriptionPlural = Qualities
+ switchInFlight = True
+ SUBTYPE
+ {
+ name = Low
+ title = Low Temperature
+ primaryColor = DarkOrange
+ secondaryColor = gray
+ descriptionSummary = #LOC_strl-worldpower-sth1-lowPower
+ descriptionDetail = #$@STRLB9LOC/txtGenMain$$@STRLB9LOC/txtInputs$ 0.6 TP/s.
$@STRLB9LOC/txtOutputs$ 300 EC/s.
$@STRLB9LOC/txtGenEff$ 50%. $@STRLB9LOC/txtQuickloadWarn$
+ }
+ SUBTYPE
+ {
+ name = High
+ title = High Temperature
+ primaryColor = Mango
+ secondaryColor = gray
+ descriptionSummary = #LOC_strl-worldpower-sth1-highPower
+ descriptionDetail = #$@STRLB9LOC/txtGenMain$$@STRLB9LOC/txtInputs$ 3.6 TP/s.
$@STRLB9LOC/txtOutputs$ 900 EC/s.
$@STRLB9LOC/txtGenEff$ 25%. $@STRLB9LOC/txtQuickloadWarn$
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleResourceConverter
+ ConverterName = #LOC_strl_converter_thermoelectric
+ }
+ DATA
+ {
+ INPUT_RESOURCE
+ {
+ ResourceName = ThermalPower
+ Ratio = 3.6
+ FlowMode = STAGE_PRIORITY_FLOW
+ }
+ OUTPUT_RESOURCE
+ {
+ ResourceName = ElectricCharge
+ Ratio = 900
+ DumpExcess = false
+ FlowMode = ALL_VESSEL
+ }
+ }
+ }
+ }
+ }
+}
+
+@PART[strl-worldpower-sthxl]:NEEDS[B9PartSwitch]
+{
+ MODULE
+ {
+ name = ModuleB9PartSwitch
+ moduleID = Arc
+ switcherDescription = Arc Size
+ switcherDescriptionPlural = Arc Sizes
+ SUBTYPE
+ {
+ name = 1
+ title = One Third
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ 155.62 TP/s //
Catcher Inclination: 60°
+ addedMass = -4.4
+ addedCost = -144800
+ transform = Arc1
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ resourceName = ThermalPower
+ }
+ DATA
+ {
+ chargeRate = 155.62
+ }
+ }
+ // TRANSFORM
+ // {
+ // name = sunCatcher
+ // rotationOffset = 30, 0, 0
+ // }
+ }
+ SUBTYPE
+ {
+ name = 2
+ title = Two Thirds
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ 311.72 TP/s //
Catcher Inclination: 75°
+ transform = Arc1
+ transform = Arc2
+ addedMass = -2.2
+ addedCost = -72400
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ resourceName = ThermalPower
+ }
+ DATA
+ {
+ chargeRate = 311.72
+ }
+ }
+ TRANSFORM
+ {
+ name = Arc1
+ rotationOffset = 0, -60, 0
+ }
+ // TRANSFORM
+ // {
+ // name = sunCatcher
+ // rotationOffset = 15, 0, 0
+ // }
+ }
+ SUBTYPE
+ {
+ name = 3
+ title = Full
+ descriptionSummary = #$@STRLB9LOC/elec_solarCell$ $@STRLB9LOC/elec_chargeRate$ 467.35 TP/s //
Catcher Inclination: 90°
+ defaultSubtypePriority = 1
+ transform = Arc1
+ transform = Arc2
+ transform = Arc3
+ MODULE
+ {
+ IDENTIFIER
+ {
+ name = ModuleDeployableSolarPanel
+ resourceName = ThermalPower
+ }
+ DATA
+ {
+ chargeRate = 467.35
+ }
+ }
+ TRANSFORM
+ {
+ name = Arc1
+ rotationOffset = 0, -60, 0
+ }
+ }
+ }
+}
+
+@PART[strl-worldpower-pv1]:NEEDS[B9PartSwitch]
+{
+ !refPower* = nope
+ !massc* = nope
+ !costc* = nope
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/WorldPower/zPatches/SystemHeatRadiators.cfg b/GameData/SterlingSystems/WorldPower/zPatches/SystemHeatRadiators.cfg
new file mode 100644
index 0000000..b8c7a58
--- /dev/null
+++ b/GameData/SterlingSystems/WorldPower/zPatches/SystemHeatRadiators.cfg
@@ -0,0 +1,79 @@
+@PART[strl-worldpower-tcs?]:NEEDS[SystemHeat]
+{
+ !MODULE[ModuleAnimateHeat] {}
+ MODULE
+ {
+ name = ModuleSystemHeatColorAnimator
+ moduleID = heat
+ useRate = false
+ animRate = 1
+ shaderProperty = _EmissiveColor
+ toggleInEditor = false
+ toggleInFlight = false
+ redCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ greenCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ blueCurve
+ {
+ key = 0 1
+ key = 1 1
+ }
+ alphaCurve
+ {
+ key = 0 0
+ key = 1 1
+ }
+ }
+
+ MODULE
+ {
+ name = ModuleSystemHeat
+ volume = #$/refVolume$
+ @volume += 3200
+ @volume *= 0.04 // 6.12
+ moduleID = default
+ iconName = Icon_Radiator
+ ignoreTemperature = true
+ }
+
+ @MODULE[ModuleActiveRadiator]
+ {
+ @name = ModuleSystemHeatRadiator
+ moduleID = radiator
+ // ModuleSystemHeat instance to link to
+ systemHeatModuleID = default
+ scalarModuleID = heat
+ maxTempAnimation = 1400
+
+ // option: use deterministic temperatures
+ // Power radiated per temperature
+ temperatureCurve
+ {
+ key = 0 0
+ key = #300 $/refPower$
+ }
+ // area for convection
+ convectiveArea = #$/refArea$
+ }
+
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Coolant]]
+ {
+ @SUBTYPE,1
+ {
+ @MODULE
+ {
+ @IDENTIFIER
+ {
+ @name = ModuleSystemHeatRadiator
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/GameData/SterlingSystems/WorldPower/zPatches/SystemHeatRadiators_Kerbalism.cfg b/GameData/SterlingSystems/WorldPower/zPatches/SystemHeatRadiators_Kerbalism.cfg
new file mode 100644
index 0000000..aa25378
--- /dev/null
+++ b/GameData/SterlingSystems/WorldPower/zPatches/SystemHeatRadiators_Kerbalism.cfg
@@ -0,0 +1,20 @@
+@PART[strl-worldpower-tcs?]:BEFORE[zKerbalismSystemHeat]
+{
+ @MODULE[ModuleSystemHeatRadiator]
+ {
+ @name = SystemHeatRadiatorKerbalism
+ }
+ @MODULE[ModuleB9PartSwitch]:HAS[#moduleID[Coolant]]
+ {
+ @SUBTYPE,1
+ {
+ @MODULE
+ {
+ @IDENTIFIER
+ {
+ @name = SystemHeatRadiatorKerbalism
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..56e75ba
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,5 @@
+© 2023-2024 JadeOfMaar
+
+Models and textures are All Rights Reserved.
+
+Configs are ShareAlike CC-BY-SA.
diff --git a/README.md b/README.md
index 0c5cfc4..1732593 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ As at May 2024 these are the available categories:
- Electrical
- Batteries4
- Generators3
- - Solar (photovoltaic) panels (Mostly wrapper type)
+ - Solar (photovoltaic) panels (Mostly wrapper forms)
- Metal fuel cells5
- Engines
- Nuclear thermal1
@@ -19,7 +19,7 @@ As at May 2024 these are the available categories:
- Wrapper heatshields
- Wrapper radiators
- Exotic radiators
- - Liquid Film
+ - Liquid film
- Fuel Tank
- Drums and spheres/pills for every occasion. In sizes: 2.5m, 3.75m, 5m
@@ -39,6 +39,12 @@ Wrapper heatshields, radiators and solar panels come in the standard sizes betwe
## Compatibilities
- Community Resource Pack
- Far Future Technologies
+- Indicator Lights
- Kerbalism
+- Simple Repaint (only the whites of parts will be recolored)
- System Heat
- Waterfall
+
+## Known Issues
+- Part stats and models may change due to current pre-release state.
+- dV calculators do not ignore massless resources other than ElectricCharge so it will be a pain to get the dV for engines that ask for ThermalPower (while in ship editors. Not so in flight).