From a3ac792ad6ce63aba7fecdd0a45c39f72d684f0e Mon Sep 17 00:00:00 2001
From: NovemberOrWhatever
<104395162+NovemberOrWhatever@users.noreply.github.com>
Date: Sun, 6 Aug 2023 12:22:15 -0700
Subject: [PATCH] Add some landing contracts (#2155)
* Add some landing contracts
Still need to balance rewards
* Rebalance with feedback from Maxsimal
And enable relevant programs
* Actually, the programs aren't ready yet
NK is right
---
.../Asteroid Exploration/Ceres Landing.cfg | 91 +++++++++++++++++++
.../Asteroid Exploration/Vesta Landing.cfg | 91 +++++++++++++++++++
.../Jovian Moon Landings/Callisto Landing.cfg | 91 +++++++++++++++++++
.../Jovian Moon Landings/Europa Landing.cfg | 91 +++++++++++++++++++
.../Jovian Moon Landings/Ganymede Landing.cfg | 91 +++++++++++++++++++
.../Jovian Moon Landings/Io Landing.cfg | 91 +++++++++++++++++++
.../Saturnine Moon Landings/Dione Landing.cfg | 91 +++++++++++++++++++
.../Enceladus Landing.cfg | 91 +++++++++++++++++++
.../Iapetus Landing.cfg | 91 +++++++++++++++++++
.../Saturnine Moon Landings/Mimas Landing.cfg | 91 +++++++++++++++++++
.../Saturnine Moon Landings/Rhea Landing.cfg | 91 +++++++++++++++++++
.../Tethys Landing.cfg | 91 +++++++++++++++++++
.../Saturnine Moon Landings/Titan Landing.cfg | 91 +++++++++++++++++++
GameData/RP-1/Programs/Programs.cfg | 39 +++++++-
14 files changed, 1217 insertions(+), 5 deletions(-)
create mode 100644 GameData/RP-1/Contracts/Asteroid Exploration/Ceres Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Asteroid Exploration/Vesta Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Jovian Moon Landings/Callisto Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Jovian Moon Landings/Europa Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Jovian Moon Landings/Ganymede Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Jovian Moon Landings/Io Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Saturnine Moon Landings/Dione Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Saturnine Moon Landings/Enceladus Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Saturnine Moon Landings/Iapetus Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Saturnine Moon Landings/Mimas Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Saturnine Moon Landings/Rhea Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Saturnine Moon Landings/Tethys Landing.cfg
create mode 100644 GameData/RP-1/Contracts/Saturnine Moon Landings/Titan Landing.cfg
diff --git a/GameData/RP-1/Contracts/Asteroid Exploration/Ceres Landing.cfg b/GameData/RP-1/Contracts/Asteroid Exploration/Ceres Landing.cfg
new file mode 100644
index 00000000000..af2fcab386e
--- /dev/null
+++ b/GameData/RP-1/Contracts/Asteroid Exploration/Ceres Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingCeres
+ title = Ceres Landing (Uncrewed)
+ group = AsteroidExploration
+
+
+ description = Program: Asteroid Exploration
Type: Optional
Send a craft to land on Ceres and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Ceres and transmit science.
+
+ synopsis = Achieve a soft landing on Ceres and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Ceres and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Ceres
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 150
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = AsteroidExploration
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Ceres Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnCeres
+ type = ReachState
+ targetBody = Ceres
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Ceres
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Ceres
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Ceres
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Asteroid Exploration/Vesta Landing.cfg b/GameData/RP-1/Contracts/Asteroid Exploration/Vesta Landing.cfg
new file mode 100644
index 00000000000..c9af2fdbe9f
--- /dev/null
+++ b/GameData/RP-1/Contracts/Asteroid Exploration/Vesta Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingVesta
+ title = Vesta Landing (Uncrewed)
+ group = AsteroidExploration
+
+
+ description = Program: Asteroid Exploration
Type: Optional
Send a craft to land on Vesta and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Vesta and transmit science.
+
+ synopsis = Achieve a soft landing on Vesta and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Vesta and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Vesta
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 150
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = AsteroidExploration
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Vesta Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnVesta
+ type = ReachState
+ targetBody = Vesta
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Vesta
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Vesta
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Vesta
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Jovian Moon Landings/Callisto Landing.cfg b/GameData/RP-1/Contracts/Jovian Moon Landings/Callisto Landing.cfg
new file mode 100644
index 00000000000..1e784365133
--- /dev/null
+++ b/GameData/RP-1/Contracts/Jovian Moon Landings/Callisto Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingCallisto
+ title = Callisto Landing (Uncrewed)
+ group = JupiterMoonLandings
+
+
+ description = Program: Jovian Moon Landings
Type: Required
Send a craft to land on Callisto and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Callisto and transmit science.
+
+ synopsis = Achieve a soft landing on Callisto and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Callisto and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Callisto
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 750
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = JupiterMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Callisto Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnCallisto
+ type = ReachState
+ targetBody = Callisto
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Callisto
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Callisto
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Callisto
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Jovian Moon Landings/Europa Landing.cfg b/GameData/RP-1/Contracts/Jovian Moon Landings/Europa Landing.cfg
new file mode 100644
index 00000000000..44c9d7b084e
--- /dev/null
+++ b/GameData/RP-1/Contracts/Jovian Moon Landings/Europa Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingEuropa
+ title = Europa Landing (Uncrewed)
+ group = JupiterMoonLandings
+
+
+ description = Program: Jovian Moon Landings
Type: Required
Send a craft to land on Europa and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Europa and transmit science.
+
+ synopsis = Achieve a soft landing on Europa and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Europa and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Europa
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 1000
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = JupiterMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Europa Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnEuropa
+ type = ReachState
+ targetBody = Europa
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Europa
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Europa
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Europa
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Jovian Moon Landings/Ganymede Landing.cfg b/GameData/RP-1/Contracts/Jovian Moon Landings/Ganymede Landing.cfg
new file mode 100644
index 00000000000..10dedba5d47
--- /dev/null
+++ b/GameData/RP-1/Contracts/Jovian Moon Landings/Ganymede Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingGanymede
+ title = Ganymede Landing (Uncrewed)
+ group = JupiterMoonLandings
+
+
+ description = Program: Jovian Moon Landings
Type: Required
Send a craft to land on Ganymede and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Ganymede and transmit science.
+
+ synopsis = Achieve a soft landing on Ganymede and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Ganymede and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Ganymede
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 850
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = JupiterMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Ganymede Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnGanymede
+ type = ReachState
+ targetBody = Ganymede
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Ganymede
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Ganymede
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Ganymede
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Jovian Moon Landings/Io Landing.cfg b/GameData/RP-1/Contracts/Jovian Moon Landings/Io Landing.cfg
new file mode 100644
index 00000000000..c65588c5101
--- /dev/null
+++ b/GameData/RP-1/Contracts/Jovian Moon Landings/Io Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingIo
+ title = Io Landing (Uncrewed)
+ group = JupiterMoonLandings
+
+
+ description = Program: Jovian Moon Landings
Type: Required
Send a craft to land on Io and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Io and transmit science.
+
+ synopsis = Achieve a soft landing on Io and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Io and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Io
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 1200
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = JupiterMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Io Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnIo
+ type = ReachState
+ targetBody = Io
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Io
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Io
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Io
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Saturnine Moon Landings/Dione Landing.cfg b/GameData/RP-1/Contracts/Saturnine Moon Landings/Dione Landing.cfg
new file mode 100644
index 00000000000..2aeaafda527
--- /dev/null
+++ b/GameData/RP-1/Contracts/Saturnine Moon Landings/Dione Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingDione
+ title = Dione Landing (Uncrewed)
+ group = SaturnMoonLandings
+
+
+ description = Program: Saturnine Moon Landings
Type: Required
Send a craft to land on Dione and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Dione and transmit science.
+
+ synopsis = Achieve a soft landing on Dione and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Dione and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Dione
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 600
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = SaturnMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Dione Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnDione
+ type = ReachState
+ targetBody = Dione
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Dione
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Dione
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Dione
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Saturnine Moon Landings/Enceladus Landing.cfg b/GameData/RP-1/Contracts/Saturnine Moon Landings/Enceladus Landing.cfg
new file mode 100644
index 00000000000..792cc282090
--- /dev/null
+++ b/GameData/RP-1/Contracts/Saturnine Moon Landings/Enceladus Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingEnceladus
+ title = Enceladus Landing (Uncrewed)
+ group = SaturnMoonLandings
+
+
+ description = Program: Saturnine Moon Landings
Type: Required
Send a craft to land on Enceladus and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Enceladus and transmit science.
+
+ synopsis = Achieve a soft landing on Enceladus and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Enceladus and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Enceladus
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 750
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = SaturnMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Enceladus Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnEnceladus
+ type = ReachState
+ targetBody = Enceladus
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Enceladus
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Enceladus
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Enceladus
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Saturnine Moon Landings/Iapetus Landing.cfg b/GameData/RP-1/Contracts/Saturnine Moon Landings/Iapetus Landing.cfg
new file mode 100644
index 00000000000..a494522c662
--- /dev/null
+++ b/GameData/RP-1/Contracts/Saturnine Moon Landings/Iapetus Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingIapetus
+ title = Iapetus Landing (Uncrewed)
+ group = SaturnMoonLandings
+
+
+ description = Program: Saturnine Moon Landings
Type: Required
Send a craft to land on Iapetus and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Iapetus and transmit science.
+
+ synopsis = Achieve a soft landing on Iapetus and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Iapetus and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Iapetus
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 650
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = SaturnMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Iapetus Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnIapetus
+ type = ReachState
+ targetBody = Iapetus
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Iapetus
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Iapetus
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Iapetus
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Saturnine Moon Landings/Mimas Landing.cfg b/GameData/RP-1/Contracts/Saturnine Moon Landings/Mimas Landing.cfg
new file mode 100644
index 00000000000..0749d143d98
--- /dev/null
+++ b/GameData/RP-1/Contracts/Saturnine Moon Landings/Mimas Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingMimas
+ title = Mimas Landing (Uncrewed)
+ group = SaturnMoonLandings
+
+
+ description = Program: Saturnine Moon Landings
Type: Required
Send a craft to land on Mimas and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Mimas and transmit science.
+
+ synopsis = Achieve a soft landing on Mimas and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Mimas and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Mimas
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 700
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = SaturnMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Mimas Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnMimas
+ type = ReachState
+ targetBody = Mimas
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Mimas
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Mimas
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Mimas
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Saturnine Moon Landings/Rhea Landing.cfg b/GameData/RP-1/Contracts/Saturnine Moon Landings/Rhea Landing.cfg
new file mode 100644
index 00000000000..225ff68e366
--- /dev/null
+++ b/GameData/RP-1/Contracts/Saturnine Moon Landings/Rhea Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingRhea
+ title = Rhea Landing (Uncrewed)
+ group = SaturnMoonLandings
+
+
+ description = Program: Saturnine Moon Landings
Type: Required
Send a craft to land on Rhea and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Rhea and transmit science.
+
+ synopsis = Achieve a soft landing on Rhea and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Rhea and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Rhea
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 650
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = SaturnMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Rhea Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnRhea
+ type = ReachState
+ targetBody = Rhea
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Rhea
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Rhea
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Rhea
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Saturnine Moon Landings/Tethys Landing.cfg b/GameData/RP-1/Contracts/Saturnine Moon Landings/Tethys Landing.cfg
new file mode 100644
index 00000000000..4d71bcc043b
--- /dev/null
+++ b/GameData/RP-1/Contracts/Saturnine Moon Landings/Tethys Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingTethys
+ title = Tethys Landing (Uncrewed)
+ group = SaturnMoonLandings
+
+
+ description = Program: Saturnine Moon Landings
Type: Required
Send a craft to land on Tethys and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Tethys and transmit science.
+
+ synopsis = Achieve a soft landing on Tethys and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Tethys and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Tethys
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 750
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = SaturnMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Tethys Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnTethys
+ type = ReachState
+ targetBody = Tethys
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Tethys
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Tethys
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Tethys
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Saturnine Moon Landings/Titan Landing.cfg b/GameData/RP-1/Contracts/Saturnine Moon Landings/Titan Landing.cfg
new file mode 100644
index 00000000000..add3287fcc3
--- /dev/null
+++ b/GameData/RP-1/Contracts/Saturnine Moon Landings/Titan Landing.cfg
@@ -0,0 +1,91 @@
+CONTRACT_TYPE
+{
+ name = landingTitan
+ title = Titan Landing (Uncrewed)
+ group = SaturnMoonLandings
+
+
+ description = Program: Saturnine Moon Landings
Type: Required
Send a craft to land on Titan and return science data back to Earth.
+ genericDescription = Achieve a soft landing on Titan and transmit science.
+
+ synopsis = Achieve a soft landing on Titan and transmit science
+
+ completedMessage = Mission Success! You have safely landed on Titan and returned valuable science data from the surface.
+
+ sortKey = 713
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ targetBody = Titan
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 650
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = SaturnMoonLandings
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Titan Lander
+
+ PARAMETER
+ {
+ name = NewVessel
+ type = NewVessel
+ title = Launch a new vessel
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Crewmembers
+ type = HasCrew
+ minCrew = 0
+ maxCrew = 0
+ title = Uncrewed
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = LandOnTitan
+ type = ReachState
+ targetBody = Titan
+ situation = LANDED
+ disableOnStateChange = true
+ title = Land on Titan
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = CollectScience
+ type = CollectScience
+ targetBody = Titan
+ situation = SrfLanded
+ recoveryMethod = Transmit
+ title = Transmit science from the surface of Titan
+ hideChildren = true
+ }
+ }
+}
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index b84c42e555f..2a36b9bf7e1 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -878,6 +878,8 @@ RP0_PROGRAM
{
orbitCeres_Rep = true
orbitVesta_Rep = true
+ landingCeres = true
+ landingVesta = true
}
}
@@ -932,8 +934,8 @@ RP0_PROGRAM
disabled_RP0_PROGRAM
{
name = JupiterMoonLandings
- title = Jovian Moon Landings (No Content Yet)
- description = TODO: write up a program description
+ title = Jovian Moon Landings (WIP)
+ description = Land on some of Jupiter's moons. Europa might even harbor life. TODO: write up a program description
requirementsPrettyText = Complete contracts X and Y
objectivesPrettyText = Do this and that
nominalDurationYears = 12
@@ -949,7 +951,14 @@ disabled_RP0_PROGRAM
OBJECTIVES
{
- complete_contract = TODO
+ ATLEAST
+ {
+ count = 2
+ complete_contract = landingIo
+ complete_contract = landingEuropa
+ complete_contract = landingCallisto
+ complete_contract = landingGanymede
+ }
}
CONFIDENCECOSTS
@@ -957,6 +966,11 @@ disabled_RP0_PROGRAM
Normal = 9600
Fast = 19200
}
+
+ OPTIONALS
+ {
+ orbitJupiter_Rep = true
+ }
}
RP0_PROGRAM
@@ -1017,7 +1031,7 @@ RP0_PROGRAM
disabled_RP0_PROGRAM
{
name = SaturnMoonLandings
- title = Saturnine Moon Landings (No Content Yet)
+ title = Saturnine Moon Landings (WIP)
description = TODO: write up a program description
requirementsPrettyText = Complete contracts X and Y
objectivesPrettyText = Do this and that
@@ -1035,7 +1049,17 @@ disabled_RP0_PROGRAM
OBJECTIVES
{
- complete_contract = TODO
+ ATLEAST
+ {
+ count = 3
+ complete_contract = landingTitan
+ complete_contract = landingEnceladus
+ complete_contract = landingMimas
+ complete_contract = landingTethys
+ complete_contract = landingIapetus
+ complete_contract = landingDione
+ complete_contract = landingRhea
+ }
}
CONFIDENCECOSTS
@@ -1043,6 +1067,11 @@ disabled_RP0_PROGRAM
Normal = 14400
Fast = 28800
}
+
+ OPTIONALS
+ {
+ orbitSaturn_Rep = true
+ }
}
RP0_PROGRAM