From 54f2c6f17e1ae404afecf975fea13cc807a95e97 Mon Sep 17 00:00:00 2001 From: CXG-2827 Date: Fri, 17 Jan 2025 13:46:33 -0600 Subject: [PATCH] Rename to match format of Early Stations --- .../ExtLunarOrbRdvz90.cfg | 153 +++++++++++ .../InitialLunarHabitation.cfg | 260 ++++++++++++++++++ .../LunarOrbitalLab.cfg | 119 ++++++++ GameData/RP-1/Contracts/Groups.cfg | 40 +-- GameData/RP-1/Programs/Programs.cfg | 13 +- 5 files changed, 561 insertions(+), 24 deletions(-) create mode 100644 GameData/RP-1/Contracts/Early Lunar Habitation/ExtLunarOrbRdvz90.cfg create mode 100644 GameData/RP-1/Contracts/Early Lunar Habitation/InitialLunarHabitation.cfg create mode 100644 GameData/RP-1/Contracts/Early Lunar Habitation/LunarOrbitalLab.cfg diff --git a/GameData/RP-1/Contracts/Early Lunar Habitation/ExtLunarOrbRdvz90.cfg b/GameData/RP-1/Contracts/Early Lunar Habitation/ExtLunarOrbRdvz90.cfg new file mode 100644 index 00000000000..950a6be10ae --- /dev/null +++ b/GameData/RP-1/Contracts/Early Lunar Habitation/ExtLunarOrbRdvz90.cfg @@ -0,0 +1,153 @@ +CONTRACT_TYPE +{ + name = ExtLunarOrbRdvz90 + title = 90-Day Extended Lunar Orbital Rendezvous + group = EarlyLunarHabitation + + + description = Program: Early Lunar Habitation
Type: CAPSTONE


To prepare for interplanetary crewed exploration as well as matured Lunar surface habitation, the ability to maintain a dormant command module in orbit while crew operates on the surface for several months needs to be tested. Design and launch a spacecraft with at least three crew members to enter orbit at the Moon. Descend to the Lunar surface for a 90-day stay with a lunar taxi before returning back to the command module in orbit. Then, return safely to Earth. + + synopsis = Perform a 90 day Lunar stay with 3 crew, and rendezvous with the command module in Lunar orbit to then return back to Earth. + + completedMessage = Crew alive and well after the mission--congratulations! + + sortKey = 708 + + cancellable = true + declinable = false + autoAccept = false + minExpiry = 0 + maxExpiry = 0 + maxCompletions = 1 + maxSimultaneous = 1 + deadline = 0 + + targetBody = Moon + + + // ************ REWARDS ************ + prestige = Trivial // 1.0x + advanceFunds = 0 + rewardScience = 0 + rewardFunds = 0 + failureFunds = 0 + rewardReputation = 800 // was 100 + failureReputation = 0 // was @rewardReputation // was 100 + + + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = EarlyLunarHabitation + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = crewedLunar30 + } + + PARAMETER + { + name = VesselGroup + type = VesselParameterGroup + title = Enter orbit of @targetBody + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = ThreeCrew + type = HasCrew + minCrew = 3 + crewOnly = true + title = Have at least 3 crewmember on board + hideChildren = true + } + + PARAMETER + { + name = Orbit + type = Orbit + disableOnStateChange = true + title = Achieve lunar orbit with the crew + + PARAMETER + { + name = Duration + type = Duration + + duration = 2m + + preWaitText = Check for stable orbit + waitingText = Checking for stable orbit + completionText = Stable orbit: Confirmed + } + } + + PARAMETER + { + name = LandCrewed + type = All + title = Land the crewed lander + disableOnStateChange = true + + PARAMETER + { + name = ThreeCrew + type = HasCrew + minCrew = 3 + maxCrew = 99 + title = Land with at least 3 crew + hideChildren = true + } + + PARAMETER + { + name = OrbitWrapper + title = Stay on the Moon for the specified duration + type = All + disableOnStateChange = true + completeInSequence = true + + PARAMETER + { + name = LandOnMoon + type = ReachState + targetBody = Moon + situation = LANDED + } + + PARAMETER + { + name = Duration + type = Duration + duration = 90d + preWaitText = Land on the moon + WaitingText = Exploring... + completionText = Exploration complete, you may return to Earth when ready. + } + } + } + + PARAMETER + { + name = ReturnHome + type = RP1ReturnHome + title = Return home safely + hideChildren = true + completeInSequence = true + } + } +} diff --git a/GameData/RP-1/Contracts/Early Lunar Habitation/InitialLunarHabitation.cfg b/GameData/RP-1/Contracts/Early Lunar Habitation/InitialLunarHabitation.cfg new file mode 100644 index 00000000000..33420e421a7 --- /dev/null +++ b/GameData/RP-1/Contracts/Early Lunar Habitation/InitialLunarHabitation.cfg @@ -0,0 +1,260 @@ +CONTRACT_TYPE +{ + name = LEMShelter + title = Crewed 14-Day Lunar Mission + group = EarlyLunarHabitation + + description = Program: Crewed Lunar Habitation

Previous crewed lunar mission requirements were short in duration, no more than a few days. Much longer stays will be required in order to one day place a permanent installation on the Moon. This mission will conduct the first long-duration planetary habitat experiment to validate the technology for further afar crewed exploration in the future.

This mission can be completed in numerous ways. Whether Apollo-style with a Lunar Orbit Rendezvous, as a Lunar Direct mission with no orbiter, or by sending a separate presupply mission ahead of your crew, the choice is yours. However, follow-on missions will require longer stays and larger crews, so plan accordingly. A separate pre-supply mission is available should you choose to use that mission profile. + + synopsis = Land a crew on the Moon, stay for 14 days, then return them safely to Earth + + completedMessage = Congratulations! You have completed the first step to a lasting crewed presence on the Moon. + + cancellable = true + declinable = false + autoAccept = false + minExpiry = 0 + maxExpiry = 0 + maxCompletions = 1 + maxSimultaneous = 1 + deadline = 0 + + targetBody = Moon + + + // ************ REWARDS ************ + prestige = Trivial // 1.0x + advanceFunds = 0 + rewardScience = 0 + rewardFunds = 0 + failureFunds = 0 + rewardReputation = 1500 // was 400 + failureReputation = 0 // was @rewardReputation // was 400 + + + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = EarlyLunarHabitation + } + + PARAMETER + { + name = VesselGroup + type = VesselParameterGroup + title = Extended Duration Moon Landing + define = ExtendedMoonLanding + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + PARAMETER + { + name = ThreeCrew + type = HasCrew + minCrew = 2 + maxCrew = 99 + title = Have at least 2 crew on board + hideChildren = true + } + + PARAMETER + { + name = LandCrewed + type = All + title = Land the crewed lander + disableOnStateChange = true + + PARAMETER + { + name = TwoCrew + type = HasCrew + minCrew = 2 + maxCrew = 99 + title = Land with at least 2 crew + hideChildren = true + } + + PARAMETER + { + name = OrbitWrapper + title = Stay on the Moon for the specified duration + type = All + disableOnStateChange = true + completeInSequence = true + + PARAMETER + { + name = LandOnMoon + type = ReachState + targetBody = Moon + situation = LANDED + } + + PARAMETER + { + name = Duration + type = Duration + duration = 14d + preWaitText = Land on the moon + WaitingText = Exploring... + completionText = Exploration complete, you may return to Earth when ready. + } + } + } + PARAMETER + { + name = ReturnHome + type = RP1ReturnHome + title = Return home safely + hideChildren = true + completeInSequence = true + } + } +} + +CONTRACT_TYPE +{ + name = LargeLunarShelter + title = Crewed 30-Day Lunar Mission + group = EarlyLunarHabitation + + description = Program: Early Lunar Habitation

With a 14-day crewed Lunar mission now complete, it's time to increase the crew size and extend the time the crew spends on the moon. Send at least 3 crew to the Moon for 30 days. Previously landed infrastructure can be used, and a resupply mission can be sent if your mission profile requires it. + + synopsis = Land a crew on the Moon, complete 30 days of science experimentation and exploration, then return them safely to Earth + + completedMessage = Congratulations! You have completed the first step to a lasting crewed presence on the Moon. + + cancellable = true + declinable = false + autoAccept = false + minExpiry = 0 + maxExpiry = 0 + maxCompletions = 1 + maxSimultaneous = 1 + deadline = 0 + + targetBody = Moon + + + // ************ REWARDS ************ + prestige = Trivial // 1.0x + advanceFunds = 0 + rewardScience = 0 + rewardFunds = 0 + failureFunds = 0 + rewardReputation = 2000 // was 400 + failureReputation = 0 // was @rewardReputation // was 400 + + + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = EarlyLunarHabitation + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = crewedLunar14 + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = first_spaceStation + } + + PARAMETER + { + name = VesselGroup + type = VesselParameterGroup + title = Extended Duration Moon Landing + define = ExtendedMoonLanding + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + PARAMETER + { + name = ThreeCrew + type = HasCrew + minCrew = 3 + maxCrew = 99 + title = Have at least 3 crew on board + hideChildren = true + } + + PARAMETER + { + name = LandCrewed + type = All + title = Land the crewed lander + disableOnStateChange = true + + PARAMETER + { + name = TwoCrew + type = HasCrew + minCrew = 3 + maxCrew = 99 + title = Land with at least 3 crew + hideChildren = true + } + + PARAMETER + { + name = OrbitWrapper + title = Stay on the Moon for the specified duration + type = All + disableOnStateChange = true + completeInSequence = true + + PARAMETER + { + name = LandOnMoon + type = ReachState + targetBody = Moon + situation = LANDED + } + + PARAMETER + { + name = Duration + type = Duration + duration = 30d + preWaitText = Land on the moon + WaitingText = Exploring... + completionText = Exploration complete, you may return to Earth when ready. + } + } + } + + PARAMETER + { + name = ReturnHome + type = RP1ReturnHome + title = Return home safely + hideChildren = true + completeInSequence = true + } + } +} diff --git a/GameData/RP-1/Contracts/Early Lunar Habitation/LunarOrbitalLab.cfg b/GameData/RP-1/Contracts/Early Lunar Habitation/LunarOrbitalLab.cfg new file mode 100644 index 00000000000..bc614e66997 --- /dev/null +++ b/GameData/RP-1/Contracts/Early Lunar Habitation/LunarOrbitalLab.cfg @@ -0,0 +1,119 @@ +CONTRACT_TYPE +{ + name = LunarOrbitalLab + title = Crewed 28-day Lunar Polar Orbit + group = EarlyLunarHabitation + + + description = Program: Early Lunar Habitation
Type: Optional


Design and launch a spacecraft with at least three crew members to enter a polar orbit at Moon for at least 28 days and return safely to Earth. Perform the required experiments, and return the samples with the crew to Earth. + + synopsis = Send crew to a polar orbit around the Moon, orbit for 28 days, and return with the experiment samples + + completedMessage = Crew alive and well after the mission--congratulations! + + sortKey = 708 + + cancellable = true + declinable = false + autoAccept = false + minExpiry = 0 + maxExpiry = 0 + maxCompletions = 1 + maxSimultaneous = 1 + deadline = 0 + + targetBody = Moon + + + // ************ REWARDS ************ + prestige = Trivial // 1.0x + advanceFunds = 0 + rewardScience = 0 + rewardFunds = 0 + failureFunds = 0 + rewardReputation = 800 // was 100 + failureReputation = 0 // was @rewardReputation // was 100 + + + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = EarlyLunarHabitation + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = first_spaceStation + } + + PARAMETER + { + name = VesselGroup + type = VesselParameterGroup + title = crewed polar orbit of @targetBody + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = ThreeCrew + type = HasCrew + minCrew = 3 + crewOnly = true + title = Have at least 3 crewmember on board + hideChildren = true + } + + PARAMETER + { + name = OrbitWrapper + title = Stay in specified orbit for 28 Days + type = All + disableOnStateChange = true + completeInSequence = true + + PARAMETER + { + name = MoonOrbit + type = Orbit + maxPeA = 200000 // relatively circular + maxApA = 500000 // relatively circular + minInclination = 85 + maxInclination = 95 + targetBody = Moon + title = Reach a polar orbit of the Moon with a maximum periselene of 200 km and a maximum aposelene of 500 km and hold it for at least 28 days + } + + PARAMETER + { + name = Duration + type = Duration + duration = 28d + preWaitText = Reach specified orbit + waitingText = Orbiting... + completionText = Orbits are complete, you may return to Earth when ready + } + } + + PARAMETER + { + name = ReturnHome + type = RP1ReturnHome + title = Return home safely + hideChildren = true + completeInSequence = true + } + } +} diff --git a/GameData/RP-1/Contracts/Groups.cfg b/GameData/RP-1/Contracts/Groups.cfg index 594945cf8a9..72ac2badc46 100644 --- a/GameData/RP-1/Contracts/Groups.cfg +++ b/GameData/RP-1/Contracts/Groups.cfg @@ -168,11 +168,19 @@ CONTRACT_GROUP agent = Stations } CONTRACT_GROUP + { + name = EarlyLunarHabitation + displayName = Lunar Habitation + minVersion = 1.12.2 + sortKey = 29 + agent = Base Construction + } + CONTRACT_GROUP { name = MartianSurfaceExploration displayName = Mars Surface Exploration minVersion = 1.12.2 - sortKey = 29 + sortKey = 30 agent = Exploration } CONTRACT_GROUP @@ -180,7 +188,7 @@ CONTRACT_GROUP name = VenusSurfaceExp displayName = Venus Surface Exploration minVersion = 1.12.2 - sortKey = 30 + sortKey = 31 agent = Exploration } CONTRACT_GROUP @@ -189,14 +197,14 @@ CONTRACT_GROUP displayName = Small Bodies Flyby agent = Exploration minVersion = 1.12.2 - sortKey = 31 + sortKey = 32 } CONTRACT_GROUP { name = MercuryExploration displayName = Mercury Exploration minVersion = 1.12.2 - sortKey = 32 + sortKey = 33 agent = Exploration } CONTRACT_GROUP @@ -204,7 +212,7 @@ CONTRACT_GROUP name = AsteroidExploration displayName = Asteroid Exploration minVersion = 1.12.2 - sortKey = 33 + sortKey = 34 agent = Exploration } CONTRACT_GROUP @@ -212,7 +220,7 @@ CONTRACT_GROUP name = JupiterObservation displayName = Jupiter Observation minVersion = 1.12.2 - sortKey = 34 + sortKey = 35 agent = Exploration } CONTRACT_GROUP @@ -220,7 +228,7 @@ CONTRACT_GROUP name = JupiterMoonLandings displayName = Jovian Moon Landings minVersion = 1.12.2 - sortKey = 35 + sortKey = 36 agent = Surveys } CONTRACT_GROUP @@ -228,7 +236,7 @@ CONTRACT_GROUP name = SaturnObservation displayName = Saturn Observation minVersion = 1.12.2 - sortKey = 36 + sortKey = 37 agent = Exploration } CONTRACT_GROUP @@ -236,7 +244,7 @@ CONTRACT_GROUP name = SaturnMoonLandings displayName = Saturine Moon Landings minVersion = 1.12.2 - sortKey = 37 + sortKey = 38 agent = Surveys } CONTRACT_GROUP @@ -244,7 +252,7 @@ CONTRACT_GROUP name = OuterPlanetFlyby displayName = Outer Planet Flybys minVersion = 1.12.2 - sortKey = 38 + sortKey = 39 agent = Exploration } CONTRACT_GROUP @@ -252,7 +260,7 @@ CONTRACT_GROUP name = OuterGasGiantSurvey displayName = Outer Gas Giant Survey minVersion = 1.12.2 - sortKey = 39 + sortKey = 40 agent = Surveys } CONTRACT_GROUP @@ -260,16 +268,8 @@ CONTRACT_GROUP name = PlutoLandings displayName = Plutonian Landings minVersion = 1.12.2 - sortKey = 40 - agent = Surveys - } - CONTRACT_GROUP - { - name = LunarHabitation - displayName = Lunar Habitation - minVersion = 1.12.2 sortKey = 41 - agent = Base Construction + agent = Surveys } CONTRACT_GROUP { diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg index 3c52911bbd3..72c8cb647e9 100644 --- a/GameData/RP-1/Programs/Programs.cfg +++ b/GameData/RP-1/Programs/Programs.cfg @@ -1044,14 +1044,15 @@ RP0_PROGRAM_MODIFIER RP0_PROGRAM { - name = LunarHabitation + name = EarlyLunarHabitation isHSF = true title = Longterm Lunar Habitation - description = The Apollo program proved humans could safely land on another planetary body in the solar system, operate there for a short period of time, and return home. This program further develops the technology required to spend longer periods of time on the Lunar surface before attempting a crewed Mars surface mission. + description = The Crewed Lunar program proved humans could safely land on another planetary body in the solar system, operate there for a short period of time, and return home. This program further develops the technology required to spend longer periods of time on the Lunar surface before attempting a crewed Mars surface mission. requirementsPrettyText = Have completed the Crewed Lunar Expedition objectivesPrettyText = Complete Lunar surface experiments and exploration nominalDurationYears = 10 baseFunding = 20000000 + fundingCurve = Flat repDeltaOnCompletePerYearEarly = 1505 repPenaltyPerYearLate = 1505 repToConfidence = 3 @@ -1061,19 +1062,23 @@ RP0_PROGRAM { ANY { - complete_program = EarlyEarthSpaceStation complete_program = CrewedLunar + }ANY + { + active_program = EarlyEarthSpaceStation + complete_program = EarlyEarthSpaceStation } } OBJECTIVES { complete_contract = LEMShelter complete_contract = LargeLunarShelter - complete_contract = Lunar90 + complete_contract = ExtLunarOrbRdvz90 } OPTIONALS { + LunarOrbitalLab = true Lunar180 = true LunarGateway = true NuclearTug = true