From b6b066ab28adbc46464413af47da737468ace8dd Mon Sep 17 00:00:00 2001 From: Capkirk123 Date: Sat, 24 Jun 2023 23:42:08 -0500 Subject: [PATCH] Configure Soviet/Russian Hall Effect thrusters Configure Soviet Hall Effect thrusters or the SPT series --- GameData/RP-1/Tree/ECM-Engines.cfg | 10 +- GameData/RP-1/Tree/ECM-Parts.cfg | 5 + GameData/RP-1/Tree/TREE-Engines.cfg | 212 ++++++++++++++++++ GameData/RP-1/Tree/TREE-Parts.cfg | 55 +++++ GameData/RP-1/Tree/identicalParts.cfg | 6 + .../Parts Browser/data/Engine_Config.json | 170 +++++++++++++- .../data/Near_Future_Propulsion.json | 94 +++++++- .../data/Stock__RO_Addition.json | 23 ++ 8 files changed, 572 insertions(+), 3 deletions(-) diff --git a/GameData/RP-1/Tree/ECM-Engines.cfg b/GameData/RP-1/Tree/ECM-Engines.cfg index 78a61d05a00..bedf1d1cb66 100644 --- a/GameData/RP-1/Tree/ECM-Engines.cfg +++ b/GameData/RP-1/Tree/ECM-Engines.cfg @@ -686,10 +686,18 @@ S5-60 = 50000, HypergolicPumps SNTPPFE100-Hydrogen = 10000, SNTPPFE100-Prototype SNTPPFE100-Prototype = 135000, Phoebus2N100-Hydrogen - SPT-100 = 10000 + SPT-100 = 10000,SPT-70 SPT-100B = 1000,SPT-100 SPT-100D = 5000,SPT-100M SPT-100M = 1000,SPT-100B + SPT-140 = 15000,SPT-100 + SPT-140D = 10000,SPT-140 + SPT-50 = 5000,SPT-60 + SPT-50M = 5000,SPT-50 + SPT-60 = 10000 + SPT-70 = 10000,SPT-60 + SPT-70M = 5000,SPT-70 + SPT-70MK = 1000,SPT-70M SRMU = 144000,SolidsSegmented,SolidsTVC STAR-17 = 15000,STARCTPB STAR-37 = 5000, Altair-III, SolidsPBAN diff --git a/GameData/RP-1/Tree/ECM-Parts.cfg b/GameData/RP-1/Tree/ECM-Parts.cfg index fc108617536..5632fa5f6c4 100644 --- a/GameData/RP-1/Tree/ECM-Parts.cfg +++ b/GameData/RP-1/Tree/ECM-Parts.cfg @@ -619,6 +619,10 @@ RO-SNAP-19-RTG = 50000,RTGlevel3 RO-SNAP-9-RTG = 50000,RTGlevel2 RO-SPT100 = SPT-100 + RO-SPT140 = SPT-140 + RO-SPT50 = SPT-50 + RO-SPT60 = SPT-60 + RO-SPT70 = SPT-70 RO-SRLaunchClamp = 1 RO-SSTU-DP-APAS = APAS8995Dock RO-SSTU-M1-SL = M-1SL @@ -637,6 +641,7 @@ RO-X-248 = Altair RO-X-258 = Altair-II RO-XLR99 = XLR99 + RO-ionSPT60 = SPT-60 RO-jt8d1 = JT8D-1 RO-model304 = Model304-2 RO-nflv-rcs-aero-heavy-1-half = 1 diff --git a/GameData/RP-1/Tree/TREE-Engines.cfg b/GameData/RP-1/Tree/TREE-Engines.cfg index 66264a85c78..8f0ef6745dc 100644 --- a/GameData/RP-1/Tree/TREE-Engines.cfg +++ b/GameData/RP-1/Tree/TREE-Engines.cfg @@ -4515,6 +4515,58 @@ *@PARTUPGRADE[RFUpgrade_SPT-100M]/deleteme -= 1 } + @CONFIG[SPT-140] + { + %techRequired = elecPropulsion1998 + %cost = 0 + } + + @CONFIG[SPT-140D] + { + %techRequired = elecPropulsion2009 + %cost = 110 + *@PARTUPGRADE[RFUpgrade_SPT-140D]/deleteme -= 1 + } + + @CONFIG[SPT-50] + { + %techRequired = earlyElecPropulsion + %cost = 0 + } + + @CONFIG[SPT-50M] + { + %techRequired = elecPropulsion1986 + %cost = 24 + *@PARTUPGRADE[RFUpgrade_SPT-50M]/deleteme -= 1 + } + + @CONFIG[SPT-60] + { + %techRequired = earlyElecPropulsion + %cost = 0 + } + + @CONFIG[SPT-70] + { + %techRequired = elecPropulsion1981 + %cost = 0 + } + + @CONFIG[SPT-70M] + { + %techRequired = elecPropulsion2019 + %cost = 0 + *@PARTUPGRADE[RFUpgrade_SPT-70M]/deleteme -= 1 + } + + @CONFIG[SPT-70MK] + { + %techRequired = elecPropulsion2019 + %cost = 0 + *@PARTUPGRADE[RFUpgrade_SPT-70MK]/deleteme -= 1 + } + @CONFIG[SRMU] { %techRequired = solids1986 @@ -20146,6 +20198,166 @@ PART { } +PARTUPGRADE +{ + name = RFUpgrade_SPT-140D + partIcon = RO-H1-RS27 // FIXME Once we get dedicated model + techRequired = elecPropulsion2009 + entryCost = 0 + cost = 0 + title = SPT140 Engine Upgrade: SPT-140D Config + basicInfo = Engine Performance Upgrade + manufacturer = Engine Upgrade + deleteme = 1 + description = The SPT140 Engine now supports the SPT-140D configuration for increased performance. Unlock it in the VAB/SPH through the engine configs interface.\n\n +} + +PART +{ + name = RFUpgrade_engineConfigSource_SPT-140D + engineType = SPT140 +} + +@PART[RFUpgrade_engineConfigSource_SPT-140D]:AFTER[RealismOverhaulEngines] +{ + %MODULE[Module*EngineConfigs] { + @name = ModuleEngineConfigs + %CONFIG[SPT-140D] { + &specLevel = operational + } + } +} + +@PARTUPGRADE[RFUpgrade_SPT-140D]:AFTER[RealismOverhaulEngines] +{ + %description = #$description$\nAvailable at specLevel $@PART[RFUpgrade_engineConfigSource_SPT-140D]/MODULE[ModuleEngineConfigs]/CONFIG[SPT-140D]/specLevel$ + // TODO: could add any number of other useful fields from the CONFIG here. cost? description? +} + +!PART[RFUpgrade_engineConfigSource_SPT-140D]:AFTER[RealismOverhaulEngines] +{ +} + +PARTUPGRADE +{ + name = RFUpgrade_SPT-50M + partIcon = RO-H1-RS27 // FIXME Once we get dedicated model + techRequired = elecPropulsion1986 + entryCost = 0 + cost = 0 + title = SPT50 Engine Upgrade: SPT-50M Config + basicInfo = Engine Performance Upgrade + manufacturer = Engine Upgrade + deleteme = 1 + description = The SPT50 Engine now supports the SPT-50M configuration for increased performance. Unlock it in the VAB/SPH through the engine configs interface.\n\n +} + +PART +{ + name = RFUpgrade_engineConfigSource_SPT-50M + engineType = SPT50 +} + +@PART[RFUpgrade_engineConfigSource_SPT-50M]:AFTER[RealismOverhaulEngines] +{ + %MODULE[Module*EngineConfigs] { + @name = ModuleEngineConfigs + %CONFIG[SPT-50M] { + &specLevel = operational + } + } +} + +@PARTUPGRADE[RFUpgrade_SPT-50M]:AFTER[RealismOverhaulEngines] +{ + %description = #$description$\nAvailable at specLevel $@PART[RFUpgrade_engineConfigSource_SPT-50M]/MODULE[ModuleEngineConfigs]/CONFIG[SPT-50M]/specLevel$ + // TODO: could add any number of other useful fields from the CONFIG here. cost? description? +} + +!PART[RFUpgrade_engineConfigSource_SPT-50M]:AFTER[RealismOverhaulEngines] +{ +} + +PARTUPGRADE +{ + name = RFUpgrade_SPT-70M + partIcon = RO-H1-RS27 // FIXME Once we get dedicated model + techRequired = elecPropulsion2019 + entryCost = 0 + cost = 0 + title = SPT70 Engine Upgrade: SPT-70M Config + basicInfo = Engine Performance Upgrade + manufacturer = Engine Upgrade + deleteme = 1 + description = The SPT70 Engine now supports the SPT-70M configuration for increased performance. Unlock it in the VAB/SPH through the engine configs interface.\n\n +} + +PART +{ + name = RFUpgrade_engineConfigSource_SPT-70M + engineType = SPT70 +} + +@PART[RFUpgrade_engineConfigSource_SPT-70M]:AFTER[RealismOverhaulEngines] +{ + %MODULE[Module*EngineConfigs] { + @name = ModuleEngineConfigs + %CONFIG[SPT-70M] { + &specLevel = operational + } + } +} + +@PARTUPGRADE[RFUpgrade_SPT-70M]:AFTER[RealismOverhaulEngines] +{ + %description = #$description$\nAvailable at specLevel $@PART[RFUpgrade_engineConfigSource_SPT-70M]/MODULE[ModuleEngineConfigs]/CONFIG[SPT-70M]/specLevel$ + // TODO: could add any number of other useful fields from the CONFIG here. cost? description? +} + +!PART[RFUpgrade_engineConfigSource_SPT-70M]:AFTER[RealismOverhaulEngines] +{ +} + +PARTUPGRADE +{ + name = RFUpgrade_SPT-70MK + partIcon = RO-H1-RS27 // FIXME Once we get dedicated model + techRequired = elecPropulsion2019 + entryCost = 0 + cost = 0 + title = SPT70 Engine Upgrade: SPT-70MK Config + basicInfo = Engine Performance Upgrade + manufacturer = Engine Upgrade + deleteme = 1 + description = The SPT70 Engine now supports the SPT-70MK configuration for increased performance. Unlock it in the VAB/SPH through the engine configs interface.\n\n +} + +PART +{ + name = RFUpgrade_engineConfigSource_SPT-70MK + engineType = SPT70 +} + +@PART[RFUpgrade_engineConfigSource_SPT-70MK]:AFTER[RealismOverhaulEngines] +{ + %MODULE[Module*EngineConfigs] { + @name = ModuleEngineConfigs + %CONFIG[SPT-70MK] { + &specLevel = operational + } + } +} + +@PARTUPGRADE[RFUpgrade_SPT-70MK]:AFTER[RealismOverhaulEngines] +{ + %description = #$description$\nAvailable at specLevel $@PART[RFUpgrade_engineConfigSource_SPT-70MK]/MODULE[ModuleEngineConfigs]/CONFIG[SPT-70MK]/specLevel$ + // TODO: could add any number of other useful fields from the CONFIG here. cost? description? +} + +!PART[RFUpgrade_engineConfigSource_SPT-70MK]:AFTER[RealismOverhaulEngines] +{ +} + PARTUPGRADE { name = RFUpgrade_Sapphire203 diff --git a/GameData/RP-1/Tree/TREE-Parts.cfg b/GameData/RP-1/Tree/TREE-Parts.cfg index a56f09c83d3..88f972e5e50 100644 --- a/GameData/RP-1/Tree/TREE-Parts.cfg +++ b/GameData/RP-1/Tree/TREE-Parts.cfg @@ -10522,6 +10522,50 @@ %MODULE[ModuleTagList] { tag = EngineLiquidPF } +} +@PART[RO-SPT140]:FOR[xxxRP0] +{ + %TechRequired = elecPropulsion1998 + %cost = 520 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Propulsion mod + + %MODULE[ModuleTagList] { tag = EngineLiquidPF } + +} +@PART[RO-SPT50]:FOR[xxxRP0] +{ + %TechRequired = earlyElecPropulsion + %cost = 140 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Propulsion mod + + %MODULE[ModuleTagList] { tag = EngineLiquidPF } + +} +@PART[RO-SPT60]:FOR[xxxRP0] +{ + %TechRequired = earlyElecPropulsion + %cost = 226 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Propulsion mod + + %MODULE[ModuleTagList] { tag = EngineLiquidPF } + +} +@PART[RO-SPT70]:FOR[xxxRP0] +{ + %TechRequired = elecPropulsion1981 + %cost = 242 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Propulsion mod + + %MODULE[ModuleTagList] { tag = EngineLiquidPF } + } @PART[RO-SRLaunchClamp]:FOR[xxxRP0] { @@ -10761,6 +10805,17 @@ %MODULE[ModuleTagList] { tag = EngineLiquidTurbo } +} +@PART[RO-ionSPT60]:FOR[xxxRP0] +{ + %TechRequired = earlyElecPropulsion + %cost = 226 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Stock (RO Addition) mod + + %MODULE[ModuleTagList] { tag = EngineLiquidPF } + } @PART[RO-jt8d1]:FOR[xxxRP0] { diff --git a/GameData/RP-1/Tree/identicalParts.cfg b/GameData/RP-1/Tree/identicalParts.cfg index 17c386ed419..7b484795e56 100644 --- a/GameData/RP-1/Tree/identicalParts.cfg +++ b/GameData/RP-1/Tree/identicalParts.cfg @@ -858,6 +858,12 @@ @PART[ROSmallSpinMotor]:FOR[xxxRP0] { %identicalParts = ROSmallSpinMotor } @PART[bluedog_Apollo_Block3_ServiceEngine]:FOR[xxxRP0] { %identicalParts = ROC-ApolloEngineBlockIII,bluedog_Apollo_Block3_ServiceEngine } @PART[ROC-ApolloEngineBlockIII]:FOR[xxxRP0] { %identicalParts = ROC-ApolloEngineBlockIII,bluedog_Apollo_Block3_ServiceEngine } +@PART[RO-SPT100]:FOR[xxxRP0] { %identicalParts = RO-SPT100 } +@PART[RO-SPT140]:FOR[xxxRP0] { %identicalParts = RO-SPT140 } +@PART[RO-SPT50]:FOR[xxxRP0] { %identicalParts = RO-SPT50 } +@PART[RO-ionSPT60]:FOR[xxxRP0] { %identicalParts = RO-SPT60,RO-ionSPT60 } +@PART[RO-SPT60]:FOR[xxxRP0] { %identicalParts = RO-SPT60,RO-ionSPT60 } +@PART[RO-SPT70]:FOR[xxxRP0] { %identicalParts = RO-SPT70 } @PART[probeCoreSphere_v2]:FOR[xxxRP0] { %identicalParts = SXTSputnik,probeCoreSphere_v2,sputnik1 } @PART[sputnik1]:FOR[xxxRP0] { %identicalParts = SXTSputnik,probeCoreSphere_v2,sputnik1 } @PART[SXTSputnik]:FOR[xxxRP0] { %identicalParts = SXTSputnik,probeCoreSphere_v2,sputnik1 } diff --git a/Source/Tech Tree/Parts Browser/data/Engine_Config.json b/Source/Tech Tree/Parts Browser/data/Engine_Config.json index d737f92776f..00ee39037ae 100644 --- a/Source/Tech Tree/Parts Browser/data/Engine_Config.json +++ b/Source/Tech Tree/Parts Browser/data/Engine_Config.json @@ -14943,7 +14943,7 @@ "spacecraft": "", "engine_config": "SPT100", "upgrade": false, - "entry_cost_mods": "10000", + "entry_cost_mods": "10000,SPT-70", "identical_part_name": "", "module_tags": [] }, @@ -15010,6 +15010,174 @@ "identical_part_name": "", "module_tags": [] }, + { + "name": "SPT-140", + "title": "SPT-140", + "description": "", + "mod": "Engine_Config", + "cost": "0", + "entry_cost": "0", + "category": "ION", + "info": "", + "year": "1998", + "technology": "elecPropulsion1998", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "SPT140", + "upgrade": false, + "entry_cost_mods": "15000,SPT-100", + "identical_part_name": "", + "module_tags": [] + }, + { + "name": "SPT-140D", + "title": "SPT-140D", + "description": "", + "mod": "Engine_Config", + "cost": 110, + "entry_cost": "0", + "category": "ION", + "info": "", + "year": "2017", + "technology": "elecPropulsion2009", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "SPT140", + "upgrade": true, + "entry_cost_mods": "10000,SPT-140", + "identical_part_name": "", + "module_tags": [] + }, + { + "name": "SPT-50", + "title": "SPT-50", + "description": "", + "mod": "Engine_Config", + "cost": 0, + "entry_cost": "0", + "category": "ION", + "info": "", + "year": "1976", + "technology": "earlyElecPropulsion", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "SPT50", + "upgrade": false, + "entry_cost_mods": "5000,SPT-60", + "identical_part_name": "", + "module_tags": [] + }, + { + "name": "SPT-50M", + "title": "SPT-50M", + "description": "", + "mod": "Engine_Config", + "cost": 24, + "entry_cost": "0", + "category": "ION", + "info": "", + "year": "1994", + "technology": "elecPropulsion1986", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "Gals-1", + "engine_config": "SPT50", + "upgrade": true, + "entry_cost_mods": "5000,SPT-50", + "identical_part_name": "", + "module_tags": [] + }, + { + "name": "SPT-60", + "title": "SPT-60", + "description": "", + "mod": "Engine_Config", + "cost": "0", + "entry_cost": "0", + "category": "ION", + "info": "", + "year": "1971", + "technology": "earlyElecPropulsion", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "Meteor", + "engine_config": "SPT60", + "upgrade": false, + "entry_cost_mods": "10000", + "identical_part_name": "", + "module_tags": [] + }, + { + "name": "SPT-70", + "title": "SPT-70", + "description": "", + "mod": "Engine_Config", + "cost": 0, + "entry_cost": "0", + "category": "ION", + "info": "", + "year": "1982", + "technology": "elecPropulsion1981", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "SPT70", + "upgrade": false, + "entry_cost_mods": "10000,SPT-60", + "identical_part_name": "", + "module_tags": [] + }, + { + "name": "SPT-70M", + "title": "SPT-70M", + "description": "", + "mod": "Engine_Config", + "cost": 0, + "entry_cost": "0", + "category": "ION", + "info": "", + "year": "2025", + "technology": "elecPropulsion2019", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "SPT70", + "upgrade": true, + "entry_cost_mods": "5000,SPT-70", + "identical_part_name": "", + "module_tags": [] + }, + { + "name": "SPT-70MK", + "title": "SPT-70MK", + "description": "", + "mod": "Engine_Config", + "cost": "0", + "entry_cost": "0", + "category": "ION", + "info": "", + "year": "2025", + "technology": "elecPropulsion2019", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "SPT70", + "upgrade": true, + "entry_cost_mods": "1000,SPT-70M", + "identical_part_name": "", + "module_tags": [] + }, { "name": "SRMU", "title": "SRMU", diff --git a/Source/Tech Tree/Parts Browser/data/Near_Future_Propulsion.json b/Source/Tech Tree/Parts Browser/data/Near_Future_Propulsion.json index 877dc7febb1..66e1fb48052 100644 --- a/Source/Tech Tree/Parts Browser/data/Near_Future_Propulsion.json +++ b/Source/Tech Tree/Parts Browser/data/Near_Future_Propulsion.json @@ -88,7 +88,99 @@ "engine_config": "SPT100", "upgrade": false, "entry_cost_mods": "SPT-100", - "identical_part_name": "", + "identical_part_name": "SPT-100", + "module_tags": [ + "EngineLiquidPF" + ] + }, + { + "name": "RO-SPT140", + "title": "SPT-140 Hall Effect Thruster", + "description": "", + "mod": "Near Future Propulsion", + "cost": 520, + "entry_cost": "0", + "category": "ION", + "info": "Electric Engine", + "year": "1998", + "technology": "elecPropulsion1998", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "SPT140", + "upgrade": false, + "entry_cost_mods": "SPT-140", + "identical_part_name": "SPT-140", + "module_tags": [ + "EngineLiquidPF" + ] + }, + { + "name": "RO-SPT50", + "title": "SPT-50 Hall Effect Thruster", + "description": "", + "mod": "Near Future Propulsion", + "cost": 140, + "entry_cost": "0", + "category": "ION", + "info": "Electric Engine", + "year": "1976", + "technology": "earlyElecPropulsion", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "Meteor", + "engine_config": "SPT50", + "upgrade": false, + "entry_cost_mods": "SPT-50", + "identical_part_name": "SPT-50", + "module_tags": [ + "EngineLiquidPF" + ] + }, + { + "name": "RO-SPT60", + "title": "SPT-60 Hall Effect Thruster", + "description": "", + "mod": "Near Future Propulsion", + "cost": 226, + "entry_cost": "0", + "category": "ION", + "info": "Electric Engine", + "year": "1971", + "technology": "earlyElecPropulsion", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "Meteor", + "engine_config": "SPT60", + "upgrade": false, + "entry_cost_mods": "SPT-60", + "identical_part_name": "SPT-60", + "module_tags": [ + "EngineLiquidPF" + ] + }, + { + "name": "RO-SPT70", + "title": "SPT-70 Hall Effect Thruster", + "description": "", + "mod": "Near Future Propulsion", + "cost": 242, + "entry_cost": "0", + "category": "ION", + "info": "Electric Engine", + "year": "1982", + "technology": "elecPropulsion1981", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "SPT70", + "upgrade": false, + "entry_cost_mods": "SPT-70", + "identical_part_name": "SPT-70", "module_tags": [ "EngineLiquidPF" ] diff --git a/Source/Tech Tree/Parts Browser/data/Stock__RO_Addition.json b/Source/Tech Tree/Parts Browser/data/Stock__RO_Addition.json index e0a97b18fd3..f4e2ff2286d 100644 --- a/Source/Tech Tree/Parts Browser/data/Stock__RO_Addition.json +++ b/Source/Tech Tree/Parts Browser/data/Stock__RO_Addition.json @@ -66,6 +66,29 @@ "identical_part_name": "", "module_tags": [] }, + { + "name": "RO-ionSPT60", + "title": "SPT-60 Hall Effect Thruster", + "description": "", + "mod": "Stock (RO Addition)", + "cost": 226, + "entry_cost": "0", + "category": "ION", + "info": "Electric Engine", + "year": "1971", + "technology": "earlyElecPropulsion", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "Meteor", + "engine_config": "SPT60", + "upgrade": false, + "entry_cost_mods": "SPT-60", + "identical_part_name": "SPT-60", + "module_tags": [ + "EngineLiquidPF" + ] + }, { "name": "RO-shockConeIntake125", "title": "1.25m Shock Cone Intake",