From 5eb7401d69559eab34b636028719b996e09ad1a5 Mon Sep 17 00:00:00 2001 From: NovemberOrWhatever <104395162+NovemberOrWhatever@users.noreply.github.com> Date: Sun, 1 Sep 2024 06:25:11 -0700 Subject: [PATCH 01/17] Remove downsides from subcontractors, buff research rate modifiers (#2429) * Remove downsides from subcontractors Players will still have to pick carefully due to only having two subcontractor slots, but this removes the downsides from these less influential leaders, and should hopefully make the capitalist ones more practical. * Buff research rate modifiers 1.1 for common research line, 1.15 for niche --- .../Leaders/LeadersSubcontractors.cfg | 216 +----------------- 1 file changed, 6 insertions(+), 210 deletions(-) diff --git a/GameData/RP-1/Strategies/Leaders/LeadersSubcontractors.cfg b/GameData/RP-1/Strategies/Leaders/LeadersSubcontractors.cfg index 102dcfbcd6d..b9e1f202868 100644 --- a/GameData/RP-1/Strategies/Leaders/LeadersSubcontractors.cfg +++ b/GameData/RP-1/Strategies/Leaders/LeadersSubcontractors.cfg @@ -38,30 +38,6 @@ STRATEGY item = SalaryResearchers } } - EFFECT - { - name = CurrencyModifier - effectTitle = Shared Prestige - currency = Reputation - effectDescription = from contracts - multiplier = 0.95 - transactionReasons - { - item = ContractReward - } - } - EFFECT - { - name = CurrencyModifier - effectTitle = ОКБ Politics - currency = Confidence - effectDescription = from contracts - multiplier = 0.95 - transactionReasons - { - item = ContractReward - } - } } STRATEGY @@ -95,36 +71,12 @@ STRATEGY name = ResearchRateModifier effectTitle = Crewed Spaceflight Visionary effectDescription = command module - multiplier = 1.05 + multiplier = 1.15 nodeTypes { typeNode = Command } } - EFFECT - { - name = CurrencyModifier - effectTitle = Shared Prestige - currency = Reputation - effectDescription = from contracts - multiplier = 0.95 - transactionReasons - { - item = ContractReward - } - } - EFFECT - { - name = CurrencyModifier - effectTitle = ОКБ Politics - currency = Confidence - effectDescription = from contracts - multiplier = 0.95 - transactionReasons - { - item = ContractReward - } - } } STRATEGY @@ -158,36 +110,12 @@ STRATEGY name = ResearchRateModifier effectTitle = Almaz and Salyut Stations effectDescription = station - multiplier = 1.05 + multiplier = 1.15 nodeTypes { typeNode = Stations } } - EFFECT - { - name = CurrencyModifier - effectTitle = Shared Prestige - currency = Reputation - effectDescription = from contracts - multiplier = 0.95 - transactionReasons - { - item = ContractReward - } - } - EFFECT - { - name = CurrencyModifier - effectTitle = ОКБ Politics - currency = Confidence - effectDescription = from contracts - multiplier = 0.95 - transactionReasons - { - item = ContractReward - } - } } STRATEGY @@ -221,37 +149,13 @@ STRATEGY name = ResearchRateModifier //TODO: should be a integration speed buff to staged combustion //TODO: leaving this like this now until I can target SC parts effectTitle = Jet Engine Proficiency - multiplier = 1.1 + multiplier = 1.15 effectDescription = flight nodeTypes { typeNode = Flight } } - EFFECT - { - name = CurrencyModifier - effectTitle = Shared Prestige - currency = Reputation - effectDescription = from contracts - multiplier = 0.9 - transactionReasons - { - item = ContractReward - } - } - EFFECT - { - name = CurrencyModifier - effectTitle = ОКБ Politics - currency = Confidence - effectDescription = from contracts - multiplier = 0.9 - transactionReasons - { - item = ContractReward - } - } } STRATEGY @@ -285,36 +189,12 @@ STRATEGY name = ResearchRateModifier effectTitle = The Proton Engines effectDescription = staged rocket engine - multiplier = 1.05 + multiplier = 1.1 nodeTypes { typeNode = Staged } } - EFFECT - { - name = CurrencyModifier - effectTitle = Shared Prestige - currency = Reputation - effectDescription = from contracts - multiplier = 0.95 - transactionReasons - { - item = ContractReward - } - } - EFFECT - { - name = CurrencyModifier - effectTitle = ОКБ Politics - currency = Confidence - effectDescription = from contracts - multiplier = 0.95 - transactionReasons - { - item = ContractReward - } - } } @@ -349,25 +229,13 @@ STRATEGY { name = ResearchRateModifier effectTitle = Early Solid Rocket Pioneers - multiplier = 1.05 + multiplier = 1.1 effectDescription = solid rocket engine nodeTypes { item = Solid } } - EFFECT - { - name = CurrencyModifier - effectTitle = Hired Contractor - currency = Funds - effectDescription = from program funding - multiplier = 0.99 - transactionReasons - { - item = ProgramFunding - } - } } STRATEGY @@ -408,18 +276,6 @@ STRATEGY item = Nuclear } } - EFFECT - { - name = CurrencyModifier - effectTitle = Hired Contractor - currency = Funds - effectDescription = from program funding - multiplier = 0.99 - transactionReasons - { - item = ProgramFunding - } - } } STRATEGY @@ -473,18 +329,6 @@ STRATEGY item = RateAirlaunch } } - EFFECT - { - name = CurrencyModifier - effectTitle = Hired Contractor - currency = Funds - effectDescription = from program funding - multiplier = 0.995 - transactionReasons - { - item = ProgramFunding - } - } } STRATEGY @@ -525,18 +369,6 @@ STRATEGY item = Cockpit } } - EFFECT - { - name = CurrencyModifier - effectTitle = Hired Contractor - currency = Funds - effectDescription = from program funding - multiplier = 0.99 - transactionReasons - { - item = ProgramFunding - } - } } STRATEGY @@ -577,18 +409,6 @@ STRATEGY item = TankIsogrid } } - EFFECT - { - name = CurrencyModifier - effectTitle = Hired Contractor - currency = Funds - effectDescription = from program funding - multiplier = 0.99 - transactionReasons - { - item = ProgramFunding - } - } } STRATEGY @@ -630,18 +450,6 @@ STRATEGY item = Avionics } } - EFFECT - { - name = CurrencyModifier - effectTitle = Hired Contractor - currency = Funds - effectDescription = from program funding - multiplier = 0.99 - transactionReasons - { - item = ProgramFunding - } - } } STRATEGY @@ -674,25 +482,13 @@ STRATEGY { name = ResearchRateModifier effectTitle = US Foremost Engine Developer - multiplier = 1.05 + multiplier = 1.1 effectDescription = early and orbital rocket engine nodeTypes { typeNode = RocketEngines } } - EFFECT - { - name = CurrencyModifier - effectTitle = Hired Contractor - currency = Funds - effectDescription = from program funding - multiplier = 0.99 - transactionReasons - { - item = ProgramFunding - } - } } STRATEGY From a5506ac9be3f64377411ac77ac06577ded5ba3b1 Mon Sep 17 00:00:00 2001 From: NovemberOrWhatever <104395162+NovemberOrWhatever@users.noreply.github.com> Date: Sun, 1 Sep 2024 06:25:42 -0700 Subject: [PATCH 02/17] Fix PolarSat Heavy to require FO (#2428) This puts it in line with first biosat and means early satellites heavy can't be completed in one launch anymore --- .../Early Satellites (Heavy)/FirstPolarSat-Heavy.cfg | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/GameData/RP-1/Contracts/Early Satellites (Heavy)/FirstPolarSat-Heavy.cfg b/GameData/RP-1/Contracts/Early Satellites (Heavy)/FirstPolarSat-Heavy.cfg index a714ad352cb..6b735545774 100644 --- a/GameData/RP-1/Contracts/Early Satellites (Heavy)/FirstPolarSat-Heavy.cfg +++ b/GameData/RP-1/Contracts/Early Satellites (Heavy)/FirstPolarSat-Heavy.cfg @@ -43,6 +43,13 @@ CONTRACT_TYPE program = EarlySatellites-Heavy } + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = FirstSatellite-Heavy + } + REQUIREMENT { name = AcceptContract From 7891f0f4ecb1f40b31d1de50b431826e189ea8e2 Mon Sep 17 00:00:00 2001 From: NovemberOrWhatever <104395162+NovemberOrWhatever@users.noreply.github.com> Date: Sun, 1 Sep 2024 06:30:55 -0700 Subject: [PATCH 03/17] Stagger Chief Scientist unlocks (#2427) Make the scientists that are relevant to the early game unlock a bit sooner. Half the scientists unlock after suborbital return/first bio now, with the rest still going off scisat --- .../Strategies/Leaders/LeadersScientists.cfg | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/GameData/RP-1/Strategies/Leaders/LeadersScientists.cfg b/GameData/RP-1/Strategies/Leaders/LeadersScientists.cfg index 838797ee5b4..f0527e57139 100644 --- a/GameData/RP-1/Strategies/Leaders/LeadersScientists.cfg +++ b/GameData/RP-1/Strategies/Leaders/LeadersScientists.cfg @@ -24,8 +24,8 @@ STRATEGY { ANY { - complete_contract = FirstScienceSat - complete_contract = FirstScienceSat-Heavy + complete_contract = SoundingRocketBio + complete_contract = SuborbitalReturn } } @@ -202,8 +202,8 @@ STRATEGY { ANY { - complete_contract = FirstScienceSat - complete_contract = FirstScienceSat-Heavy + complete_contract = SoundingRocketBio + complete_contract = SuborbitalReturn } } @@ -270,8 +270,8 @@ STRATEGY { ANY { - complete_contract = FirstScienceSat - complete_contract = FirstScienceSat-Heavy + complete_contract = SoundingRocketBio + complete_contract = SuborbitalReturn } } @@ -406,8 +406,8 @@ STRATEGY { ANY { - complete_contract = FirstScienceSat - complete_contract = FirstScienceSat-Heavy + complete_contract = SoundingRocketBio + complete_contract = SuborbitalReturn } } @@ -605,7 +605,7 @@ STRATEGY name = leaderLockedScientist RP0conf = True title = Launch a SciSat First - desc = Scientists will unlock once you complete either the First Scientific Satellite contract or the First Scientific Satellite (1000 kg) contract. + desc = Some scientists will unlock once you complete the suborbital return or first low space biological experimentation contracts, and the rest after you complete either the First Scientific Satellite contract or the First Scientific Satellite (1000 kg) contract. department = Science icon = RP-1/Strategies/Leaders/Padlock_ICON iconDepartment = RP-1/Strategies/Leaders/EmptyLeader From 099ba51d9c120c92c08d2cc15992d24b4b9f9910 Mon Sep 17 00:00:00 2001 From: siimav Date: Tue, 10 Sep 2024 02:25:50 +0300 Subject: [PATCH 04/17] Fix issues with VesselBuildValidator --- .../RP0/SpaceCenter/VesselBuildValidator.cs | 62 +++++++++---------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/Source/RP0/SpaceCenter/VesselBuildValidator.cs b/Source/RP0/SpaceCenter/VesselBuildValidator.cs index 7395fe9f18c..d3efcea5dad 100644 --- a/Source/RP0/SpaceCenter/VesselBuildValidator.cs +++ b/Source/RP0/SpaceCenter/VesselBuildValidator.cs @@ -55,56 +55,52 @@ public void ProcessVessel(VesselProject vp) private IEnumerator RunValidationRoutine(VesselProject vp) { - if (ProcessFacilityChecks(vp) != ValidationResult.Success) - { - _failureActions(); - yield break; - } - if (!KSPUtils.CurrentGameIsCareer()) - { - _successActions(vp); - yield break; - } + _validationResult = ProcessFacilityChecks(vp); - ProcessPartAvailability(vp); - while (_validationResult == ValidationResult.Undecided) - yield return null; - - _routine = null; - if (_validationResult != ValidationResult.Success) + if (_validationResult == ValidationResult.Success && + !KSPUtils.CurrentGameIsCareer()) { - _failureActions(); + _routine = null; + _successActions(vp); yield break; } - do + if (_validationResult == ValidationResult.Success) { - ProcessPartConfigs(vp); + ProcessPartAvailability(vp); while (_validationResult == ValidationResult.Undecided) yield return null; } - while (_validationResult == ValidationResult.Rerun); - _routine = null; - if (_validationResult != ValidationResult.Success) + if (_validationResult == ValidationResult.Success) { - _failureActions(); - yield break; + do + { + ProcessPartConfigs(vp); + while (_validationResult == ValidationResult.Undecided) + yield return null; + } + while (_validationResult == ValidationResult.Rerun); } - if (ProcessFundsChecks(vp) != ValidationResult.Success) + if (_validationResult == ValidationResult.Success) { - _failureActions(); - yield break; + _validationResult = ProcessFundsChecks(vp); } - ProcessUntooledParts(vp); - while (_validationResult == ValidationResult.Undecided) - yield return null; + if (_validationResult == ValidationResult.Success) + { + ProcessUntooledParts(vp); + while (_validationResult == ValidationResult.Undecided) + yield return null; + } - ProcessExcessEC(vp); - while (_validationResult == ValidationResult.Undecided) - yield return null; + if (_validationResult == ValidationResult.Success) + { + ProcessExcessEC(vp); + while (_validationResult == ValidationResult.Undecided) + yield return null; + } _routine = null; if (_validationResult != ValidationResult.Success) From 0fa9e6155e6c0e95e53a594cb235bb7d31a74c7f Mon Sep 17 00:00:00 2001 From: siimav Date: Thu, 12 Sep 2024 01:39:33 +0300 Subject: [PATCH 05/17] Fix vessel repairs not progressing when the LC is otherwise idle --- Source/RP0/SpaceCenter/Projects/VesselRepairProject.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/RP0/SpaceCenter/Projects/VesselRepairProject.cs b/Source/RP0/SpaceCenter/Projects/VesselRepairProject.cs index 62a75a7638a..0a30fdc8ab1 100644 --- a/Source/RP0/SpaceCenter/Projects/VesselRepairProject.cs +++ b/Source/RP0/SpaceCenter/Projects/VesselRepairProject.cs @@ -15,7 +15,7 @@ public class VesselRepairProject : LCOpsProject protected override TransactionReasonsRP0 transactionReasonTime => TransactionReasonsRP0.RateRollout; - public override bool KeepsLCActive => false; + public override bool KeepsLCActive => true; public override ProjectType GetProjectType() => ProjectType.VesselRepair; From dc4e8a5671f905213442b8d43b450505ce8db0ea Mon Sep 17 00:00:00 2001 From: siimav Date: Thu, 12 Sep 2024 01:40:13 +0300 Subject: [PATCH 06/17] Restore ignitor resources on vessel repair --- .../RP0/SpaceCenter/Projects/VesselRepairProject.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Source/RP0/SpaceCenter/Projects/VesselRepairProject.cs b/Source/RP0/SpaceCenter/Projects/VesselRepairProject.cs index 0a30fdc8ab1..4078dbb6533 100644 --- a/Source/RP0/SpaceCenter/Projects/VesselRepairProject.cs +++ b/Source/RP0/SpaceCenter/Projects/VesselRepairProject.cs @@ -64,7 +64,7 @@ public bool ApplyRepairs() try { - ResetIgnitionsOnVessel(v); + ResetMERFsOnVessel(v); } catch { @@ -80,11 +80,19 @@ public bool ApplyRepairs() } } - private static void ResetIgnitionsOnVessel(Vessel v) + private static void ResetMERFsOnVessel(Vessel v) { foreach (var merf in v.FindPartModulesImplementing()) { merf.ResetIgnitions(); + + foreach (ModuleResource ignRes in merf.ignitionResources) + { + if (merf.part.Resources.Get(ignRes.id) is PartResource res) + { + res.amount = res.maxAmount; + } + } } } } From 2f892ee2030d186c8e25fdca7e9c9420fd7a4d07 Mon Sep 17 00:00:00 2001 From: siimav Date: Thu, 12 Sep 2024 01:43:10 +0300 Subject: [PATCH 07/17] Fix LC upkeep not factoring in current progress --- Source/RP0/Maintenance/MaintenanceHandler.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/RP0/Maintenance/MaintenanceHandler.cs b/Source/RP0/Maintenance/MaintenanceHandler.cs index 7db4f4eecd8..14124452331 100644 --- a/Source/RP0/Maintenance/MaintenanceHandler.cs +++ b/Source/RP0/Maintenance/MaintenanceHandler.cs @@ -300,7 +300,7 @@ public double LCUpkeep(LaunchComplex lc) // find LCConstruction foreach (var lcc in lc.KSC.LCConstructions) { - if (lcc.lcID != lc.ID) + if (lcc.lcID == lc.ID) return lcc.progress / lcc.BP * LCUpkeep(lcc.lcData, lc.LaunchPadCount); } return 0d; From d63a8911810404ac09d31753ea93a0c6fc1fe8b7 Mon Sep 17 00:00:00 2001 From: siimav Date: Thu, 12 Sep 2024 01:45:22 +0300 Subject: [PATCH 08/17] Update upload-artifact action to v4 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2799911e7cb..4fbba9b2add 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -115,7 +115,7 @@ jobs: cp -v -R "${{ github.workspace }}/LICENSE.md" "${RELEASE_DIR}/GameData/RP-1/LICENSE.md" - name: Upload artifacts - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: RP-1 path: ${{ steps.assemble-release.outputs.release-dir }} From 3aca97b0db5647136e41d5f19423d4f3fd435ada Mon Sep 17 00:00:00 2001 From: siimav Date: Thu, 12 Sep 2024 02:01:14 +0300 Subject: [PATCH 09/17] Make LCs still have maintenance cost while doing modifications --- Source/RP0/Maintenance/MaintenanceHandler.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/RP0/Maintenance/MaintenanceHandler.cs b/Source/RP0/Maintenance/MaintenanceHandler.cs index 14124452331..9f425420b65 100644 --- a/Source/RP0/Maintenance/MaintenanceHandler.cs +++ b/Source/RP0/Maintenance/MaintenanceHandler.cs @@ -301,7 +301,10 @@ public double LCUpkeep(LaunchComplex lc) foreach (var lcc in lc.KSC.LCConstructions) { if (lcc.lcID == lc.ID) - return lcc.progress / lcc.BP * LCUpkeep(lcc.lcData, lc.LaunchPadCount); + { + double factor = lcc.isModify ? 1 : lcc.progress / lcc.BP; + return factor * LCUpkeep(lcc.lcData, lc.LaunchPadCount); + } } return 0d; } From 0e79553a9c1fe1342d2bd49ededd2ac5b9b0e6b2 Mon Sep 17 00:00:00 2001 From: Capkirk123 Date: Sun, 15 Sep 2024 16:33:37 -0400 Subject: [PATCH 10/17] Switch to new NFE models and configure new ones (#2434) --- GameData/RP-1/Tree/ECM-Parts.cfg | 7 + GameData/RP-1/Tree/TREE-Parts.cfg | 102 ++++++++-- GameData/RP-1/Tree/identicalParts.cfg | 22 ++- .../data/Near_Future_Electrical.json | 179 +++++++++++++++++- .../Parts Browser/data/RLA_Stockalike.json | 2 +- .../Parts Browser/data/ROCapsules.json | 2 +- .../Parts Browser/data/Ven_Stock_Revamp.json | 2 +- 7 files changed, 290 insertions(+), 26 deletions(-) diff --git a/GameData/RP-1/Tree/ECM-Parts.cfg b/GameData/RP-1/Tree/ECM-Parts.cfg index 7feb2fdedb9..23f1be99fa1 100644 --- a/GameData/RP-1/Tree/ECM-Parts.cfg +++ b/GameData/RP-1/Tree/ECM-Parts.cfg @@ -475,7 +475,10 @@ RO-nupit = NuPIT-6000 RO-rangerSolarPanel = 1000, solarTL2, solarDeployable RO-reactor-BES5 = 100000,PowerReactors + RO-reactor-RAPIDL = 400000,RO-reactor-snap8 + RO-reactor-SAFE400 = 500000,RO-reactor-snap50-300 RO-reactor-TOPAZI = 200000,PowerReactors + RO-reactor-TOPAZII = 75000,RO-reactor-TOPAZI RO-reactor-kilopower = 10000,RO-reactor-snap10a RO-reactor-prometheus = 1000000,RO-reactor-snap50-300 RO-reactor-snap10a = 15000,PowerReactors @@ -1588,6 +1591,10 @@ nfa-turbojet-25-1 = GE4-J5P nfa-vtol-0625-1 = RB162-31 nfa-vtol-125-1 = RB162-31 + nfe-rtg-asrg-1 = 35156,RTGlevel6 + nfe-rtg-gphs-1 = 50000,RTGlevel5 + nfe-rtg-mmrtg-1 = 50000,RTGlevel5 + nfe-rtg-snap27-1 = 50000,RTGlevel3 nflv-engine-ar1-1 = AR-1 nflv-engine-ar1c-1 = AR-1 nflv-engine-m1d-1 = Merlin1D diff --git a/GameData/RP-1/Tree/TREE-Parts.cfg b/GameData/RP-1/Tree/TREE-Parts.cfg index 6173f3da650..faf489c5bb1 100644 --- a/GameData/RP-1/Tree/TREE-Parts.cfg +++ b/GameData/RP-1/Tree/TREE-Parts.cfg @@ -7371,6 +7371,28 @@ %MODULE[ModuleTagList] { tag = Nuclear } +} +@PART[RO-reactor-RAPIDL]:FOR[xxxRP0] +{ + %TechRequired = advModernNuclearPower + %cost = 15000 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Electrical mod + + %MODULE[ModuleTagList] { tag = Nuclear } + +} +@PART[RO-reactor-SAFE400]:FOR[xxxRP0] +{ + %TechRequired = modernNuclearPower + %cost = 19115 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Electrical mod + + %MODULE[ModuleTagList] { tag = Nuclear } + } @PART[RO-reactor-TOPAZI]:FOR[xxxRP0] { @@ -7382,6 +7404,17 @@ %MODULE[ModuleTagList] { tag = Nuclear } +} +@PART[RO-reactor-TOPAZII]:FOR[xxxRP0] +{ + %TechRequired = advancedNuclearPower + %cost = 1503 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Electrical mod + + %MODULE[ModuleTagList] { tag = Nuclear } + } @PART[RO-reactor-kilopower]:FOR[xxxRP0] { @@ -7401,6 +7434,9 @@ %entryCost = 0 RP0conf = true @description ^=:$: From Near Future Electrical mod + + %MODULE[ModuleTagList] { tag = Nuclear } + } @PART[RO-reactor-snap10a]:FOR[xxxRP0] { @@ -17368,6 +17404,17 @@ %MODULE[ModuleTagList] { tag = Instruments } +} +@PART[RelayAntenna3m]:FOR[xxxRP0] +{ + %TechRequired = deepSpaceComms + %cost = 40 + %entryCost = 4000 + RP0conf = true + @description ^=:$: From Stock (RO Config) mod + + %MODULE[ModuleTagList] { tag = Instruments } + } @PART[RelayAntenna5]:FOR[xxxRP0] { @@ -25943,6 +25990,50 @@ RP0conf = true @description ^=:$: From Near Future Aeronautics mod } +@PART[nfe-rtg-asrg-1]:FOR[xxxRP0] +{ + %TechRequired = modernNuclearPower + %cost = 3550 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Electrical mod + + %MODULE[ModuleTagList] { tag = NuclearRTG } + +} +@PART[nfe-rtg-gphs-1]:FOR[xxxRP0] +{ + %TechRequired = gphsRTG + %cost = 5130 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Electrical mod + + %MODULE[ModuleTagList] { tag = NuclearRTG } + +} +@PART[nfe-rtg-mmrtg-1]:FOR[xxxRP0] +{ + %TechRequired = modernNuclearPower + %cost = 2500 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Electrical mod + + %MODULE[ModuleTagList] { tag = NuclearRTG } + +} +@PART[nfe-rtg-snap27-1]:FOR[xxxRP0] +{ + %TechRequired = improvedRTG + %cost = 2700 + %entryCost = 0 + RP0conf = true + @description ^=:$: From Near Future Electrical mod + + %MODULE[ModuleTagList] { tag = NuclearRTG } + +} @PART[nfex-antenna-deploy-wv3-1]:FOR[xxxRP0] { %TechRequired = interplanetaryComms @@ -34083,15 +34174,4 @@ MODULE { name = ModuleUnpressurizedCockpit } -} -@PART[RelayAntenna3m]:FOR[xxxRP0] -{ - %TechRequired = deepSpaceComms - %cost = 40 - %entryCost = 4000 - RP0conf = true - @description ^=:$: From Stock (RO Config) mod - - %MODULE[ModuleTagList] { tag = Instruments } - } \ No newline at end of file diff --git a/GameData/RP-1/Tree/identicalParts.cfg b/GameData/RP-1/Tree/identicalParts.cfg index 585439f8b7d..5c6accfb384 100644 --- a/GameData/RP-1/Tree/identicalParts.cfg +++ b/GameData/RP-1/Tree/identicalParts.cfg @@ -163,6 +163,8 @@ @PART[nflv-engine-ar1-1]:FOR[xxxRP0] { %identicalParts = nflv-engine-ar1-1,nflv-engine-ar1c-1 } @PART[nflv-engine-ar1c-1]:FOR[xxxRP0] { %identicalParts = nflv-engine-ar1-1,nflv-engine-ar1c-1 } @PART[ROEE-AR1]:FOR[xxxRP0] { %identicalParts = ROEE-AR1 } +@PART[nfe-rtg-asrg-1]:FOR[xxxRP0] { %identicalParts = nfe-rtg-asrg-1,rtg-0625 } +@PART[rtg-0625]:FOR[xxxRP0] { %identicalParts = nfe-rtg-asrg-1,rtg-0625 } @PART[bluedog_Diamant_Asterix]:FOR[xxxRP0] { %identicalParts = DiamantAsterix,bluedog_Diamant_Asterix } @PART[DiamantAsterix]:FOR[xxxRP0] { %identicalParts = DiamantAsterix,bluedog_Diamant_Asterix } @PART[rn_junoii_sgt]:FOR[xxxRP0] { %identicalParts = ROBabySergeant,ROE-BabySergeant,ROE-BabySergeant-RN,rn_junoii_sgt } @@ -272,10 +274,11 @@ @PART[ROC-GeminiFlightPackContSurf]:FOR[xxxRP0] { %identicalParts = ROC-GeminiFlightPackContSurf } @PART[ROC-GeminiWing]:FOR[xxxRP0] { %identicalParts = ROC-GeminiWing } @PART[ROE-GEM46]:FOR[xxxRP0] { %identicalParts = ROE-GEM46 } -@PART[ca_mer_rtg]:FOR[xxxRP0] { %identicalParts = SXTDepolyRTGI,SXTDepolyRTGII,ca_mer_rtg,ca_rtg8200 } -@PART[ca_rtg8200]:FOR[xxxRP0] { %identicalParts = SXTDepolyRTGI,SXTDepolyRTGII,ca_mer_rtg,ca_rtg8200 } -@PART[SXTDepolyRTGI]:FOR[xxxRP0] { %identicalParts = SXTDepolyRTGI,SXTDepolyRTGII,ca_mer_rtg,ca_rtg8200 } -@PART[SXTDepolyRTGII]:FOR[xxxRP0] { %identicalParts = SXTDepolyRTGI,SXTDepolyRTGII,ca_mer_rtg,ca_rtg8200 } +@PART[ca_mer_rtg]:FOR[xxxRP0] { %identicalParts = SXTDepolyRTGI,SXTDepolyRTGII,ca_mer_rtg,ca_rtg8200,nfe-rtg-gphs-1 } +@PART[ca_rtg8200]:FOR[xxxRP0] { %identicalParts = SXTDepolyRTGI,SXTDepolyRTGII,ca_mer_rtg,ca_rtg8200,nfe-rtg-gphs-1 } +@PART[nfe-rtg-gphs-1]:FOR[xxxRP0] { %identicalParts = SXTDepolyRTGI,SXTDepolyRTGII,ca_mer_rtg,ca_rtg8200,nfe-rtg-gphs-1 } +@PART[SXTDepolyRTGI]:FOR[xxxRP0] { %identicalParts = SXTDepolyRTGI,SXTDepolyRTGII,ca_mer_rtg,ca_rtg8200,nfe-rtg-gphs-1 } +@PART[SXTDepolyRTGII]:FOR[xxxRP0] { %identicalParts = SXTDepolyRTGI,SXTDepolyRTGII,ca_mer_rtg,ca_rtg8200,nfe-rtg-gphs-1 } @PART[bluedog_Delta2_RS27]:FOR[xxxRP0] { %identicalParts = RO-H1-RS27,ROE-H1C,ROE-H1C-SSTU,ROE-H1D,ROE-H1D-SSTU,ROE-RS27,RSBengineH1,bluedog_Delta2_RS27,bluedog_H1C,bluedog_H1D,restock-engine-torch } @PART[bluedog_H1C]:FOR[xxxRP0] { %identicalParts = RO-H1-RS27,ROE-H1C,ROE-H1C-SSTU,ROE-H1D,ROE-H1D-SSTU,ROE-RS27,RSBengineH1,bluedog_Delta2_RS27,bluedog_H1C,bluedog_H1D,restock-engine-torch } @PART[bluedog_H1D]:FOR[xxxRP0] { %identicalParts = RO-H1-RS27,ROE-H1C,ROE-H1C-SSTU,ROE-H1D,ROE-H1D-SSTU,ROE-RS27,RSBengineH1,bluedog_Delta2_RS27,bluedog_H1C,bluedog_H1D,restock-engine-torch } @@ -384,6 +387,9 @@ @PART[nflv-engine-m1d-vac-1]:FOR[xxxRP0] { %identicalParts = ROE-Merlin1DV,nflv-engine-m1d-vac-1 } @PART[ROE-Merlin1DV]:FOR[xxxRP0] { %identicalParts = ROE-Merlin1DV,nflv-engine-m1d-vac-1 } @PART[RO-Micrometeorite]:FOR[xxxRP0] { %identicalParts = RO-Micrometeorite } +@PART[nfe-rtg-mmrtg-1]:FOR[xxxRP0] { %identicalParts = RLA_mmrtg,RO-MMRTG,nfe-rtg-mmrtg-1 } +@PART[RLA_mmrtg]:FOR[xxxRP0] { %identicalParts = RLA_mmrtg,RO-MMRTG,nfe-rtg-mmrtg-1 } +@PART[RO-MMRTG]:FOR[xxxRP0] { %identicalParts = RLA_mmrtg,RO-MMRTG,nfe-rtg-mmrtg-1 } @PART[ROE-Agena8096C]:FOR[xxxRP0] { %identicalParts = ROE-Agena8096C } @PART[dockingPort2]:FOR[xxxRP0] { %identicalParts = ROC-CSTNDSActive,ROC-CSTNDSPassive,dockingPort2,ndsport1,ndsport3,sspx-docking-125-1 } @PART[ndsport1]:FOR[xxxRP0] { %identicalParts = ROC-CSTNDSActive,ROC-CSTNDSPassive,dockingPort2,ndsport1,ndsport3,sspx-docking-125-1 } @@ -421,6 +427,8 @@ @PART[bluedog_rangerCore]:FOR[xxxRP0] { %identicalParts = bluedog_rangerCore } @PART[RO-RangerRetro]:FOR[xxxRP0] { %identicalParts = RO-RangerRetro,ROE-RangerRetro } @PART[ROE-RangerRetro]:FOR[xxxRP0] { %identicalParts = RO-RangerRetro,ROE-RangerRetro } +@PART[reactor-25]:FOR[xxxRP0] { %identicalParts = RO-reactor-RAPIDL,reactor-25 } +@PART[RO-reactor-RAPIDL]:FOR[xxxRP0] { %identicalParts = RO-reactor-RAPIDL,reactor-25 } @PART[RCSBlock_1100]:FOR[xxxRP0] { %identicalParts = RCSBlock_1100,RO_RCSBlock_restock_1100 } @PART[RO_RCSBlock_restock_1100]:FOR[xxxRP0] { %identicalParts = RCSBlock_1100,RO_RCSBlock_restock_1100 } @PART[RCSBlock_138]:FOR[xxxRP0] { %identicalParts = RCSBlock_138,RO_RCSBlock_restock_138,RO_RCSBlock_restock_mini_138 } @@ -587,6 +595,8 @@ @PART[rn_brizm_me]:FOR[xxxRP0] { %identicalParts = NP_S598M,ROE-S598M,ROE-S598M-NicheParts,delphini_us_engine_s1_1,rn_brizm_me } @PART[ROE-S598M]:FOR[xxxRP0] { %identicalParts = NP_S598M,ROE-S598M,ROE-S598M-NicheParts,delphini_us_engine_s1_1,rn_brizm_me } @PART[ROE-S598M-NicheParts]:FOR[xxxRP0] { %identicalParts = NP_S598M,ROE-S598M,ROE-S598M-NicheParts,delphini_us_engine_s1_1,rn_brizm_me } +@PART[reactor-0625]:FOR[xxxRP0] { %identicalParts = RO-reactor-SAFE400,reactor-0625 } +@PART[RO-reactor-SAFE400]:FOR[xxxRP0] { %identicalParts = RO-reactor-SAFE400,reactor-0625 } @PART[s1_lsolar]:FOR[xxxRP0] { %identicalParts = s1_lsolar,s1_rsolar } @PART[s1_rsolar]:FOR[xxxRP0] { %identicalParts = s1_lsolar,s1_rsolar } @PART[RSBtankSaturnSIC8]:FOR[xxxRP0] { %identicalParts = RSBtankSaturnSIC8 } @@ -646,6 +656,8 @@ @PART[RFSM-II]:FOR[xxxRP0] { %identicalParts = RFSM-II } @PART[RFSM-III]:FOR[xxxRP0] { %identicalParts = RFSM-III } @PART[RFSM-IV]:FOR[xxxRP0] { %identicalParts = RFSM-IV } +@PART[nfe-rtg-snap27-1]:FOR[xxxRP0] { %identicalParts = ROC-LEMFoldingSNAP27BDB,nfe-rtg-snap27-1 } +@PART[ROC-LEMFoldingSNAP27BDB]:FOR[xxxRP0] { %identicalParts = ROC-LEMFoldingSNAP27BDB,nfe-rtg-snap27-1 } @PART[ca_rtg2000]:FOR[xxxRP0] { %identicalParts = RO-SNAP-19-RTG,ca_rtg2000 } @PART[RO-SNAP-19-RTG]:FOR[xxxRP0] { %identicalParts = RO-SNAP-19-RTG,ca_rtg2000 } @PART[ROE-SNTPPFE100]:FOR[xxxRP0] { %identicalParts = ROE-SNTPPFE100,SNTPPFE100 } @@ -712,6 +724,8 @@ @PART[ROE-TD339-NicheParts]:FOR[xxxRP0] { %identicalParts = RO-SurveyorVernier,ROE-TD339,ROE-TD339-NicheParts,TD339,ca_landv_vernier,rn_surveyor_s_engine } @PART[TD339]:FOR[xxxRP0] { %identicalParts = RO-SurveyorVernier,ROE-TD339,ROE-TD339-NicheParts,TD339,ca_landv_vernier,rn_surveyor_s_engine } @PART[sensorThermometer]:FOR[xxxRP0] { %identicalParts = sensorThermometer } +@PART[reactor-125]:FOR[xxxRP0] { %identicalParts = RO-reactor-TOPAZII,reactor-125 } +@PART[RO-reactor-TOPAZII]:FOR[xxxRP0] { %identicalParts = RO-reactor-TOPAZII,reactor-125 } @PART[trussAdapter]:FOR[xxxRP0] { %identicalParts = trussAdapter,trussPiece1x } @PART[trussPiece1x]:FOR[xxxRP0] { %identicalParts = trussAdapter,trussPiece1x } @PART[rn_ua1205_dec]:FOR[xxxRP0] { %identicalParts = ROE-120XDecoupler,rn_ua1205_dec,rn_ua1206_dec,rn_ua1207_dec } diff --git a/Source/Tech Tree/Parts Browser/data/Near_Future_Electrical.json b/Source/Tech Tree/Parts Browser/data/Near_Future_Electrical.json index b457a491a61..3d124b719d8 100644 --- a/Source/Tech Tree/Parts Browser/data/Near_Future_Electrical.json +++ b/Source/Tech Tree/Parts Browser/data/Near_Future_Electrical.json @@ -23,6 +23,52 @@ "Nuclear" ] }, + { + "name": "RO-reactor-RAPIDL", + "title": "RAPID-L Nuclear Reactor", + "description": "", + "mod": "Near Future Electrical", + "cost": "15000", + "entry_cost": "0", + "category": "NUCLEAR", + "info": "Nuclear Reactor", + "year": "2019", + "technology": "advModernNuclearPower", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "400000,RO-reactor-snap8", + "identical_part_name": "RAPID-L", + "module_tags": [ + "Nuclear" + ] + }, + { + "name": "RO-reactor-SAFE400", + "title": "NASA SAFE-400 Nuclear Reactor", + "description": "", + "mod": "Near Future Electrical", + "cost": "19115", + "entry_cost": "0", + "category": "NUCLEAR", + "info": "Nuclear Reactor", + "year": "2014", + "technology": "modernNuclearPower", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "500000,RO-reactor-snap50-300", + "identical_part_name": "SAFE-400", + "module_tags": [ + "Nuclear" + ] + }, { "name": "RO-reactor-TOPAZI", "title": "TOPAZ-I Nuclear Reactor", @@ -47,6 +93,29 @@ "Nuclear" ] }, + { + "name": "RO-reactor-TOPAZII", + "title": "TOPAZ-II Nuclear Reactor", + "description": "", + "mod": "Near Future Electrical", + "cost": "1503", + "entry_cost": "0", + "category": "NUCLEAR", + "info": "Nuclear Reactor", + "year": "2001", + "technology": "advancedNuclearPower", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "75000,RO-reactor-TOPAZI", + "identical_part_name": "TOPAZ-II", + "module_tags": [ + "Nuclear" + ] + }, { "name": "RO-reactor-kilopower", "title": "NASA Kilopower Reactor", @@ -90,7 +159,9 @@ "upgrade": false, "entry_cost_mods": "1000000,RO-reactor-snap50-300", "identical_part_name": "", - "module_tags": [] + "module_tags": [ + "Nuclear" + ] }, { "name": "RO-reactor-snap10a", @@ -209,6 +280,98 @@ "Nuclear" ] }, + { + "name": "nfe-rtg-asrg-1", + "title": "NASA & DOE Advanced Sterling RG", + "description": "", + "mod": "Near Future Electrical", + "cost": "3550", + "entry_cost": "0", + "category": "NUCLEAR", + "info": "RTG", + "year": "2015", + "technology": "modernNuclearPower", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "35156,RTGlevel6", + "identical_part_name": "ASRG", + "module_tags": [ + "NuclearRTG" + ] + }, + { + "name": "nfe-rtg-gphs-1", + "title": "GPHS-RTG", + "description": "", + "mod": "Near Future Electrical", + "cost": "5130", + "entry_cost": "0", + "category": "NUCLEAR", + "info": "RTG", + "year": "1985", + "technology": "gphsRTG", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "50000,RTGlevel5", + "identical_part_name": "GPHS-RTG", + "module_tags": [ + "NuclearRTG" + ] + }, + { + "name": "nfe-rtg-mmrtg-1", + "title": "Multi-Mission RTG", + "description": "", + "mod": "Near Future Electrical", + "cost": "2500", + "entry_cost": "0", + "category": "NUCLEAR", + "info": "RTG", + "year": "2011", + "technology": "modernNuclearPower", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "50000,RTGlevel5", + "identical_part_name": "MMRTG", + "module_tags": [ + "NuclearRTG" + ] + }, + { + "name": "nfe-rtg-snap27-1", + "title": "SNAP-27 Series RTG", + "description": "", + "mod": "Near Future Electrical", + "cost": "2700", + "entry_cost": "0", + "category": "NUCLEAR", + "info": "RTG", + "year": "1969", + "technology": "improvedRTG", + "ro": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "50000,RTGlevel3", + "identical_part_name": "SNAP-27", + "module_tags": [ + "NuclearRTG" + ] + }, { "name": "nuclear-recycler-25", "title": "Whirlijig Nuclear Reprocessor", @@ -299,7 +462,7 @@ }, { "name": "reactor-0625", - "title": "NASA SAFE-400 Nuclear Reactor", + "title": "NASA SAFE-400 Nuclear Reactor (Deprecated)", "description": "Safe Affordable Fission Engine. Small and lightweight but powerful reactor enabled by new technology.", "mod": "Near Future Electrical", "cost": 19115, @@ -316,14 +479,14 @@ "engine_config": "", "upgrade": false, "entry_cost_mods": "500000,RO-reactor-snap50-300", - "identical_part_name": "", + "identical_part_name": "SAFE-400", "module_tags": [ "Nuclear" ] }, { "name": "reactor-125", - "title": "TOPAZ-II Nuclear Reactor", + "title": "TOPAZ-II Nuclear Reactor (Deprecated)", "description": "I. V. Kurchatov Institute of Atomic Energy. Related to the TOPAZ-I, a nuclear fission reactor found in around 30 satellites put into orbit by the Soviet Union.", "mod": "Near Future Electrical", "cost": 1503, @@ -340,14 +503,14 @@ "engine_config": "", "upgrade": false, "entry_cost_mods": "75000, RO-reactor-TOPAZI", - "identical_part_name": "", + "identical_part_name": "TOPAZ-II", "module_tags": [ "Nuclear" ] }, { "name": "reactor-25", - "title": "USDOE RAPID-L Nuclear Reactor", + "title": "USDOE RAPID-L Nuclear Reactor (Deprecated)", "description": "Design based for lunar bases.", "mod": "Near Future Electrical", "cost": 15000, @@ -364,7 +527,7 @@ "engine_config": "", "upgrade": false, "entry_cost_mods": "400000,RO-reactor-snap8", - "identical_part_name": "", + "identical_part_name": "RAPID-L", "module_tags": [ "Nuclear" ] @@ -413,7 +576,7 @@ "engine_config": "", "upgrade": false, "entry_cost_mods": "35156,RTGlevel6", - "identical_part_name": "", + "identical_part_name": "ASRG", "module_tags": [ "NuclearRTG" ] diff --git a/Source/Tech Tree/Parts Browser/data/RLA_Stockalike.json b/Source/Tech Tree/Parts Browser/data/RLA_Stockalike.json index e9fdf7c0ae1..bac243837d1 100644 --- a/Source/Tech Tree/Parts Browser/data/RLA_Stockalike.json +++ b/Source/Tech Tree/Parts Browser/data/RLA_Stockalike.json @@ -173,7 +173,7 @@ "engine_config": "", "upgrade": false, "entry_cost_mods": "50000,RTGlevel5", - "identical_part_name": "", + "identical_part_name": "MMRTG", "module_tags": [ "NuclearRTG" ] diff --git a/Source/Tech Tree/Parts Browser/data/ROCapsules.json b/Source/Tech Tree/Parts Browser/data/ROCapsules.json index da761e078fd..849840edd48 100644 --- a/Source/Tech Tree/Parts Browser/data/ROCapsules.json +++ b/Source/Tech Tree/Parts Browser/data/ROCapsules.json @@ -3631,7 +3631,7 @@ "engine_config": "", "upgrade": false, "entry_cost_mods": "50000,RTGlevel3", - "identical_part_name": "", + "identical_part_name": "SNAP-27", "module_tags": [ "NuclearRTG" ] diff --git a/Source/Tech Tree/Parts Browser/data/Ven_Stock_Revamp.json b/Source/Tech Tree/Parts Browser/data/Ven_Stock_Revamp.json index 266b0f07ca3..7892aff79e3 100644 --- a/Source/Tech Tree/Parts Browser/data/Ven_Stock_Revamp.json +++ b/Source/Tech Tree/Parts Browser/data/Ven_Stock_Revamp.json @@ -342,7 +342,7 @@ "engine_config": "", "upgrade": false, "entry_cost_mods": "50000,RTGlevel5", - "identical_part_name": "", + "identical_part_name": "MMRTG", "module_tags": [ "NuclearRTG" ] From 50432f7e139c9e84aa51e77c0dd11113a959ee3b Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot <> Date: Sun, 15 Sep 2024 20:38:33 +0000 Subject: [PATCH 11/17] Update version to v3.13.0.0 --- GameData/RP-1/RP-1.version | 4 ++-- GameData/RP-1/changelog.cfg | 20 ++++++++++++++++++++ README.md | 2 +- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/GameData/RP-1/RP-1.version b/GameData/RP-1/RP-1.version index abd6dd8ab77..dff00561187 100644 --- a/GameData/RP-1/RP-1.version +++ b/GameData/RP-1/RP-1.version @@ -1,11 +1,11 @@ { "NAME": "Realistic Progression One", "URL": "https://raw.githubusercontent.com/KSP-RO/RP-1/master/GameData/RP-1/RP-1.version", - "DOWNLOAD": "https://github.com/KSP-RO/RP-1/releases/download/v3.12.0.0/RP-1-v3.12.0.0.zip", + "DOWNLOAD": "https://github.com/KSP-RO/RP-1/releases/download/v3.13.0.0/RP-1-v3.13.0.0.zip", "HOMEPAGE": "https://github.com/KSP-RO/RP-1/", "VERSION": { "MAJOR": 3, - "MINOR": 12, + "MINOR": 13, "PATCH": 0, "BUILD": 0 }, diff --git a/GameData/RP-1/changelog.cfg b/GameData/RP-1/changelog.cfg index 700dcb32614..e2b4c1968d8 100644 --- a/GameData/RP-1/changelog.cfg +++ b/GameData/RP-1/changelog.cfg @@ -5,6 +5,26 @@ KERBALCHANGELOG author = KSP-RO team website = github.com/KSP-RO/RP-1 VERSION + { + version = 3.13.0.0 + versionKSP = 1.12.3 + CHANGE + { + change = What's Changed + subchange = Fix harmless but annoying error + subchange = Fix harmless errors on launching vessels. + subchange = Remove downsides from subcontractors, buff research rate modifiers + subchange = Fix PolarSat Heavy to require FO + subchange = Stagger Chief Scientist unlocks + subchange = Fix issues with VesselBuildValidator + subchange = Fix vessel repairs not progressing when the LC is otherwise idle + subchange = Restore ignitor resources on vessel repair + subchange = Fix LC upkeep not factoring in current progress + subchange = Make LCs still have maintenance cost while doing modifications + subchange = Switch to new NFE models and configure new ones + } + } + VERSION { version = 3.12.0.0 versionKSP = 1.12.3 diff --git a/README.md b/README.md index ec31b894b29..1c52e1b6a95 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@

- +

Welcome to Realistic Progression One, the heavyweight career addon for Kerbal Space Program's Realism Overhaul. From 033a3170ce0e9a31623fca6d7191d141fcab9671 Mon Sep 17 00:00:00 2001 From: siimav Date: Wed, 25 Sep 2024 00:38:34 +0300 Subject: [PATCH 12/17] Clarify the avionics permanent shutdown message --- Source/RP0/Avionics/ModuleAvionics.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/RP0/Avionics/ModuleAvionics.cs b/Source/RP0/Avionics/ModuleAvionics.cs index fea79f7fa63..59e73741e11 100644 --- a/Source/RP0/Avionics/ModuleAvionics.cs +++ b/Source/RP0/Avionics/ModuleAvionics.cs @@ -359,7 +359,7 @@ public void KillEvent() new DialogGUIButton("Yes", () => KillAction(null)), new DialogGUIButton("No", () => {}) }; - var dialog = new MultiOptionDialog("ConfirmDisableAvionics", "Are you sure you want to permanently disable the avionics unit? Doing this will prevent avionics from consuming power but it will no longer provide any control either.", "Disable Avionics", HighLogic.UISkin, 300, options); + var dialog = new MultiOptionDialog("ConfirmDisableAvionics", "Are you sure you want to permanently disable the avionics unit? Doing this will prevent avionics from consuming power but it will no longer provide any control either. Note that disabling the last avionics unit on the vessel will also disable all communications.", "Disable Avionics", HighLogic.UISkin, 300, options); PopupDialog.SpawnPopupDialog(dialog, true, HighLogic.UISkin); } From 20994aba35c60e727c6e6435728ee1a3fda96c66 Mon Sep 17 00:00:00 2001 From: ezsnackeur <166346052+ezsnackeur@users.noreply.github.com> Date: Sat, 28 Sep 2024 17:14:04 +0200 Subject: [PATCH 13/17] Fix Bell's researchers hiring penalty (#2439) --- GameData/RP-1/Strategies/Leaders/LeadersContractors.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GameData/RP-1/Strategies/Leaders/LeadersContractors.cfg b/GameData/RP-1/Strategies/Leaders/LeadersContractors.cfg index 8c642c2af0c..5ed6e7a6de7 100644 --- a/GameData/RP-1/Strategies/Leaders/LeadersContractors.cfg +++ b/GameData/RP-1/Strategies/Leaders/LeadersContractors.cfg @@ -399,9 +399,9 @@ STRATEGY currency = Funds effectDescription = for hiring researchers flipPositive = True - nodeTypes + transactionReasons { - typeNode = HiringResearchers + item = HiringResearchers } } } From d379a5e329e850febf6ce10457bfff7dc21a161f Mon Sep 17 00:00:00 2001 From: TwistedGiraffe <87010939+TwistedGiraffe@users.noreply.github.com> Date: Sat, 28 Sep 2024 11:15:27 -0400 Subject: [PATCH 14/17] Enforce body restriction for crewed experiments (#2437) Added `BodyAllowed = HomeBody` for experiments with `celestialBodies = Earth`, and added `BodyAllowed = HomeBodyAndMoons` for experiments with `celestialBodies = Earth;Moon`. Also trimmed the whitespace. --- .../CrewScience/BasicCapsuleExperiments.cfg | 16 +++---- .../CrewScience/MatureCapsuleExperiments.cfg | 14 ++++++- .../CrewScience/SecondGenExperiments.cfg | 40 +++++++++++------- .../CrewScience/StationExperiments.cfg | 42 +++++++++++++++++++ 4 files changed, 86 insertions(+), 26 deletions(-) diff --git a/GameData/RP-1/Science/Experiments/CrewScience/BasicCapsuleExperiments.cfg b/GameData/RP-1/Science/Experiments/CrewScience/BasicCapsuleExperiments.cfg index ded55d2bc23..ffe69c6533c 100644 --- a/GameData/RP-1/Science/Experiments/CrewScience/BasicCapsuleExperiments.cfg +++ b/GameData/RP-1/Science/Experiments/CrewScience/BasicCapsuleExperiments.cfg @@ -36,8 +36,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -87,8 +87,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -138,8 +138,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -189,8 +189,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0.002 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } diff --git a/GameData/RP-1/Science/Experiments/CrewScience/MatureCapsuleExperiments.cfg b/GameData/RP-1/Science/Experiments/CrewScience/MatureCapsuleExperiments.cfg index 4cdd1640047..5f79d143f3d 100644 --- a/GameData/RP-1/Science/Experiments/CrewScience/MatureCapsuleExperiments.cfg +++ b/GameData/RP-1/Science/Experiments/CrewScience/MatureCapsuleExperiments.cfg @@ -37,6 +37,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBodyAndMoons IncludeExperiment = } } @@ -86,6 +88,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -135,6 +139,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -184,6 +190,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0.0001 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -195,7 +203,7 @@ EXPERIMENT_DEFINITION experiment_id = RP0TerrainPhotography ec_rate = 0 data_rate = 50 - @data_rate /= 129600 // 3 days + @data_rate /= 129600 // 1.5 days %sample_amount = 1 @sample_amount /= 3 requires = CrewMin:2 @@ -235,6 +243,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0.0001 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -246,7 +256,7 @@ EXPERIMENT_DEFINITION experiment_id = RP0WeatherPhotography ec_rate = 0 data_rate = 50 - @data_rate /= 129600 // 3 days + @data_rate /= 129600 // 1.5 days %sample_amount = 1 @sample_amount /= 3 requires = CrewMin:2 diff --git a/GameData/RP-1/Science/Experiments/CrewScience/SecondGenExperiments.cfg b/GameData/RP-1/Science/Experiments/CrewScience/SecondGenExperiments.cfg index 57db2fa3b6b..b52fec82fa6 100644 --- a/GameData/RP-1/Science/Experiments/CrewScience/SecondGenExperiments.cfg +++ b/GameData/RP-1/Science/Experiments/CrewScience/SecondGenExperiments.cfg @@ -36,8 +36,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -87,6 +87,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBodyAndMoons IncludeExperiment = } } @@ -136,6 +138,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBodyAndMoons IncludeExperiment = } } @@ -185,8 +189,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -236,8 +240,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0.0005 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -288,6 +292,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0.0005 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBodyAndMoons IncludeExperiment = } } @@ -338,8 +344,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -389,8 +395,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -440,8 +446,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -491,6 +497,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBodyAndMoons IncludeExperiment = } } @@ -540,8 +548,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0.004 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -592,8 +600,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). - BodyAllowed = HomeBody + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } diff --git a/GameData/RP-1/Science/Experiments/CrewScience/StationExperiments.cfg b/GameData/RP-1/Science/Experiments/CrewScience/StationExperiments.cfg index 388a71f7d91..21557cae8e4 100644 --- a/GameData/RP-1/Science/Experiments/CrewScience/StationExperiments.cfg +++ b/GameData/RP-1/Science/Experiments/CrewScience/StationExperiments.cfg @@ -42,6 +42,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -88,6 +90,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -135,6 +139,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -182,6 +188,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 //Placeholder + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -230,6 +238,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -277,6 +287,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -324,6 +336,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0.0272 //7 days of input to stay mass neutral + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -372,6 +386,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 //Placeholder + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -424,6 +440,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = RP0longDurationHabit1 } } @@ -471,6 +489,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -518,6 +538,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -565,6 +587,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -612,6 +636,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -659,6 +685,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0.005 //Placeholder + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -707,6 +735,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 //Placeholder + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -754,6 +784,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 //Placeholder + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -801,6 +833,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 //Placeholder + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -848,6 +882,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 //Placeholder + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -895,6 +931,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0.05 //Placeholder + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -943,6 +981,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0.005 //Placeholder + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } @@ -991,6 +1031,8 @@ EXPERIMENT_DEFINITION { // sample mass in tons. if undefined or 0, the experiment produce a file SampleMass = 0 //Placeholder + // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + BodyAllowed = HomeBody IncludeExperiment = } } From ac267dbb8a6319c53e760f4de354ef1652116396 Mon Sep 17 00:00:00 2001 From: siimav Date: Sat, 28 Sep 2024 18:24:32 +0300 Subject: [PATCH 15/17] Fix Yangel bonus --- GameData/RP-1/Strategies/Leaders/LeadersEngineers.cfg | 2 +- GameData/RP-1/Strategies/Leaders/LeadersSubcontractors.cfg | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/GameData/RP-1/Strategies/Leaders/LeadersEngineers.cfg b/GameData/RP-1/Strategies/Leaders/LeadersEngineers.cfg index f4686604f39..3b221ba659b 100644 --- a/GameData/RP-1/Strategies/Leaders/LeadersEngineers.cfg +++ b/GameData/RP-1/Strategies/Leaders/LeadersEngineers.cfg @@ -157,7 +157,7 @@ STRATEGY multiplier = 0.85 transactionReasons { - iMaMatem = PartOrUpgradeUnlock + item = PartOrUpgradeUnlock } } EFFECT diff --git a/GameData/RP-1/Strategies/Leaders/LeadersSubcontractors.cfg b/GameData/RP-1/Strategies/Leaders/LeadersSubcontractors.cfg index b9e1f202868..865562a1803 100644 --- a/GameData/RP-1/Strategies/Leaders/LeadersSubcontractors.cfg +++ b/GameData/RP-1/Strategies/Leaders/LeadersSubcontractors.cfg @@ -34,7 +34,8 @@ STRATEGY currency = Funds multiplier = 0.95 flipPositive = true - transactionReasons { + transactionReasons + { item = SalaryResearchers } } From 7711ff36b7543d7a1611131cd23770a0927409cd Mon Sep 17 00:00:00 2001 From: siimav Date: Sat, 28 Sep 2024 18:45:07 +0300 Subject: [PATCH 16/17] Add Hydrolox tag definition. However has no effect on launch cost. --- GameData/RP-1/SCMData/CostModifiers.cfg | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/GameData/RP-1/SCMData/CostModifiers.cfg b/GameData/RP-1/SCMData/CostModifiers.cfg index 6e95b3cb711..d0f4cb9fc53 100644 --- a/GameData/RP-1/SCMData/CostModifiers.cfg +++ b/GameData/RP-1/SCMData/CostModifiers.cfg @@ -43,7 +43,7 @@ KCTTAGS displayName = Human-Rated partMult = 1.25 globalMult = 1.25 - isHumanRating = True + isHumanRating = True desc = Has human-rated equipment that requires more time for integration and testing of the entire craft. } VALUE @@ -96,6 +96,12 @@ KCTTAGS desc = Has toxic propellants that need to be handled carefully prior to launch. } VALUE + { + name = Hydrolox + displayName = Hydrolox + desc = Currently, no effect on launch cost. + } + VALUE { name = Cryogenic displayName = Cryo Propellants From be9523cedc7f9c5bbb89a4de51a7107fb748bd17 Mon Sep 17 00:00:00 2001 From: siimav Date: Sat, 28 Sep 2024 19:46:06 +0300 Subject: [PATCH 17/17] Don't check blocking tech when incrementing tech node progress. There are already checks in place that prevent nodes getting moved above the prereqs. --- Source/RP0/SpaceCenter/Projects/ResearchProject.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Source/RP0/SpaceCenter/Projects/ResearchProject.cs b/Source/RP0/SpaceCenter/Projects/ResearchProject.cs index eebe06b51ac..d83d834d265 100644 --- a/Source/RP0/SpaceCenter/Projects/ResearchProject.cs +++ b/Source/RP0/SpaceCenter/Projects/ResearchProject.cs @@ -238,10 +238,6 @@ public double GetTimeLeftEst(double offset) public double IncrementProgress(double UTDiff) { - // Don't progress blocked items - if (GetBlockingTech() != null) - return 0d; - double bR = BuildRate; if (bR == 0d && PresetManager.Instance.ActivePreset.GeneralSettings.TechUnlockTimes) return 0d;