Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Lunar Habitation Program #2450

Draft
wants to merge 14 commits into
base: master
Choose a base branch
from
40 changes: 20 additions & 20 deletions GameData/RP-1/Contracts/Groups.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -144,19 +144,27 @@ CONTRACT_GROUP
agent = Stations
}
CONTRACT_GROUP
{
name = LunarHabitation
displayName = Lunar Habitation
minVersion = 1.12.2
sortKey = 27
agent = Base Construction
}
CONTRACT_GROUP
{
name = MartianSurfaceExploration
displayName = Mars Surface Exploration
minVersion = 1.12.2
sortKey = 27
sortKey = 28
agent = Exploration
}
CONTRACT_GROUP
{
name = VenusSurfaceExp
displayName = Venus Surface Exploration
minVersion = 1.12.2
sortKey = 28
sortKey = 29
agent = Exploration
}
CONTRACT_GROUP
Expand All @@ -165,87 +173,79 @@ CONTRACT_GROUP
displayName = Small Bodies Flyby
agent = Exploration
minVersion = 1.12.2
sortKey = 29
sortKey = 30
}
CONTRACT_GROUP
{
name = MercuryExploration
displayName = Mercury Exploration
minVersion = 1.12.2
sortKey = 30
sortKey = 31
agent = Exploration
}
CONTRACT_GROUP
{
name = AsteroidExploration
displayName = Asteroid Exploration
minVersion = 1.12.2
sortKey = 31
sortKey = 32
agent = Exploration
}
CONTRACT_GROUP
{
name = JupiterObservation
displayName = Jupiter Observation
minVersion = 1.12.2
sortKey = 32
sortKey = 33
agent = Exploration
}
CONTRACT_GROUP
{
name = JupiterMoonLandings
displayName = Jovian Moon Landings
minVersion = 1.12.2
sortKey = 33
sortKey = 34
agent = Surveys
}
CONTRACT_GROUP
{
name = SaturnObservation
displayName = Saturn Observation
minVersion = 1.12.2
sortKey = 34
sortKey = 35
agent = Exploration
}
CONTRACT_GROUP
{
name = SaturnMoonLandings
displayName = Saturine Moon Landings
minVersion = 1.12.2
sortKey = 35
sortKey = 36
agent = Surveys
}
CONTRACT_GROUP
{
name = OuterPlanetFlyby
displayName = Outer Planet Flybys
minVersion = 1.12.2
sortKey = 36
sortKey = 37
agent = Exploration
}
CONTRACT_GROUP
{
name = OuterGasGiantSurvey
displayName = Outer Gas Giant Survey
minVersion = 1.12.2
sortKey = 37
sortKey = 38
agent = Surveys
}
CONTRACT_GROUP
{
name = PlutoLandings
displayName = Plutonian Landings
minVersion = 1.12.2
sortKey = 38
agent = Surveys
}
CONTRACT_GROUP
{
name = LunarHabitation
displayName = Lunar Habitation
minVersion = 1.12.2
sortKey = 39
agent = Base Construction
agent = Surveys
}
CONTRACT_GROUP
{
Expand Down
246 changes: 246 additions & 0 deletions GameData/RP-1/Contracts/Lunar Habitation/InitialLunarHabitation.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
CONTRACT_TYPE
{
name = crewedLunar14
title = Crewed 14-Day Lunar Mission
group = LunarHabitation

description = <b>Program: Crewed Lunar Habitation</b><br><br>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.<br><br>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 = LunarHabitation
}

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 = 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 = crewedLunar30
title = Crewed 30-Day Lunar Mission
group = LunarHabitation

description = <b>Program: Crewed Lunar Habitation</b><br><br>With a 14-day crewed Lunar mission now complete, it's time to extend the time a crew spends on the moon. Send at least 2 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 = 1500 // was 400
failureReputation = 0 // was @rewardReputation // was 400



// ************ REQUIREMENTS ************

REQUIREMENT
{
name = ProgramActive
type = ProgramActive
program = LunarHabitation
}

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 = 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
}
}
}
Loading