diff --git a/GameData/RP-1/Contracts/Early Lunar Habitation/LunarHabitation180D.cfg b/GameData/RP-1/Contracts/Early Lunar Habitation/LunarHabitation180D.cfg new file mode 100644 index 00000000000..b54c15906c3 --- /dev/null +++ b/GameData/RP-1/Contracts/Early Lunar Habitation/LunarHabitation180D.cfg @@ -0,0 +1,153 @@ +CONTRACT_TYPE +{ + name = LunarHabitation180D + title = Crewed 30-Day Lunar Mission + 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 180 day Lunar stay with 6 crew, then return them back to Earth safely. + + completedMessage = Congratulations! We have proved our long-duration, high-capacity lunar habitation designs. This work provides excellent insight into what it takes to live in space for a long time. Perhaps in the future, we can permanently inhabit the Moon. + + 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 = LunarHabitationRDVZ90D + } + + 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/LunarHabitation30D.cfg b/GameData/RP-1/Contracts/Early Lunar Habitation/LunarHabitation30D.cfg new file mode 100644 index 00000000000..13b59322a96 --- /dev/null +++ b/GameData/RP-1/Contracts/Early Lunar Habitation/LunarHabitation30D.cfg @@ -0,0 +1,137 @@ +CONTRACT_TYPE +{ + name = LunarHabitation30D + 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! We have successfully completed a month-long stay on the Moon, further improving our understanding and ability to live on another world. + + 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 = LunarShelter14D + } + + 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/LunarHabitationRDVZ90D.cfg b/GameData/RP-1/Contracts/Early Lunar Habitation/LunarHabitationRDVZ90D.cfg new file mode 100644 index 00000000000..3ad38166355 --- /dev/null +++ b/GameData/RP-1/Contracts/Early Lunar Habitation/LunarHabitationRDVZ90D.cfg @@ -0,0 +1,153 @@ +CONTRACT_TYPE +{ + name = LunarHabitationRDVZ90D + title = 90-Day Extended Lunar Orbital Rendezvous + group = EarlyLunarHabitation + + + description = Program: Early Lunar Habitation

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 = LunarHabitation30D + } + + 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/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/Early Lunar Habitation/LunarShelter14D.cfg b/GameData/RP-1/Contracts/Early Lunar Habitation/LunarShelter14D.cfg new file mode 100644 index 00000000000..5c0a4518bd7 --- /dev/null +++ b/GameData/RP-1/Contracts/Early Lunar Habitation/LunarShelter14D.cfg @@ -0,0 +1,122 @@ +CONTRACT_TYPE +{ + name = LunarShelter14D + 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 of 2 on the Moon, stay for 14 days, then return them safely to Earth + + completedMessage = Congratulations! We have improved our lunar technology and successfully executed a two-week stay. This completes the first step of learning to live 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 = TwoCrew + 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 + } + } +} \ No newline at end of file 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 77950db6611..7324e71c107 100644 --- a/GameData/RP-1/Programs/Programs.cfg +++ b/GameData/RP-1/Programs/Programs.cfg @@ -1041,6 +1041,58 @@ RP0_PROGRAM_MODIFIER } } + +RP0_PROGRAM +{ + name = EarlyLunarHabitation + isHSF = true + title = Longterm Lunar Habitation + 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 longer stays and advanced science on the Moon, culminating in a 6-month long-term habitation project. + nominalDurationYears = 6 + baseFunding = 15000000 + fundingCurve = Flat + repDeltaOnCompletePerYearEarly = 1505 + repPenaltyPerYearLate = 1505 + repToConfidence = 3 + slots = 4 + + REQUIREMENTS + { + ANY + { + complete_program = CrewedLunar + } + ANY + { + active_program = EarlyEarthSpaceStation + complete_program = EarlyEarthSpaceStation + } + } + OBJECTIVES + { + complete_contract = LunarShelter14D + complete_contract = LunarHabitation30D + complete_contract = LunarHabitationRDVZ90D + complete_contract = LunarHabitation180D + } + + OPTIONALS + { + LunarOrbitalLab =true + MOLAB = true + LunarGateway = true + NuclearTug = true + } + + CONFIDENCECOSTS + { + Normal = 13350 + Fast = 26700 + } +} + RP0_PROGRAM { name = MarsSurfaceExp @@ -1652,41 +1704,6 @@ RP0_PROGRAM } } -disabled_RP0_PROGRAM -{ - name = LunarHabitation - isHSF = true - title = Lunar Habitation (No Content Yet) - description = TODO: write up a program description - requirementsPrettyText = Complete contracts X and Y - objectivesPrettyText = Do this and that - nominalDurationYears = 10 - baseFunding = 20000000 - repDeltaOnCompletePerYearEarly = 1505 - repPenaltyPerYearLate = 1505 - repToConfidence = 3 - slots = 5 - - REQUIREMENTS - { - ANY - { - complete_program = EarthSpaceStation - complete_program = CrewedLunar - } - } - - OBJECTIVES - { - complete_contract = TODO - } - - CONFIDENCECOSTS - { - Normal = 13350 - Fast = 26700 - } -} disabled_RP0_PROGRAM {