Skip to content

Crewed Mars Program #2422

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

Open
wants to merge 24 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
3912bd8
Add Program and base folder edits
CXG-2827 Jun 7, 2024
baebbbe
Merge branch 'KSP-RO:master' into CrewedMars
CXG-2827 Aug 1, 2024
86d6f0a
Altered Program and Contracts
CXG-2827 Aug 1, 2024
bbd32a1
Crewed Mars Program and Contract Further Tweaks
CXG-2827 Aug 3, 2024
93bb04c
Corrected Contract Group and Tweaked Program
CXG-2827 Aug 3, 2024
dc3d8bc
Fix contracts again
CXG-2827 Aug 3, 2024
f61a4ab
Contract Fixes once again
CXG-2827 Aug 3, 2024
d1855af
Merge branch 'KSP-RO:master' into CrewedMars
CXG-2827 Aug 3, 2024
05a01ef
Further tweaks to Program and Contracts
CXG-2827 Aug 6, 2024
d08a2dd
Mars Crewed Contract Corrections
CXG-2827 Aug 6, 2024
060fc2b
Tweaks Continue
CXG-2827 Aug 6, 2024
26b7e1d
Merge branch 'KSP-RO:master' into CrewedMars
CXG-2827 Aug 13, 2024
5b9522c
Working Crewed Sample Science and Reduced Program Funding
CXG-2827 Aug 19, 2024
68a0333
Fixed Crewed Mars Landing Error
CXG-2827 Aug 19, 2024
546af23
missing brackets
CXG-2827 Aug 20, 2024
9ec1a79
Merge branch 'KSP-RO:master' into CrewedMars
CXG-2827 Aug 28, 2024
fb69683
Working mars sample return contract
CXG-2827 Aug 28, 2024
3a69513
Updated Crewed Mars Contracts
CXG-2827 Oct 1, 2024
5b40fd7
Merge branch 'KSP-RO:master' into CrewedMars
CXG-2827 Oct 1, 2024
4776567
Updated Funding and Curve
CXG-2827 Oct 1, 2024
d7082b7
Merge branch 'KSP-RO:master' into CrewedMars
CXG-2827 Nov 29, 2024
806c769
Contract Edits and Gating Mars Landing
CXG-2827 Nov 29, 2024
4203db9
Removed Orbit Gating Added Flag Planting
CXG-2827 Feb 28, 2025
9d152e6
Formatting fixes
CXG-2827 May 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 104 additions & 0 deletions GameData/RP-1/Contracts/Mars Crewed/DeimosLandingCrew.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
CONTRACT_TYPE
{
name = DeimosLandingCrew
title = Deimos Landing (Crewed)
group = CrewedMarsExp
agent = Flag Planting

description = <b>Program: Crewed Mars Exploration<br>Type: <color=blue>Optional</color></b><br><br>Some of our scientists and engineers believe that we should land humans on Deimos as part of the mission architecture for Mars.&br;&br;Design a mission that will successfully land at least two humans on Deimos and return safely to Earth.

synopsis = Send a crew to land on the surface of Deimos and return home safely

completedMessage = Congratulations! Landing on Deimos is an amazing accomplishment!

sortKey = 1611

cancellable = true
declinable = true
autoAccept = false
minExpiry = 0
maxExpiry = 0
maxCompletions = 0
maxSimultaneous = 1
deadline = 0

targetBody = Deimos



prestige = Trivial // 1.0x
advanceFunds = 0
rewardScience = 0
rewardReputation = 1500
rewardFunds = 0
failureReputation = 0
failureFunds = 0

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

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

PARAMETER
{
name = vesselGroup
type = VesselParameterGroup
title = Crewed Deimos Landing
define = CrewedDeimosLanding

PARAMETER
{
name = TwoCrew
type = HasCrew
minCrew = 2
maxCrew = 99
title = Have at least 2 crewmembers on board
hideChildren = true
}
PARAMETER
{
name = LandCrewed
type = All
title = Land the crewed lander

PARAMETER
{
name = TwoCrew
type = HasCrew
minCrew = 2
maxCrew = 99
title = Have at least 2 crewmembers on board
hideChildren = true
}
PARAMETER
{
name = ReachState
type = ReachState
targetBody = Deimos
situation = LANDED
PARAMETER
{
name = Duration
type = Duration
duration = 12h
preWaitText = Land on Deimos.
waitingText = Exploring...
completionText = Exploration completed, you may return to Earth when ready.
}
}
disableOnStateChange = true
}
PARAMETER
{
name = ReturnHome
type = RP1ReturnHome
title = Return Home Safely
hideChildren = true
completeInSequence = true
}
}
}
135 changes: 135 additions & 0 deletions GameData/RP-1/Contracts/Mars Crewed/FirstCrewedMarsLanding.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
CONTRACT_TYPE
{
name = FirstCrewedMarsLanding
title = First Crewed Mars Landing
group = CrewedMarsExp
agent = Flag Planting

description = <b>Program: Crewed Mars Exploration<br>Type: <color=green>Required</color></b><br><br>We want to put "Boots on the Ground" and explore the surface of Mars with humans. This mission will be the most ambitious, complex and expensive mission ever undertaken by our space agency.&br;&br;Design a mission that will successfully land at least two humans on Mars, stay for at least 30 days and return safely to Earth.

synopsis = Send a crew to land on the surface of Mars and return home safely

completedMessage = Congratulations! Human beings have set foot on another planet in our Solar System. The monumental task that you have accomplished is something to be proud of!

sortKey = 1605

cancellable = true
declinable = false
autoAccept = false
minExpiry = 0
maxExpiry = 0
maxCompletions = 1
maxSimultaneous = 1
deadline = 0

targetBody = Mars



prestige = Trivial // 1.0x
advanceFunds = 0
rewardScience = 0
rewardReputation = 4000
rewardFunds = 0
failureReputation = 0
failureFunds = 0

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

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

REQUIREMENT
{
name = CompleteContract
type = CompleteContract
contractType = CrewedPhobosLandingSurfaceScience
invertRequirement = true
}

REQUIREMENT
{
name = AcceptContract
type = AcceptContract
contractType = CrewedPhobosLandingSurfaceScience
invertRequirement = true
}

REQUIREMENT
{
name = CompleteContract
type = CompleteContract
contractType = MarsRoboticSampleReturn
invertRequirement = true
}

REQUIREMENT
{
name = AcceptContract
type = AcceptContract
contractType = MarsRoboticSampleReturn
invertRequirement = true
}
PARAMETER
{
name = vesselGroup
type = VesselParameterGroup
title = First Crewed Mars Landing
define = CrewedMarsLanding

PARAMETER
{
name = TwoCrew
type = HasCrew
minCrew = 2
maxCrew = 99
title = Have at least 2 crewmembers on board
hideChildren = true
}
PARAMETER
{
name = LandCrewed
type = All
title = Land the crewed lander
PARAMETER
{
name = TwoCrew
type = HasCrew
minCrew = 2
maxCrew = 99
title = Have at least 2 crewmembers on board
hideChildren = true
}
PARAMETER
{
name = ReachState
type = ReachState
targetBody = Mars
situation = LANDED
PARAMETER
{
name = Duration
type = Duration
duration = 30d
preWaitText = Land on Mars.
waitingText = Exploring...
completionText = Exploration completed, you may return to Earth when ready.
}
}
disableOnStateChange = true
}
PARAMETER
{
name = PlantFlagOnMars
type = PlantFlag
targetBody = Mars
title = Plant a flag on Mars! Don't forget the picture
hideChildren = true
disableOnStateChange = true
}
}
}
104 changes: 104 additions & 0 deletions GameData/RP-1/Contracts/Mars Crewed/FirstCrewedMarsOrbit.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
CONTRACT_TYPE
{
name = FirstCrewedMarsOrbit
title = First Crewed Mars Orbit
group = CrewedMarsExp
agent = Flag Planting

description = <b>Program: Crewed Mars Exploration<br>Type: <color=green>Required</color></b><br><br>Design and successfully launch a craft that can carry at least four crew into orbit around Mars and return them safely to Earth.

synopsis = Fly the first Crewed Mars Orbit mission

completedMessage = Congratulations on safely returning the first humans to orbit around Mars!

sortKey = 1603

cancellable = true
declinable = false
autoAccept = false
minExpiry = 0
maxExpiry = 0
maxCompletions = 1
maxSimultaneous = 1
deadline = 0

targetBody = Mars



prestige = Trivial // 1.0x
advanceFunds = 0
rewardScience = 0
rewardReputation = 1000
rewardFunds = 0
failureReputation = 0
failureFunds = 0

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

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


// ************ PARAMETERS ************

PARAMETER
{
name = VesselGroup
type = VesselParameterGroup
title = First crewed orbit of @targetBody

PARAMETER
{
name = NewVessel
type = NewVessel
title = Launch a new vessel
hideChildren = true
}

PARAMETER
{
name = HasCrew
type = HasCrew
minCrew = 4
crewOnly = true
title = Have at least 4 crew members on board
hideChildren = true
}

PARAMETER
{
name = MarsOrbit
title = Reach orbit of the Mars with a maximum pe of 400 km and a maximum ap of 600 km and hold it for at least 7 days
type = Orbit
maxPeA = 400000 // relatively circular
maxApA = 600000 // relatively circular
targetBody = Mars
disableOnStateChange = true
completeInSequence = true

PARAMETER
{
name = Duration
type = Duration
duration = 7d
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
}
}

}
Loading