From f43f234617daa4dd63063105f62f799c4f67c9f1 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 15:44:18 -0500
Subject: [PATCH 001/109] New early satellite contracts
---
.../Commercial Applications/ComTestSat.cfg | 218 ++++++++++++++
.../EarlyComNetwork3.cfg | 207 ++++++++++++++
.../EarlyComNetwork4.cfg | 270 ++++++++++++++++++
.../Commercial Applications/EarlyComSat.cfg | 220 ++++++++++++++
.../Commercial Applications/FirstComSat.cfg | 149 ++++++++++
.../GEORepeatComSats.cfg | 205 +++++++++++++
.../GeoComSatNetwork.cfg | 240 ++++++++++++++++
.../RP-1/Earth Observation 1/FirstGEOSat.cfg | 121 ++++++++
.../Earth Observation 1/FirstMolniyaSat.cfg | 144 ++++++++++
.../RP-1/Earth Observation 1/FirstNavSat.cfg | 118 ++++++++
.../Earth Observation 1/FirstTundraSat.cfg | 144 ++++++++++
.../Earth Observation 1/FirstWeatherSat.cfg | 124 ++++++++
.../Earth Observation 1/ScienceCherenkov.cfg | 119 ++++++++
.../Earth Observation 1/ScienceCosmicRay1.cfg | 118 ++++++++
.../RP-1/Earth Observation 1/ScienceIRRad.cfg | 117 ++++++++
.../Earth Observation 1/ScienceMagScan1.cfg | 127 ++++++++
16 files changed, 2641 insertions(+)
create mode 100644 GameData/RP-1/Commercial Applications/ComTestSat.cfg
create mode 100644 GameData/RP-1/Commercial Applications/EarlyComNetwork3.cfg
create mode 100644 GameData/RP-1/Commercial Applications/EarlyComNetwork4.cfg
create mode 100644 GameData/RP-1/Commercial Applications/EarlyComSat.cfg
create mode 100644 GameData/RP-1/Commercial Applications/FirstComSat.cfg
create mode 100644 GameData/RP-1/Commercial Applications/GEORepeatComSats.cfg
create mode 100644 GameData/RP-1/Commercial Applications/GeoComSatNetwork.cfg
create mode 100644 GameData/RP-1/Earth Observation 1/FirstGEOSat.cfg
create mode 100644 GameData/RP-1/Earth Observation 1/FirstMolniyaSat.cfg
create mode 100644 GameData/RP-1/Earth Observation 1/FirstNavSat.cfg
create mode 100644 GameData/RP-1/Earth Observation 1/FirstTundraSat.cfg
create mode 100644 GameData/RP-1/Earth Observation 1/FirstWeatherSat.cfg
create mode 100644 GameData/RP-1/Earth Observation 1/ScienceCherenkov.cfg
create mode 100644 GameData/RP-1/Earth Observation 1/ScienceCosmicRay1.cfg
create mode 100644 GameData/RP-1/Earth Observation 1/ScienceIRRad.cfg
create mode 100644 GameData/RP-1/Earth Observation 1/ScienceMagScan1.cfg
diff --git a/GameData/RP-1/Commercial Applications/ComTestSat.cfg b/GameData/RP-1/Commercial Applications/ComTestSat.cfg
new file mode 100644
index 00000000000..05740407ef4
--- /dev/null
+++ b/GameData/RP-1/Commercial Applications/ComTestSat.cfg
@@ -0,0 +1,218 @@
+CONTRACT_TYPE
+{
+ name = ComTestSat
+ title = Communications Test Satellite
+ group = TargetedSats
+
+ tag = exclude_RepeatableComSat
+
+ description = Program: Targeted Satellites or Comm Network
Type: Optional
There are groups that want to understand more about communications with satellites. Launch a new communications test satellite into the proper orbit. &br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.&br;&br;Removal Condition: Completion of a Communications Satellite (Early) contract&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_ComTestSat
Number of Contracts Completed: @index / unlimited
+ genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
+ synopsis = Launch a Communications Test Satellite
+
+ completedMessage = Success! We are learning more about space communications with every launch.
+
+ sortKey = 513
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 0
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardFunds = 0
+ rewardScience = 0
+ rewardReputation = Round(55 * Pow(@TestComSat/Orbit/minApA / 6000000, 0.5) * Pow((@TestComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
+ failureReputation = 0 // was @rewardReputation
+ failureFunds = 0
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = CommNetwork
+ }
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_RepeatableComSat
+ invertRequirement = true
+ }
+
+ DATA
+ {
+ type = int
+ index = $ComTestSat_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_OFFERED
+ {
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_ComTestSat * 86400) : ($RepeatSat_Completion + 0)
+ }
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ ComTestSat_Count = $ComTestSat_Count + 1
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ DATA
+ {
+ type = int
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_ComTestSat * 86400) : $RepeatSat_Completion
+ }
+
+ DATA
+ {
+ type = float
+
+ elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_ComTestSat * 20 - 9, 1), 2) / 3.46
+ rewardFactorPercent = Round(@rewardFactor * 100, 1)
+ }
+
+ DATA
+ {
+ type = float
+ payload = Round(Random(80,140),1)
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = TestComSat
+ type = VesselParameterGroup
+ define = TestComSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Communications test satellite
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 50))
+ minPeA = Round(Random(700000, 1000000), 1000)
+ minApA = Round(Random(4000000, 5000000), 1000)
+ maxApA = Round(Random(7000000, 9000000), 1000)
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = TestComSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred back to the customer.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Commercial Applications/EarlyComNetwork3.cfg b/GameData/RP-1/Commercial Applications/EarlyComNetwork3.cfg
new file mode 100644
index 00000000000..013764423df
--- /dev/null
+++ b/GameData/RP-1/Commercial Applications/EarlyComNetwork3.cfg
@@ -0,0 +1,207 @@
+CONTRACT_TYPE
+{
+ name = EarlyComNetwork3
+ title = Early Communications Network (3 Satellites)
+ group = CommNetwork
+
+
+ description = Program: Communication Network
Type: Required
Mission control is tired of losing vessels and probes over the horizon, since they are rarely heard from again. We need to find a way to stay in constant communication with our probes.&br;&br;Build a communication network with three ComSats that has continuous connectivity to mission control.&br;&br;NOTE: Make sure to only accept either the three or four satellite version of this contract (it's impossible to complete both).
+
+ synopsis = Launch a 3 satellite Communications Network
+
+ completedMessage = Congratulations! The network is up and transmitting, and our shake-out testing is complete!
+
+ sortKey = 901
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+ targetBody = HomeWorld()
+
+ // ************ 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 = CommNetwork
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = EarlyComNetwork4
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyComNetwork4
+ invertRequirement = true
+ }
+
+ // ComSat I
+ PARAMETER
+ {
+ name = CommSat1
+ type = VesselParameterGroup
+
+ define = CommSat I
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat II
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat III
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ title = Have a ComSatPayload of at least 125 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+
+ // Minimum distance to have line of sight for 3 satellites for Kerbin.
+ minPeA = @/targetBody.Radius()
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = CommSat2
+ type = VesselParameterGroup
+
+ define = CommSat II
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat III
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ title = Have a ComSatPayload of at least 125 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+
+ // Minimum distance to have line of sight for 3 satellites for Kerbin.
+ minPeA = @/targetBody.Radius()
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = CommSat3
+ type = VesselParameterGroup
+
+ define = CommSat III
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat I
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ title = Have a ComSatPayload of at least 125 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+
+ // Minimum distance to have line of sight for 3 satellites for Kerbin.
+ minPeA = @/targetBody.Radius()
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2d
+
+ preWaitText = Testing time after network up
+ waitingText = Performing shake-out testing
+ completionText = Shake-out testing completed
+ }
+}
diff --git a/GameData/RP-1/Commercial Applications/EarlyComNetwork4.cfg b/GameData/RP-1/Commercial Applications/EarlyComNetwork4.cfg
new file mode 100644
index 00000000000..1b513dec43f
--- /dev/null
+++ b/GameData/RP-1/Commercial Applications/EarlyComNetwork4.cfg
@@ -0,0 +1,270 @@
+CONTRACT_TYPE
+{
+ name = EarlyComNetwork4
+ title = Early Communications Network (4 Satellites)
+ group = CommNetwork
+
+
+ description = Program: Communication Network
Type: Required
Mission control is tired of losing vessels and probes over the horizon, since they are rarely heard from again. We need to find a way to stay in constant communication with our probes.&br;&br;Build a communication network with four ComSats that has continuous connectivity to mission control.&br;&br;NOTE: Make sure to only accept either the three or four satellite version of this contract (it's impossible to complete both).
+
+ synopsis = Launch a 4 satellite Communications Network
+
+ completedMessage = Congratulations! The network is up and transmitting, and our shake-out testing is complete!
+
+ sortKey = 902
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 200
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = CommNetwork
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = EarlyComNetwork3
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyComNetwork3
+ invertRequirement = true
+ }
+
+ PARAMETER
+ {
+ name = CommSat1
+ type = VesselParameterGroup
+
+ define = CommSat I
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat II
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat III
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ disableOnStateChange = false
+ title = Have a ComSatPayload of at least 125 units on the craft
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ // Minimum distance to have line of sight for 4 satellites for Kerbin.
+ minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = CommSat2
+ type = VesselParameterGroup
+
+ define = CommSat II
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat III
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ disableOnStateChange = false
+ title = Have a ComSatPayload of at least 125 units on the craft
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ // Minimum distance to have line of sight for 4 satellites for Kerbin.
+ minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = CommSat3
+ type = VesselParameterGroup
+
+ define = CommSat III
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat I
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ disableOnStateChange = false
+ title = Have a ComSatPayload of at least 125 units on the craft
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ // Minimum distance to have line of sight for 4 satellites for Kerbin.
+ minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = CommSat4
+ type = VesselParameterGroup
+
+ define = CommSat IV
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat II
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ disableOnStateChange = false
+ title = Have a ComSatPayload of at least 125 units on the craft
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ // Minimum distance to have line of sight for 4 satellites for Kerbin.
+ minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2d
+
+ preWaitText = Testing time after network up
+ waitingText = Performing shake-out testing
+ completionText = Shake-out testing completed
+ }
+}
diff --git a/GameData/RP-1/Commercial Applications/EarlyComSat.cfg b/GameData/RP-1/Commercial Applications/EarlyComSat.cfg
new file mode 100644
index 00000000000..71817951518
--- /dev/null
+++ b/GameData/RP-1/Commercial Applications/EarlyComSat.cfg
@@ -0,0 +1,220 @@
+CONTRACT_TYPE
+{
+ name = EarlyComSat
+ title = Commercial Communications Satellite (Early)
+ group = TargetedSats
+
+ tag = exclude_RepeatableComSat
+
+ description = Program: Targeted Satellites or Comm Network
Type: Optional
Now that we have tested out the Communications Satellite Technology, there are many uses we have for these satellites. We have a customer that is requesting a new satellite. Launch a new communications Satellite into the specified orbit.&br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
+
+ synopsis = Launch a Communications Satellite for a customer.
+
+ completedMessage = Success! The communications satellite was launched into the proper orbit. Your customer is very happy.
+
+ sortKey = 499
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 0
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardFunds = 0
+ rewardScience = 0
+ rewardReputation = Round(55 * Pow(@EarlyComSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
+ failureReputation = 0 // was @rewardReputation
+ failureFunds = 0
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = CommNetwork
+ }
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = ComTestSat
+ minCount = 2
+ title = Complete 'Communications Test Satellite' contract at least @minCount times
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_RepeatableComSat
+ invertRequirement = true
+ }
+
+ DATA
+ {
+ type = int
+ index = $EarlyComSat_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_OFFERED
+ {
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
+ }
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ EarlyComSat_Count = $EarlyComSat_Count + 1
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ DATA
+ {
+ type = int
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
+ }
+
+ DATA
+ {
+ type = float
+ elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
+ rewardFactorPercent = Round(@rewardFactor * 100, 1)
+ }
+
+ DATA
+ {
+ type = float
+ payload = Round(Random(150,500),1)
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = EarlyComSat
+ type = VesselParameterGroup
+ define = EarlyComSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Communications satellite (early)
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 31))
+ minPeA = Round(Random(700000, 1000000), 1000)
+ minApA = Round(Random(3000000, 10000000), 1000)
+ maxApA = Round(Random(10000000, 30000000), 1000)
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = EarlyComSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred back to the customer.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Commercial Applications/FirstComSat.cfg b/GameData/RP-1/Commercial Applications/FirstComSat.cfg
new file mode 100644
index 00000000000..be6920596d6
--- /dev/null
+++ b/GameData/RP-1/Commercial Applications/FirstComSat.cfg
@@ -0,0 +1,149 @@
+CONTRACT_TYPE
+{
+ name = FirstComSat
+ title = First Communications Satellite
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: Required
Our communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
+
+ synopsis = Launch the first communication satellite
+
+ completedMessage = Congratulations! Satellite communications will be how humans communicate across the globe with each other.
+
+ sortKey = 512
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 45
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = CommNetwork
+ }
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ DATA
+ {
+ type = float
+ payload = 80
+ }
+
+ BEHAVIOUR
+ {
+ name = StartSoftCooldown
+ type = Expression
+
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ PARAMETER
+ {
+ name = FirstComSat
+ type = VesselParameterGroup
+ title = First communications satellite
+ define = FirstComSat
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = 35
+ minPeA = 850000
+ minApA = 4500000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum inclination of 35 degrees, a minimum perigee of 850 km, and an apogee of more than 4500 km
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Commercial Applications/GEORepeatComSats.cfg b/GameData/RP-1/Commercial Applications/GEORepeatComSats.cfg
new file mode 100644
index 00000000000..d071836a9e9
--- /dev/null
+++ b/GameData/RP-1/Commercial Applications/GEORepeatComSats.cfg
@@ -0,0 +1,205 @@
+CONTRACT_TYPE
+{
+ name = GEORepeatComSats
+ title = Geostationary Commercial Communications Satellite
+ group = GEOCommNetwork
+ agent = Satellites
+
+ tag = exclude_RepeatableComSat
+
+ description = Program: Geostationary Communications Network
Type: Optional
We have a customer requesting a new Communications Satellite. Design a satellite within their specs and launch into an orbit with the proper orbital parameters as outlined in the contract.&br;&br;This contract can be completed as many times as you would like.&br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_GEORepeatComSats
Number of Contracts Completed: @index / unlimited
+ genericDescription = Put a satellite with the appropriate amount of communications satellite payload into geostationary orbit.
+
+ synopsis = Launch a new Commercial Communications Satellite
+
+ completedMessage = Congratulations! The customer has reported the satellite is in the proper orbit.
+
+ sortKey = 904
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 0
+ maxSimultaneous = 1
+ deadline = 0
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = Round(110 * Pow((@AdvComSat/HasComSatPayload/minQuantity / 350), 0.5) * @rewardFactor, 1)
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = GEOCommNetwork
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_RepeatableComSat
+ invertRequirement = true
+ }
+
+ BEHAVIOUR
+ {
+ name = OrbitGenerator
+ type = OrbitGenerator
+
+ RANDOM_ORBIT
+ {
+ type = STATIONARY
+ }
+ }
+
+ DATA
+ {
+ type = int
+ index = $GEORepeatComSats_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_OFFERED
+ {
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_GEORepeatComSats * 86400) : ($RepeatSat_Completion + 0)
+ }
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ GEORepeatComSats_Count = $GEORepeatComSats_Count + 1
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ DATA
+ {
+ type = int
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_GEORepeatComSats * 86400) : $RepeatSat_Completion
+ }
+
+ DATA
+ {
+ type = float
+ elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_GEORepeatComSats * 20 - 9, 1), 2) / 3.46
+ rewardFactorPercent = Round(@rewardFactor * 100, 1)
+ }
+
+ DATA
+ {
+ type = float
+ payload = RP1CommsPayload()
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = AdvComSat
+ type = VesselParameterGroup
+ define = AdvComSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Commercial communications satellite
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = ReachSpecificOrbit
+ type = ReachSpecificOrbit
+ displayNotes = true
+ index = 0
+ deviationWindow = 4
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = AdvComSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred back to the customer.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Commercial Applications/GeoComSatNetwork.cfg b/GameData/RP-1/Commercial Applications/GeoComSatNetwork.cfg
new file mode 100644
index 00000000000..f9e5fae7096
--- /dev/null
+++ b/GameData/RP-1/Commercial Applications/GeoComSatNetwork.cfg
@@ -0,0 +1,240 @@
+CONTRACT_TYPE
+{
+ name = GeoComSatNetwork
+ title = Geostationary Communications Network
+ group = GEOCommNetwork
+ agent = Satellites
+
+ description = Program: Geostationary Communications Network
Type: Required
Our previous Communications Network is showing its age. We want you to launch a Geostationary Communications Network to make sure that we have consistent coverage across the globe.
+
+ synopsis = Launch a 4 Satellite Geostationary Communications Network
+
+ completedMessage = Congratulations! This new high-tech network is working great!
+
+ sortKey = 903
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 400
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = GEOCommNetwork
+ }
+
+
+ PARAMETER
+ {
+ name = GEOCommSat1
+ type = VesselParameterGroup
+
+ define = GEO CommSat I
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat II
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat III
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 314.9
+ title = Have a ComSatPayload of at least 315 units on the craft
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxEccentricity = 0.1
+ minPeriod = 23h 54m
+ maxPeriod = 23h 58m
+ maxInclination = 1.0
+ title = Reach an orbit with the specified parameters
+ }
+ }
+
+ PARAMETER
+ {
+ name = GEOCommSat2
+ type = VesselParameterGroup
+
+ define = GEO CommSat II
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat III
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 314.9
+ title = Have a ComSatPayload of at least 315 units on the craft
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxEccentricity = 0.1
+ minPeriod = 23h 54m
+ maxPeriod = 23h 58m
+ maxInclination = 1.0
+ title = Reach an orbit with the specified parameters
+ }
+ }
+
+ PARAMETER
+ {
+ name = GEOCommSat3
+ type = VesselParameterGroup
+
+ define = GEO CommSat III
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat I
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 314.9
+ title = Have a ComSatPayload of at least 315 units on the craft
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxEccentricity = 0.1
+ minPeriod = 23h 54m
+ maxPeriod = 23h 58m
+ maxInclination = 1.0
+ title = Reach an orbit with the specified parameters
+ }
+ }
+
+ PARAMETER
+ {
+ name = GEOCommSat4
+ type = VesselParameterGroup
+
+ define = GEO CommSat IV
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat II
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 314.9
+ title = Have a ComSatPayload of at least 315 units on the craft
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxEccentricity = 0.1
+ minPeriod = 23h 54m
+ maxPeriod = 23h 58m
+ maxInclination = 1.0
+ title = Reach an orbit with the specified parameters
+ }
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2d
+
+ preWaitText = Testing time after network up
+ waitingText = Performing shake-out testing
+ completionText = Shake-out testing completed
+ }
+}
diff --git a/GameData/RP-1/Earth Observation 1/FirstGEOSat.cfg b/GameData/RP-1/Earth Observation 1/FirstGEOSat.cfg
new file mode 100644
index 00000000000..fcfa92e894e
--- /dev/null
+++ b/GameData/RP-1/Earth Observation 1/FirstGEOSat.cfg
@@ -0,0 +1,121 @@
+CONTRACT_TYPE
+{
+ name = FirstGEOSat
+ title = First Geostationary Satellite
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: Required
A geostationary orbit is a circular orbit 35,786 km above the Earth's equator and following the direction of the Earth's rotation. An object in such an orbit has an orbital period equal to the Earth's rotational period (23 hours, 56 minutes, and 4.1 seconds) and thus will appear motionless at a fixed position in the sky to ground observers. &br;&br;Launch a satellite into a Geostationary Orbit.
+
+ synopsis = Launch a satellite into a Geostationary Orbit
+
+ completedMessage = Success! The Geostationary orbit is the most commonly used orbit for communications satellites and other observation satellites.
+
+ sortKey = 503
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 80
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ DATA
+ {
+ type = float
+ payload = 25
+ }
+
+ PARAMETER
+ {
+ name = GeostationarySat
+ type = VesselParameterGroup
+ title = Geostationary satellite
+ define = Geostationary
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = ReachSpecificOrbit
+ type = ReachSpecificOrbit
+ displayNotes = true
+ index = 0
+ title = Achieve geostationary orbit
+ deviationWindow = 5.0
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+
+ BEHAVIOUR
+ {
+ name = GeostationaryOrbit
+ type = OrbitGenerator
+ RANDOM_ORBIT
+ {
+ type = STATIONARY
+ }
+ }
+}
diff --git a/GameData/RP-1/Earth Observation 1/FirstMolniyaSat.cfg b/GameData/RP-1/Earth Observation 1/FirstMolniyaSat.cfg
new file mode 100644
index 00000000000..8cf5c5252d0
--- /dev/null
+++ b/GameData/RP-1/Earth Observation 1/FirstMolniyaSat.cfg
@@ -0,0 +1,144 @@
+CONTRACT_TYPE
+{
+ name = FirstMolniyaSat
+ title = First Molniya Orbit Satellite
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+
+ synopsis = Launch a satellite into a Molniya Orbit
+
+ completedMessage = Success! The Molniya orbit is highly eccentric and allows the satellite to spend most of its time over the high latitudes.
+
+ sortKey = 501
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+
+ BEHAVIOUR
+ {
+ name = MolniyaOrbit
+ type = OrbitGenerator
+
+ FIXED_ORBIT
+ {
+ ORBIT
+ {
+ SMA = 26290000
+ ECC = 0.734842145
+ INC = 63.4
+ LPE = -90
+ LAN = 90
+ MNA = 0
+ EPH = 0
+ REF = 1
+ }
+ }
+ }
+
+ DATA
+ {
+ type = float
+ payload = 85
+ }
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Molniya satellite
+ define = MolniyaSatellite
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = ReachOrbit
+ type = Orbit
+ title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
+ minInclination = 61.4
+ maxInclination = 65.4
+ minEccentricity = 0.7
+ minArgumentOfPeriapsis = 220
+ maxArgumentOfPeriapsis = 320
+ minPeA = 500000
+ minPeriod = 11h 56m 2s
+ maxPeriod = 12h 00m 2s
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+
+ }
+}
diff --git a/GameData/RP-1/Earth Observation 1/FirstNavSat.cfg b/GameData/RP-1/Earth Observation 1/FirstNavSat.cfg
new file mode 100644
index 00000000000..eb2f72c4d53
--- /dev/null
+++ b/GameData/RP-1/Earth Observation 1/FirstNavSat.cfg
@@ -0,0 +1,118 @@
+CONTRACT_TYPE
+{
+ name = FirstNavSat
+ title = First Navigational Satellite // Based on Transit 1 through 4
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: Required
Through measuring the Doppler shift of radio signals transmitted from a satellite in a known orbit, it is possible for a receiver on the ground to establish their location, which would have many applications both civilian and military. To test the principle and develop receiver equipment, it is necessary to have a test navigational satellite in orbit. Be sure to include solar panels to generate power. Historically, the first experiments in satellite navigation were made with Transit 1B (119 kg, Thor-Ablestar).
+
+ synopsis = Launch the first navigation satellite
+
+ completedMessage = Congratulations! The satellite is in orbit and we have already begun to receive Doppler curves.
+
+ sortKey = 410
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 40
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ PARAMETER
+ {
+ name = FirstNavSat
+ type = VesselParameterGroup
+ title = First navigational satellite
+ define = FirstNavSat
+
+ 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 = HasNavSatPayload
+ type = HasResource
+ resource = NavSatPayload
+ minQuantity = 99.9
+ title = Have a NavSatPayload of at least 100 units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = 45
+ minPeA = 300000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum inclination of 45 degrees and a minimum perigee of 300 km
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Earth Observation 1/FirstTundraSat.cfg b/GameData/RP-1/Earth Observation 1/FirstTundraSat.cfg
new file mode 100644
index 00000000000..f836eb3ce40
--- /dev/null
+++ b/GameData/RP-1/Earth Observation 1/FirstTundraSat.cfg
@@ -0,0 +1,144 @@
+CONTRACT_TYPE
+{
+ name = FirstTundraSat
+ title = First Tundra Orbit Satellite
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: CAPSTONE
A Tundra orbit is a highly elliptical geosynchronous orbit (note: not geostationary orbit) with a high inclination (usually near 63.4) and an orbital period of one sidereal day. A satellite placed in this orbit spends most of its time over a chosen area of the Earth, a phenomenon known as apogee dwell. The ground track of a satellite in a tundra orbit is a closed figure eight. An extreme version of this orbit puts the perigee around 1000 km and the apogee around 70,000 km. The orbit in this contract is actually using data from the Sirius satellites, the only known satellites using a Tundra orbit.&br;&br;Place a satellite into a Tundra orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+
+ synopsis = Launch a satellite into a Tundra Orbit
+
+ completedMessage = Success! The Tundra orbit is highly eccentric and let's the satellite spend most of its time over the high latitudes.
+
+ sortKey = 502
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 55
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstMolniyaSat
+ }
+
+
+ BEHAVIOUR
+ {
+ name = TundraOrbit
+ type = OrbitGenerator
+
+ FIXED_ORBIT
+ {
+ ORBIT
+ {
+ SMA = 42164000
+ ECC = 0.317675037
+ INC = 63.4
+ LPE = -90
+ LAN = 0
+ MNA = 0
+ EPH = 0
+ REF = 1
+ }
+ }
+ }
+
+ DATA
+ {
+ type = float
+ payload = 85
+ }
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Tundra satellite
+ define = TundraSatellite
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = ReachOrbit
+ type = Orbit
+ title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes. This is like a Molniya orbit, but with an orbital period the same as an Earth sidereal day.
+ minInclination = 61.4
+ maxInclination = 65.4
+ minEccentricity = 0.3
+ minArgumentOfPeriapsis = 220
+ maxArgumentOfPeriapsis = 320
+ minPeA = 1000000
+ minPeriod = 23h 54m 4s
+ maxPeriod = 23h 58m 4s
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Earth Observation 1/FirstWeatherSat.cfg b/GameData/RP-1/Earth Observation 1/FirstWeatherSat.cfg
new file mode 100644
index 00000000000..7c78a911dd6
--- /dev/null
+++ b/GameData/RP-1/Earth Observation 1/FirstWeatherSat.cfg
@@ -0,0 +1,124 @@
+CONTRACT_TYPE
+{
+ name = FirstWeatherSat
+ title = First Weather Satellite // Basically it is TIROS 1
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: Required
The Atmospheric Analysis Satellite that we launched was a good first step to understanding how the upper atmosphere affects the weather. However, our meteorologists want to see images of the clouds to better assess the situation.&br;&br;Launch our first official weather satellite into orbit.
+
+ synopsis = Launch the first weather satellite
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 511
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 40
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ DATA
+ {
+ type = float
+ payload = 20
+ }
+
+
+ PARAMETER
+ {
+ name = FirstWeatherSat
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = FirstWeatherSat
+
+ 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 = HasWeatherSatPayload
+ type = HasResource
+ resource = WeatherSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a WeatherSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minPeA = 300000
+ maxEccentricity = 0.005 // TIROS-1 was 0.002
+ disableOnStateChange = true
+ title = Achieve an orbit with a perigee above 300 km and an eccentricity below 0.005
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Earth Observation 1/ScienceCherenkov.cfg b/GameData/RP-1/Earth Observation 1/ScienceCherenkov.cfg
new file mode 100644
index 00000000000..3e548c1b0d9
--- /dev/null
+++ b/GameData/RP-1/Earth Observation 1/ScienceCherenkov.cfg
@@ -0,0 +1,119 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatCherenkov
+ title = Cherenkov Detection Beyond LEO
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos.&br;&br;Make sure your craft contains a Cherenkov Counter and returns 1-day of science from High Earth Orbit.&br;&br;Real life examples: Explorer 11.
+
+ synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
+
+ completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data about solar wind and cosmic rays.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EOS1
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatCherenkov
+ type = VesselParameterGroup
+ title = Cherenkov detector
+ define = ScienceSatCherenkov
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minEccentricity = .085
+ maxEccentricity = .200
+ minPeA = 200000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0cherenkov
+ fractionComplete = 0.01
+ title = Transmit 1 day's worth (1%) of Cherenkov science from High Earth Orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Earth Observation 1/ScienceCosmicRay1.cfg b/GameData/RP-1/Earth Observation 1/ScienceCosmicRay1.cfg
new file mode 100644
index 00000000000..db0d46081e5
--- /dev/null
+++ b/GameData/RP-1/Earth Observation 1/ScienceCosmicRay1.cfg
@@ -0,0 +1,118 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatCosmicRay1
+ title = Cosmic Ray Satellite Beyond LEO
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-day's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Real life examples: Explorer 6.
+
+ synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
+
+ completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data that has helped characterize the cosmic ray environment around Earth.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EOS1
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatCosmicRay1
+ type = VesselParameterGroup
+ title = Cosmic ray detector
+ define = ScienceSatCosmicRay1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 36000000
+ minPeA = 200000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum apogee of 37,500 km and a perigee higher than 200km.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0cosmicRay1
+ fractionComplete = 0.01
+ title = Transmit 1 day's worth (1%) of Cosmic Ray Science from High Earth Orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Earth Observation 1/ScienceIRRad.cfg b/GameData/RP-1/Earth Observation 1/ScienceIRRad.cfg
new file mode 100644
index 00000000000..3e2a2ed16eb
--- /dev/null
+++ b/GameData/RP-1/Earth Observation 1/ScienceIRRad.cfg
@@ -0,0 +1,117 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatIRRad1
+ title = Infrared Radiometry Satellite
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
+
+ synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EOS1
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = ScienceSatIRRad
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 1000000
+ minPeA = 500000
+ maxEccentricity = .005
+ disableOnStateChange = true
+ title = Achieve orbit with between 500km and 1,000km in altitude with no more than .005 eccentricity.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0infraredRad1
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Earth Observation 1/ScienceMagScan1.cfg b/GameData/RP-1/Earth Observation 1/ScienceMagScan1.cfg
new file mode 100644
index 00000000000..2728241cfeb
--- /dev/null
+++ b/GameData/RP-1/Earth Observation 1/ScienceMagScan1.cfg
@@ -0,0 +1,127 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatMagScan1
+ title = Magnetometer Satellite
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Real life examples: IMP-A.
+
+ synopsis = Launch the first dedicated magnetometry satellite.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EOS1
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatMAgScan1
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = ScienceSatMagScan1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 36000000
+ disableOnStateChange = true
+ title = Achieve an elliptical orbit with min apoapsis of 36,000km.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ fractionComplete = 0.01
+ experiment = RP0magScan1
+ title = Transmit 1 day's worth (1%) of Magnetic Scan science from Low Earth Orbit
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ fractionComplete = 0.01
+ experiment = RP0magScan1
+ title = Transmit 1 day's worth (1%) of Magnetic Scan science from High Earth Orbit
+ }
+ }
+ }
+}
From 0d5a8906ac68ca2aec7a42c150f21ef38406e808 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 13:48:22 -0700
Subject: [PATCH 002/109] Rename GameData/RP-1/Earth Observation
1/FirstGEOSat.cfg to GameData/RP-1/Contracts/Earth Observation
1/FirstGEOSat.cfg
---
GameData/RP-1/{ => Contracts}/Earth Observation 1/FirstGEOSat.cfg | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename GameData/RP-1/{ => Contracts}/Earth Observation 1/FirstGEOSat.cfg (100%)
diff --git a/GameData/RP-1/Earth Observation 1/FirstGEOSat.cfg b/GameData/RP-1/Contracts/Earth Observation 1/FirstGEOSat.cfg
similarity index 100%
rename from GameData/RP-1/Earth Observation 1/FirstGEOSat.cfg
rename to GameData/RP-1/Contracts/Earth Observation 1/FirstGEOSat.cfg
From 327558fc05d670faab431fd45135aab734fa3e20 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 13:48:51 -0700
Subject: [PATCH 003/109] Rename GameData/RP-1/Earth Observation
1/FirstMolniyaSat.cfg to GameData/RP-1/Contracts/Earth Observation
1/FirstMolniyaSat.cfg
---
.../RP-1/{ => Contracts}/Earth Observation 1/FirstMolniyaSat.cfg | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename GameData/RP-1/{ => Contracts}/Earth Observation 1/FirstMolniyaSat.cfg (100%)
diff --git a/GameData/RP-1/Earth Observation 1/FirstMolniyaSat.cfg b/GameData/RP-1/Contracts/Earth Observation 1/FirstMolniyaSat.cfg
similarity index 100%
rename from GameData/RP-1/Earth Observation 1/FirstMolniyaSat.cfg
rename to GameData/RP-1/Contracts/Earth Observation 1/FirstMolniyaSat.cfg
From 66092a61cfe73926607036d2e880a73c9e3a6378 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 13:49:27 -0700
Subject: [PATCH 004/109] Rename GameData/RP-1/Earth Observation
1/FirstNavSat.cfg to GameData/RP-1/Contracts/Earth Observation
1/FirstNavSat.cfg
---
GameData/RP-1/{ => Contracts}/Earth Observation 1/FirstNavSat.cfg | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename GameData/RP-1/{ => Contracts}/Earth Observation 1/FirstNavSat.cfg (100%)
diff --git a/GameData/RP-1/Earth Observation 1/FirstNavSat.cfg b/GameData/RP-1/Contracts/Earth Observation 1/FirstNavSat.cfg
similarity index 100%
rename from GameData/RP-1/Earth Observation 1/FirstNavSat.cfg
rename to GameData/RP-1/Contracts/Earth Observation 1/FirstNavSat.cfg
From 2814954782961fc2d344721c7d2bec549cf6588f Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 13:50:11 -0700
Subject: [PATCH 005/109] Rename GameData/RP-1/Earth Observation
1/FirstTundraSat.cfg to GameData/RP-1/Contracts/Earth Observation
1/FirstTundraSat.cfg
---
.../RP-1/{ => Contracts}/Earth Observation 1/FirstTundraSat.cfg | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename GameData/RP-1/{ => Contracts}/Earth Observation 1/FirstTundraSat.cfg (100%)
diff --git a/GameData/RP-1/Earth Observation 1/FirstTundraSat.cfg b/GameData/RP-1/Contracts/Earth Observation 1/FirstTundraSat.cfg
similarity index 100%
rename from GameData/RP-1/Earth Observation 1/FirstTundraSat.cfg
rename to GameData/RP-1/Contracts/Earth Observation 1/FirstTundraSat.cfg
From d6beea28961f98e737651e65f52423d508a919ee Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 13:50:31 -0700
Subject: [PATCH 006/109] Rename GameData/RP-1/Earth Observation
1/FirstWeatherSat.cfg to GameData/RP-1/Contracts/Earth Observation
1/FirstWeatherSat.cfg
---
.../RP-1/{ => Contracts}/Earth Observation 1/FirstWeatherSat.cfg | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename GameData/RP-1/{ => Contracts}/Earth Observation 1/FirstWeatherSat.cfg (100%)
diff --git a/GameData/RP-1/Earth Observation 1/FirstWeatherSat.cfg b/GameData/RP-1/Contracts/Earth Observation 1/FirstWeatherSat.cfg
similarity index 100%
rename from GameData/RP-1/Earth Observation 1/FirstWeatherSat.cfg
rename to GameData/RP-1/Contracts/Earth Observation 1/FirstWeatherSat.cfg
From c958f6b0695e05f902990eda0dec3cb64dfbacb5 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 13:51:04 -0700
Subject: [PATCH 007/109] Update and rename GameData/RP-1/Earth Observation
1/ScienceCherenkov.cfg to GameData/RP-1/Contracts/Earth Observation
1/ScienceCherenkov.cfg
---
.../RP-1/{ => Contracts}/Earth Observation 1/ScienceCherenkov.cfg | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename GameData/RP-1/{ => Contracts}/Earth Observation 1/ScienceCherenkov.cfg (100%)
diff --git a/GameData/RP-1/Earth Observation 1/ScienceCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceCherenkov.cfg
similarity index 100%
rename from GameData/RP-1/Earth Observation 1/ScienceCherenkov.cfg
rename to GameData/RP-1/Contracts/Earth Observation 1/ScienceCherenkov.cfg
From f1fc107a04b8198d2c72ceecfcb9dea0ff716c97 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 13:51:29 -0700
Subject: [PATCH 008/109] Update and rename GameData/RP-1/Earth Observation
1/ScienceCosmicRay1.cfg to GameData/RP-1/Contracts/Earth Observation
1/ScienceCosmicRay1.cfg
---
.../{ => Contracts}/Earth Observation 1/ScienceCosmicRay1.cfg | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename GameData/RP-1/{ => Contracts}/Earth Observation 1/ScienceCosmicRay1.cfg (100%)
diff --git a/GameData/RP-1/Earth Observation 1/ScienceCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceCosmicRay1.cfg
similarity index 100%
rename from GameData/RP-1/Earth Observation 1/ScienceCosmicRay1.cfg
rename to GameData/RP-1/Contracts/Earth Observation 1/ScienceCosmicRay1.cfg
From 71730f62c60d7ac47f5079b87c765817e8b6699c Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 13:51:52 -0700
Subject: [PATCH 009/109] Update and rename GameData/RP-1/Earth Observation
1/ScienceIRRad.cfg to GameData/RP-1/Contracts/Earth Observation
1/ScienceIRRad.cfg
---
.../RP-1/{ => Contracts}/Earth Observation 1/ScienceIRRad.cfg | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename GameData/RP-1/{ => Contracts}/Earth Observation 1/ScienceIRRad.cfg (100%)
diff --git a/GameData/RP-1/Earth Observation 1/ScienceIRRad.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRad.cfg
similarity index 100%
rename from GameData/RP-1/Earth Observation 1/ScienceIRRad.cfg
rename to GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRad.cfg
From 78b160ee326cdaf487b23c6bd2705ea5bc644507 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 13:52:11 -0700
Subject: [PATCH 010/109] Update and rename GameData/RP-1/Earth Observation
1/ScienceMagScan1.cfg to GameData/RP-1/Contracts/Earth Observation
1/ScienceMagScan1.cfg
---
.../RP-1/{ => Contracts}/Earth Observation 1/ScienceMagScan1.cfg | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename GameData/RP-1/{ => Contracts}/Earth Observation 1/ScienceMagScan1.cfg (100%)
diff --git a/GameData/RP-1/Earth Observation 1/ScienceMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceMagScan1.cfg
similarity index 100%
rename from GameData/RP-1/Earth Observation 1/ScienceMagScan1.cfg
rename to GameData/RP-1/Contracts/Earth Observation 1/ScienceMagScan1.cfg
From 4514cc8916588dc399be9f7ff87052472e8c11f3 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 13:53:35 -0700
Subject: [PATCH 011/109] Delete GameData/RP-1/Commercial Applications
directory
---
.../Commercial Applications/ComTestSat.cfg | 218 --------------
.../EarlyComNetwork3.cfg | 207 --------------
.../EarlyComNetwork4.cfg | 270 ------------------
.../Commercial Applications/EarlyComSat.cfg | 220 --------------
.../Commercial Applications/FirstComSat.cfg | 149 ----------
.../GEORepeatComSats.cfg | 205 -------------
.../GeoComSatNetwork.cfg | 240 ----------------
7 files changed, 1509 deletions(-)
delete mode 100644 GameData/RP-1/Commercial Applications/ComTestSat.cfg
delete mode 100644 GameData/RP-1/Commercial Applications/EarlyComNetwork3.cfg
delete mode 100644 GameData/RP-1/Commercial Applications/EarlyComNetwork4.cfg
delete mode 100644 GameData/RP-1/Commercial Applications/EarlyComSat.cfg
delete mode 100644 GameData/RP-1/Commercial Applications/FirstComSat.cfg
delete mode 100644 GameData/RP-1/Commercial Applications/GEORepeatComSats.cfg
delete mode 100644 GameData/RP-1/Commercial Applications/GeoComSatNetwork.cfg
diff --git a/GameData/RP-1/Commercial Applications/ComTestSat.cfg b/GameData/RP-1/Commercial Applications/ComTestSat.cfg
deleted file mode 100644
index 05740407ef4..00000000000
--- a/GameData/RP-1/Commercial Applications/ComTestSat.cfg
+++ /dev/null
@@ -1,218 +0,0 @@
-CONTRACT_TYPE
-{
- name = ComTestSat
- title = Communications Test Satellite
- group = TargetedSats
-
- tag = exclude_RepeatableComSat
-
- description = Program: Targeted Satellites or Comm Network
Type: Optional
There are groups that want to understand more about communications with satellites. Launch a new communications test satellite into the proper orbit. &br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.&br;&br;Removal Condition: Completion of a Communications Satellite (Early) contract&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_ComTestSat
Number of Contracts Completed: @index / unlimited
- genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
- synopsis = Launch a Communications Test Satellite
-
- completedMessage = Success! We are learning more about space communications with every launch.
-
- sortKey = 513
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 1
- maxExpiry = 1
- maxCompletions = 0
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardFunds = 0
- rewardScience = 0
- rewardReputation = Round(55 * Pow(@TestComSat/Orbit/minApA / 6000000, 0.5) * Pow((@TestComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
- failureReputation = 0 // was @rewardReputation
- failureFunds = 0
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = Any
- type = Any
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = CommNetwork
- }
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_RepeatableComSat
- invertRequirement = true
- }
-
- DATA
- {
- type = int
- index = $ComTestSat_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_OFFERED
- {
- RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_ComTestSat * 86400) : ($RepeatSat_Completion + 0)
- }
- CONTRACT_COMPLETED_SUCCESS
- {
- ComTestSat_Count = $ComTestSat_Count + 1
- RepeatSat_Completion = UniversalTime()
- }
- }
-
- DATA
- {
- type = int
- antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_ComTestSat * 86400) : $RepeatSat_Completion
- }
-
- DATA
- {
- type = float
-
- elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
- rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_ComTestSat * 20 - 9, 1), 2) / 3.46
- rewardFactorPercent = Round(@rewardFactor * 100, 1)
- }
-
- DATA
- {
- type = float
- payload = Round(Random(80,140),1)
- }
-
- // ************ PARAMETERS ************
-
- PARAMETER
- {
- name = TestComSat
- type = VesselParameterGroup
- define = TestComSatellite
- dissassociateVesselsOnContractCompletion = true
- title = Communications test satellite
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = Round(Random(30, 50))
- minPeA = Round(Random(700000, 1000000), 1000)
- minApA = Round(Random(4000000, 5000000), 1000)
- maxApA = Round(Random(7000000, 9000000), 1000)
- disableOnStateChange = true
- title = Achieve orbit within the parameters
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = TestComSatellite
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The contract has been completed successfully and the satellite has been transferred back to the customer.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Commercial Applications/EarlyComNetwork3.cfg b/GameData/RP-1/Commercial Applications/EarlyComNetwork3.cfg
deleted file mode 100644
index 013764423df..00000000000
--- a/GameData/RP-1/Commercial Applications/EarlyComNetwork3.cfg
+++ /dev/null
@@ -1,207 +0,0 @@
-CONTRACT_TYPE
-{
- name = EarlyComNetwork3
- title = Early Communications Network (3 Satellites)
- group = CommNetwork
-
-
- description = Program: Communication Network
Type: Required
Mission control is tired of losing vessels and probes over the horizon, since they are rarely heard from again. We need to find a way to stay in constant communication with our probes.&br;&br;Build a communication network with three ComSats that has continuous connectivity to mission control.&br;&br;NOTE: Make sure to only accept either the three or four satellite version of this contract (it's impossible to complete both).
-
- synopsis = Launch a 3 satellite Communications Network
-
- completedMessage = Congratulations! The network is up and transmitting, and our shake-out testing is complete!
-
- sortKey = 901
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
- targetBody = HomeWorld()
-
- // ************ 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 = CommNetwork
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = EarlyComNetwork4
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- contractType = EarlyComNetwork4
- invertRequirement = true
- }
-
- // ComSat I
- PARAMETER
- {
- name = CommSat1
- type = VesselParameterGroup
-
- define = CommSat I
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat II
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat III
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- title = Have a ComSatPayload of at least 125 units on the craft
- disableOnStateChange = false
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
-
- // Minimum distance to have line of sight for 3 satellites for Kerbin.
- minPeA = @/targetBody.Radius()
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = CommSat2
- type = VesselParameterGroup
-
- define = CommSat II
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat III
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- title = Have a ComSatPayload of at least 125 units on the craft
- disableOnStateChange = false
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
-
- // Minimum distance to have line of sight for 3 satellites for Kerbin.
- minPeA = @/targetBody.Radius()
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = CommSat3
- type = VesselParameterGroup
-
- define = CommSat III
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat I
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- title = Have a ComSatPayload of at least 125 units on the craft
- disableOnStateChange = false
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
-
- // Minimum distance to have line of sight for 3 satellites for Kerbin.
- minPeA = @/targetBody.Radius()
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2d
-
- preWaitText = Testing time after network up
- waitingText = Performing shake-out testing
- completionText = Shake-out testing completed
- }
-}
diff --git a/GameData/RP-1/Commercial Applications/EarlyComNetwork4.cfg b/GameData/RP-1/Commercial Applications/EarlyComNetwork4.cfg
deleted file mode 100644
index 1b513dec43f..00000000000
--- a/GameData/RP-1/Commercial Applications/EarlyComNetwork4.cfg
+++ /dev/null
@@ -1,270 +0,0 @@
-CONTRACT_TYPE
-{
- name = EarlyComNetwork4
- title = Early Communications Network (4 Satellites)
- group = CommNetwork
-
-
- description = Program: Communication Network
Type: Required
Mission control is tired of losing vessels and probes over the horizon, since they are rarely heard from again. We need to find a way to stay in constant communication with our probes.&br;&br;Build a communication network with four ComSats that has continuous connectivity to mission control.&br;&br;NOTE: Make sure to only accept either the three or four satellite version of this contract (it's impossible to complete both).
-
- synopsis = Launch a 4 satellite Communications Network
-
- completedMessage = Congratulations! The network is up and transmitting, and our shake-out testing is complete!
-
- sortKey = 902
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 200
- failureReputation = 0 // was @rewardReputation
-
-
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = CommNetwork
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = EarlyComNetwork3
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- contractType = EarlyComNetwork3
- invertRequirement = true
- }
-
- PARAMETER
- {
- name = CommSat1
- type = VesselParameterGroup
-
- define = CommSat I
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat II
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat III
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- disableOnStateChange = false
- title = Have a ComSatPayload of at least 125 units on the craft
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
- // Minimum distance to have line of sight for 4 satellites for Kerbin.
- minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = CommSat2
- type = VesselParameterGroup
-
- define = CommSat II
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat III
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- disableOnStateChange = false
- title = Have a ComSatPayload of at least 125 units on the craft
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
- // Minimum distance to have line of sight for 4 satellites for Kerbin.
- minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = CommSat3
- type = VesselParameterGroup
-
- define = CommSat III
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat I
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- disableOnStateChange = false
- title = Have a ComSatPayload of at least 125 units on the craft
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
- // Minimum distance to have line of sight for 4 satellites for Kerbin.
- minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = CommSat4
- type = VesselParameterGroup
-
- define = CommSat IV
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat II
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- disableOnStateChange = false
- title = Have a ComSatPayload of at least 125 units on the craft
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
- // Minimum distance to have line of sight for 4 satellites for Kerbin.
- minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2d
-
- preWaitText = Testing time after network up
- waitingText = Performing shake-out testing
- completionText = Shake-out testing completed
- }
-}
diff --git a/GameData/RP-1/Commercial Applications/EarlyComSat.cfg b/GameData/RP-1/Commercial Applications/EarlyComSat.cfg
deleted file mode 100644
index 71817951518..00000000000
--- a/GameData/RP-1/Commercial Applications/EarlyComSat.cfg
+++ /dev/null
@@ -1,220 +0,0 @@
-CONTRACT_TYPE
-{
- name = EarlyComSat
- title = Commercial Communications Satellite (Early)
- group = TargetedSats
-
- tag = exclude_RepeatableComSat
-
- description = Program: Targeted Satellites or Comm Network
Type: Optional
Now that we have tested out the Communications Satellite Technology, there are many uses we have for these satellites. We have a customer that is requesting a new satellite. Launch a new communications Satellite into the specified orbit.&br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
- genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
-
- synopsis = Launch a Communications Satellite for a customer.
-
- completedMessage = Success! The communications satellite was launched into the proper orbit. Your customer is very happy.
-
- sortKey = 499
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 1
- maxExpiry = 1
- maxCompletions = 0
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardFunds = 0
- rewardScience = 0
- rewardReputation = Round(55 * Pow(@EarlyComSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
- failureReputation = 0 // was @rewardReputation
- failureFunds = 0
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = Any
- type = Any
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = CommNetwork
- }
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = ComTestSat
- minCount = 2
- title = Complete 'Communications Test Satellite' contract at least @minCount times
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_RepeatableComSat
- invertRequirement = true
- }
-
- DATA
- {
- type = int
- index = $EarlyComSat_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_OFFERED
- {
- RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
- }
- CONTRACT_COMPLETED_SUCCESS
- {
- EarlyComSat_Count = $EarlyComSat_Count + 1
- RepeatSat_Completion = UniversalTime()
- }
- }
-
- DATA
- {
- type = int
- antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
- }
-
- DATA
- {
- type = float
- elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
- rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
- rewardFactorPercent = Round(@rewardFactor * 100, 1)
- }
-
- DATA
- {
- type = float
- payload = Round(Random(150,500),1)
- }
-
- // ************ PARAMETERS ************
-
- PARAMETER
- {
- name = EarlyComSat
- type = VesselParameterGroup
- define = EarlyComSatellite
- dissassociateVesselsOnContractCompletion = true
- title = Communications satellite (early)
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = Round(Random(30, 31))
- minPeA = Round(Random(700000, 1000000), 1000)
- minApA = Round(Random(3000000, 10000000), 1000)
- maxApA = Round(Random(10000000, 30000000), 1000)
- disableOnStateChange = true
- title = Achieve orbit within the parameters
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = EarlyComSatellite
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The contract has been completed successfully and the satellite has been transferred back to the customer.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Commercial Applications/FirstComSat.cfg b/GameData/RP-1/Commercial Applications/FirstComSat.cfg
deleted file mode 100644
index be6920596d6..00000000000
--- a/GameData/RP-1/Commercial Applications/FirstComSat.cfg
+++ /dev/null
@@ -1,149 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstComSat
- title = First Communications Satellite
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: Required
Our communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
-
- synopsis = Launch the first communication satellite
-
- completedMessage = Congratulations! Satellite communications will be how humans communicate across the globe with each other.
-
- sortKey = 512
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 45
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = Any
- type = Any
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = CommNetwork
- }
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- DATA
- {
- type = float
- payload = 80
- }
-
- BEHAVIOUR
- {
- name = StartSoftCooldown
- type = Expression
-
- CONTRACT_COMPLETED_SUCCESS
- {
- RepeatSat_Completion = UniversalTime()
- }
- }
-
- PARAMETER
- {
- name = FirstComSat
- type = VesselParameterGroup
- title = First communications satellite
- define = FirstComSat
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = 35
- minPeA = 850000
- minApA = 4500000
- disableOnStateChange = true
- title = Achieve orbit with a minimum inclination of 35 degrees, a minimum perigee of 850 km, and an apogee of more than 4500 km
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-}
diff --git a/GameData/RP-1/Commercial Applications/GEORepeatComSats.cfg b/GameData/RP-1/Commercial Applications/GEORepeatComSats.cfg
deleted file mode 100644
index d071836a9e9..00000000000
--- a/GameData/RP-1/Commercial Applications/GEORepeatComSats.cfg
+++ /dev/null
@@ -1,205 +0,0 @@
-CONTRACT_TYPE
-{
- name = GEORepeatComSats
- title = Geostationary Commercial Communications Satellite
- group = GEOCommNetwork
- agent = Satellites
-
- tag = exclude_RepeatableComSat
-
- description = Program: Geostationary Communications Network
Type: Optional
We have a customer requesting a new Communications Satellite. Design a satellite within their specs and launch into an orbit with the proper orbital parameters as outlined in the contract.&br;&br;This contract can be completed as many times as you would like.&br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_GEORepeatComSats
Number of Contracts Completed: @index / unlimited
- genericDescription = Put a satellite with the appropriate amount of communications satellite payload into geostationary orbit.
-
- synopsis = Launch a new Commercial Communications Satellite
-
- completedMessage = Congratulations! The customer has reported the satellite is in the proper orbit.
-
- sortKey = 904
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 1
- maxExpiry = 1
- maxCompletions = 0
- maxSimultaneous = 1
- deadline = 0
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = Round(110 * Pow((@AdvComSat/HasComSatPayload/minQuantity / 350), 0.5) * @rewardFactor, 1)
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = GEOCommNetwork
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_RepeatableComSat
- invertRequirement = true
- }
-
- BEHAVIOUR
- {
- name = OrbitGenerator
- type = OrbitGenerator
-
- RANDOM_ORBIT
- {
- type = STATIONARY
- }
- }
-
- DATA
- {
- type = int
- index = $GEORepeatComSats_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_OFFERED
- {
- RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_GEORepeatComSats * 86400) : ($RepeatSat_Completion + 0)
- }
- CONTRACT_COMPLETED_SUCCESS
- {
- GEORepeatComSats_Count = $GEORepeatComSats_Count + 1
- RepeatSat_Completion = UniversalTime()
- }
- }
-
- DATA
- {
- type = int
- antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_GEORepeatComSats * 86400) : $RepeatSat_Completion
- }
-
- DATA
- {
- type = float
- elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
- rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_GEORepeatComSats * 20 - 9, 1), 2) / 3.46
- rewardFactorPercent = Round(@rewardFactor * 100, 1)
- }
-
- DATA
- {
- type = float
- payload = RP1CommsPayload()
- }
-
- // ************ PARAMETERS ************
-
- PARAMETER
- {
- name = AdvComSat
- type = VesselParameterGroup
- define = AdvComSatellite
- dissassociateVesselsOnContractCompletion = true
- title = Commercial communications satellite
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = ReachSpecificOrbit
- type = ReachSpecificOrbit
- displayNotes = true
- index = 0
- deviationWindow = 4
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = AdvComSatellite
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The contract has been completed successfully and the satellite has been transferred back to the customer.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Commercial Applications/GeoComSatNetwork.cfg b/GameData/RP-1/Commercial Applications/GeoComSatNetwork.cfg
deleted file mode 100644
index f9e5fae7096..00000000000
--- a/GameData/RP-1/Commercial Applications/GeoComSatNetwork.cfg
+++ /dev/null
@@ -1,240 +0,0 @@
-CONTRACT_TYPE
-{
- name = GeoComSatNetwork
- title = Geostationary Communications Network
- group = GEOCommNetwork
- agent = Satellites
-
- description = Program: Geostationary Communications Network
Type: Required
Our previous Communications Network is showing its age. We want you to launch a Geostationary Communications Network to make sure that we have consistent coverage across the globe.
-
- synopsis = Launch a 4 Satellite Geostationary Communications Network
-
- completedMessage = Congratulations! This new high-tech network is working great!
-
- sortKey = 903
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 400
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = GEOCommNetwork
- }
-
-
- PARAMETER
- {
- name = GEOCommSat1
- type = VesselParameterGroup
-
- define = GEO CommSat I
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat II
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat III
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 314.9
- title = Have a ComSatPayload of at least 315 units on the craft
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxEccentricity = 0.1
- minPeriod = 23h 54m
- maxPeriod = 23h 58m
- maxInclination = 1.0
- title = Reach an orbit with the specified parameters
- }
- }
-
- PARAMETER
- {
- name = GEOCommSat2
- type = VesselParameterGroup
-
- define = GEO CommSat II
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat III
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 314.9
- title = Have a ComSatPayload of at least 315 units on the craft
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxEccentricity = 0.1
- minPeriod = 23h 54m
- maxPeriod = 23h 58m
- maxInclination = 1.0
- title = Reach an orbit with the specified parameters
- }
- }
-
- PARAMETER
- {
- name = GEOCommSat3
- type = VesselParameterGroup
-
- define = GEO CommSat III
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat I
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 314.9
- title = Have a ComSatPayload of at least 315 units on the craft
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxEccentricity = 0.1
- minPeriod = 23h 54m
- maxPeriod = 23h 58m
- maxInclination = 1.0
- title = Reach an orbit with the specified parameters
- }
- }
-
- PARAMETER
- {
- name = GEOCommSat4
- type = VesselParameterGroup
-
- define = GEO CommSat IV
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat II
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 314.9
- title = Have a ComSatPayload of at least 315 units on the craft
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxEccentricity = 0.1
- minPeriod = 23h 54m
- maxPeriod = 23h 58m
- maxInclination = 1.0
- title = Reach an orbit with the specified parameters
- }
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2d
-
- preWaitText = Testing time after network up
- waitingText = Performing shake-out testing
- completionText = Shake-out testing completed
- }
-}
From d54ede7b793fe22733c0b240557a4e8b425abac7 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 15:53:56 -0500
Subject: [PATCH 012/109] Add files via upload
---
.../Commercial Applications/ComTestSat.cfg | 218 ++++++++++++++
.../EarlyComNetwork3.cfg | 207 ++++++++++++++
.../EarlyComNetwork4.cfg | 270 ++++++++++++++++++
.../Commercial Applications/EarlyComSat.cfg | 220 ++++++++++++++
.../Commercial Applications/FirstComSat.cfg | 149 ++++++++++
.../GEORepeatComSats.cfg | 205 +++++++++++++
.../GeoComSatNetwork.cfg | 240 ++++++++++++++++
7 files changed, 1509 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/ComTestSat.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork3.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork4.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/EarlyComSat.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/FirstComSat.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/GEORepeatComSats.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/GeoComSatNetwork.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications/ComTestSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/ComTestSat.cfg
new file mode 100644
index 00000000000..05740407ef4
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/ComTestSat.cfg
@@ -0,0 +1,218 @@
+CONTRACT_TYPE
+{
+ name = ComTestSat
+ title = Communications Test Satellite
+ group = TargetedSats
+
+ tag = exclude_RepeatableComSat
+
+ description = Program: Targeted Satellites or Comm Network
Type: Optional
There are groups that want to understand more about communications with satellites. Launch a new communications test satellite into the proper orbit. &br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.&br;&br;Removal Condition: Completion of a Communications Satellite (Early) contract&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_ComTestSat
Number of Contracts Completed: @index / unlimited
+ genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
+ synopsis = Launch a Communications Test Satellite
+
+ completedMessage = Success! We are learning more about space communications with every launch.
+
+ sortKey = 513
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 0
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardFunds = 0
+ rewardScience = 0
+ rewardReputation = Round(55 * Pow(@TestComSat/Orbit/minApA / 6000000, 0.5) * Pow((@TestComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
+ failureReputation = 0 // was @rewardReputation
+ failureFunds = 0
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = CommNetwork
+ }
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_RepeatableComSat
+ invertRequirement = true
+ }
+
+ DATA
+ {
+ type = int
+ index = $ComTestSat_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_OFFERED
+ {
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_ComTestSat * 86400) : ($RepeatSat_Completion + 0)
+ }
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ ComTestSat_Count = $ComTestSat_Count + 1
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ DATA
+ {
+ type = int
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_ComTestSat * 86400) : $RepeatSat_Completion
+ }
+
+ DATA
+ {
+ type = float
+
+ elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_ComTestSat * 20 - 9, 1), 2) / 3.46
+ rewardFactorPercent = Round(@rewardFactor * 100, 1)
+ }
+
+ DATA
+ {
+ type = float
+ payload = Round(Random(80,140),1)
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = TestComSat
+ type = VesselParameterGroup
+ define = TestComSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Communications test satellite
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 50))
+ minPeA = Round(Random(700000, 1000000), 1000)
+ minApA = Round(Random(4000000, 5000000), 1000)
+ maxApA = Round(Random(7000000, 9000000), 1000)
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = TestComSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred back to the customer.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork3.cfg b/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork3.cfg
new file mode 100644
index 00000000000..013764423df
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork3.cfg
@@ -0,0 +1,207 @@
+CONTRACT_TYPE
+{
+ name = EarlyComNetwork3
+ title = Early Communications Network (3 Satellites)
+ group = CommNetwork
+
+
+ description = Program: Communication Network
Type: Required
Mission control is tired of losing vessels and probes over the horizon, since they are rarely heard from again. We need to find a way to stay in constant communication with our probes.&br;&br;Build a communication network with three ComSats that has continuous connectivity to mission control.&br;&br;NOTE: Make sure to only accept either the three or four satellite version of this contract (it's impossible to complete both).
+
+ synopsis = Launch a 3 satellite Communications Network
+
+ completedMessage = Congratulations! The network is up and transmitting, and our shake-out testing is complete!
+
+ sortKey = 901
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+ targetBody = HomeWorld()
+
+ // ************ 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 = CommNetwork
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = EarlyComNetwork4
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyComNetwork4
+ invertRequirement = true
+ }
+
+ // ComSat I
+ PARAMETER
+ {
+ name = CommSat1
+ type = VesselParameterGroup
+
+ define = CommSat I
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat II
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat III
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ title = Have a ComSatPayload of at least 125 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+
+ // Minimum distance to have line of sight for 3 satellites for Kerbin.
+ minPeA = @/targetBody.Radius()
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = CommSat2
+ type = VesselParameterGroup
+
+ define = CommSat II
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat III
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ title = Have a ComSatPayload of at least 125 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+
+ // Minimum distance to have line of sight for 3 satellites for Kerbin.
+ minPeA = @/targetBody.Radius()
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = CommSat3
+ type = VesselParameterGroup
+
+ define = CommSat III
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat I
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ title = Have a ComSatPayload of at least 125 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+
+ // Minimum distance to have line of sight for 3 satellites for Kerbin.
+ minPeA = @/targetBody.Radius()
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2d
+
+ preWaitText = Testing time after network up
+ waitingText = Performing shake-out testing
+ completionText = Shake-out testing completed
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork4.cfg b/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork4.cfg
new file mode 100644
index 00000000000..1b513dec43f
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork4.cfg
@@ -0,0 +1,270 @@
+CONTRACT_TYPE
+{
+ name = EarlyComNetwork4
+ title = Early Communications Network (4 Satellites)
+ group = CommNetwork
+
+
+ description = Program: Communication Network
Type: Required
Mission control is tired of losing vessels and probes over the horizon, since they are rarely heard from again. We need to find a way to stay in constant communication with our probes.&br;&br;Build a communication network with four ComSats that has continuous connectivity to mission control.&br;&br;NOTE: Make sure to only accept either the three or four satellite version of this contract (it's impossible to complete both).
+
+ synopsis = Launch a 4 satellite Communications Network
+
+ completedMessage = Congratulations! The network is up and transmitting, and our shake-out testing is complete!
+
+ sortKey = 902
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 200
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = CommNetwork
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = EarlyComNetwork3
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyComNetwork3
+ invertRequirement = true
+ }
+
+ PARAMETER
+ {
+ name = CommSat1
+ type = VesselParameterGroup
+
+ define = CommSat I
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat II
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat III
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ disableOnStateChange = false
+ title = Have a ComSatPayload of at least 125 units on the craft
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ // Minimum distance to have line of sight for 4 satellites for Kerbin.
+ minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = CommSat2
+ type = VesselParameterGroup
+
+ define = CommSat II
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat III
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ disableOnStateChange = false
+ title = Have a ComSatPayload of at least 125 units on the craft
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ // Minimum distance to have line of sight for 4 satellites for Kerbin.
+ minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = CommSat3
+ type = VesselParameterGroup
+
+ define = CommSat III
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat I
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ disableOnStateChange = false
+ title = Have a ComSatPayload of at least 125 units on the craft
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ // Minimum distance to have line of sight for 4 satellites for Kerbin.
+ minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = CommSat4
+ type = VesselParameterGroup
+
+ define = CommSat IV
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = CommSat II
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 124.9
+ disableOnStateChange = false
+ title = Have a ComSatPayload of at least 125 units on the craft
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ // Minimum distance to have line of sight for 4 satellites for Kerbin.
+ minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
+
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2d
+
+ preWaitText = Testing time after network up
+ waitingText = Performing shake-out testing
+ completionText = Shake-out testing completed
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/EarlyComSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/EarlyComSat.cfg
new file mode 100644
index 00000000000..71817951518
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/EarlyComSat.cfg
@@ -0,0 +1,220 @@
+CONTRACT_TYPE
+{
+ name = EarlyComSat
+ title = Commercial Communications Satellite (Early)
+ group = TargetedSats
+
+ tag = exclude_RepeatableComSat
+
+ description = Program: Targeted Satellites or Comm Network
Type: Optional
Now that we have tested out the Communications Satellite Technology, there are many uses we have for these satellites. We have a customer that is requesting a new satellite. Launch a new communications Satellite into the specified orbit.&br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
+
+ synopsis = Launch a Communications Satellite for a customer.
+
+ completedMessage = Success! The communications satellite was launched into the proper orbit. Your customer is very happy.
+
+ sortKey = 499
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 0
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardFunds = 0
+ rewardScience = 0
+ rewardReputation = Round(55 * Pow(@EarlyComSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
+ failureReputation = 0 // was @rewardReputation
+ failureFunds = 0
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = CommNetwork
+ }
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = ComTestSat
+ minCount = 2
+ title = Complete 'Communications Test Satellite' contract at least @minCount times
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_RepeatableComSat
+ invertRequirement = true
+ }
+
+ DATA
+ {
+ type = int
+ index = $EarlyComSat_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_OFFERED
+ {
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
+ }
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ EarlyComSat_Count = $EarlyComSat_Count + 1
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ DATA
+ {
+ type = int
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
+ }
+
+ DATA
+ {
+ type = float
+ elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
+ rewardFactorPercent = Round(@rewardFactor * 100, 1)
+ }
+
+ DATA
+ {
+ type = float
+ payload = Round(Random(150,500),1)
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = EarlyComSat
+ type = VesselParameterGroup
+ define = EarlyComSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Communications satellite (early)
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 31))
+ minPeA = Round(Random(700000, 1000000), 1000)
+ minApA = Round(Random(3000000, 10000000), 1000)
+ maxApA = Round(Random(10000000, 30000000), 1000)
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = EarlyComSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred back to the customer.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/FirstComSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/FirstComSat.cfg
new file mode 100644
index 00000000000..be6920596d6
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/FirstComSat.cfg
@@ -0,0 +1,149 @@
+CONTRACT_TYPE
+{
+ name = FirstComSat
+ title = First Communications Satellite
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: Required
Our communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
+
+ synopsis = Launch the first communication satellite
+
+ completedMessage = Congratulations! Satellite communications will be how humans communicate across the globe with each other.
+
+ sortKey = 512
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 45
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = CommNetwork
+ }
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ DATA
+ {
+ type = float
+ payload = 80
+ }
+
+ BEHAVIOUR
+ {
+ name = StartSoftCooldown
+ type = Expression
+
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ PARAMETER
+ {
+ name = FirstComSat
+ type = VesselParameterGroup
+ title = First communications satellite
+ define = FirstComSat
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = 35
+ minPeA = 850000
+ minApA = 4500000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum inclination of 35 degrees, a minimum perigee of 850 km, and an apogee of more than 4500 km
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/GEORepeatComSats.cfg b/GameData/RP-1/Contracts/Commercial Applications/GEORepeatComSats.cfg
new file mode 100644
index 00000000000..d071836a9e9
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/GEORepeatComSats.cfg
@@ -0,0 +1,205 @@
+CONTRACT_TYPE
+{
+ name = GEORepeatComSats
+ title = Geostationary Commercial Communications Satellite
+ group = GEOCommNetwork
+ agent = Satellites
+
+ tag = exclude_RepeatableComSat
+
+ description = Program: Geostationary Communications Network
Type: Optional
We have a customer requesting a new Communications Satellite. Design a satellite within their specs and launch into an orbit with the proper orbital parameters as outlined in the contract.&br;&br;This contract can be completed as many times as you would like.&br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_GEORepeatComSats
Number of Contracts Completed: @index / unlimited
+ genericDescription = Put a satellite with the appropriate amount of communications satellite payload into geostationary orbit.
+
+ synopsis = Launch a new Commercial Communications Satellite
+
+ completedMessage = Congratulations! The customer has reported the satellite is in the proper orbit.
+
+ sortKey = 904
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 0
+ maxSimultaneous = 1
+ deadline = 0
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = Round(110 * Pow((@AdvComSat/HasComSatPayload/minQuantity / 350), 0.5) * @rewardFactor, 1)
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = GEOCommNetwork
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_RepeatableComSat
+ invertRequirement = true
+ }
+
+ BEHAVIOUR
+ {
+ name = OrbitGenerator
+ type = OrbitGenerator
+
+ RANDOM_ORBIT
+ {
+ type = STATIONARY
+ }
+ }
+
+ DATA
+ {
+ type = int
+ index = $GEORepeatComSats_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_OFFERED
+ {
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_GEORepeatComSats * 86400) : ($RepeatSat_Completion + 0)
+ }
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ GEORepeatComSats_Count = $GEORepeatComSats_Count + 1
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ DATA
+ {
+ type = int
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_GEORepeatComSats * 86400) : $RepeatSat_Completion
+ }
+
+ DATA
+ {
+ type = float
+ elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_GEORepeatComSats * 20 - 9, 1), 2) / 3.46
+ rewardFactorPercent = Round(@rewardFactor * 100, 1)
+ }
+
+ DATA
+ {
+ type = float
+ payload = RP1CommsPayload()
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = AdvComSat
+ type = VesselParameterGroup
+ define = AdvComSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Commercial communications satellite
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = ReachSpecificOrbit
+ type = ReachSpecificOrbit
+ displayNotes = true
+ index = 0
+ deviationWindow = 4
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = AdvComSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred back to the customer.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/GeoComSatNetwork.cfg b/GameData/RP-1/Contracts/Commercial Applications/GeoComSatNetwork.cfg
new file mode 100644
index 00000000000..f9e5fae7096
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/GeoComSatNetwork.cfg
@@ -0,0 +1,240 @@
+CONTRACT_TYPE
+{
+ name = GeoComSatNetwork
+ title = Geostationary Communications Network
+ group = GEOCommNetwork
+ agent = Satellites
+
+ description = Program: Geostationary Communications Network
Type: Required
Our previous Communications Network is showing its age. We want you to launch a Geostationary Communications Network to make sure that we have consistent coverage across the globe.
+
+ synopsis = Launch a 4 Satellite Geostationary Communications Network
+
+ completedMessage = Congratulations! This new high-tech network is working great!
+
+ sortKey = 903
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 400
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = GEOCommNetwork
+ }
+
+
+ PARAMETER
+ {
+ name = GEOCommSat1
+ type = VesselParameterGroup
+
+ define = GEO CommSat I
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat II
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat III
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 314.9
+ title = Have a ComSatPayload of at least 315 units on the craft
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxEccentricity = 0.1
+ minPeriod = 23h 54m
+ maxPeriod = 23h 58m
+ maxInclination = 1.0
+ title = Reach an orbit with the specified parameters
+ }
+ }
+
+ PARAMETER
+ {
+ name = GEOCommSat2
+ type = VesselParameterGroup
+
+ define = GEO CommSat II
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat III
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 314.9
+ title = Have a ComSatPayload of at least 315 units on the craft
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxEccentricity = 0.1
+ minPeriod = 23h 54m
+ maxPeriod = 23h 58m
+ maxInclination = 1.0
+ title = Reach an orbit with the specified parameters
+ }
+ }
+
+ PARAMETER
+ {
+ name = GEOCommSat3
+ type = VesselParameterGroup
+
+ define = GEO CommSat III
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat I
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat IV
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 314.9
+ title = Have a ComSatPayload of at least 315 units on the craft
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxEccentricity = 0.1
+ minPeriod = 23h 54m
+ maxPeriod = 23h 58m
+ maxInclination = 1.0
+ title = Reach an orbit with the specified parameters
+ }
+ }
+
+ PARAMETER
+ {
+ name = GEOCommSat4
+ type = VesselParameterGroup
+
+ define = GEO CommSat IV
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = GEO CommSat II
+ }
+
+ PARAMETER
+ {
+ name = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 314.9
+ title = Have a ComSatPayload of at least 315 units on the craft
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxEccentricity = 0.1
+ minPeriod = 23h 54m
+ maxPeriod = 23h 58m
+ maxInclination = 1.0
+ title = Reach an orbit with the specified parameters
+ }
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2d
+
+ preWaitText = Testing time after network up
+ waitingText = Performing shake-out testing
+ completionText = Shake-out testing completed
+ }
+}
From 0c344d602d0d5676fae5de16c4df79b9be901c93 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 17:16:19 -0500
Subject: [PATCH 013/109] Add files via upload
---
GameData/RP-1/Programs/Programs.cfg | 47 ++++++++++++++++-------------
1 file changed, 26 insertions(+), 21 deletions(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index c560489fee7..e98b2d8c7a7 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -245,11 +245,11 @@ RP0_PROGRAM
RP0_PROGRAM
{
- name = TargetedSats
- title = Targeted Satellites
- description = Once you have proven that you can send satellites into orbit, the next step is to send them into more useful orbits. The goal of this program is to put satellites with different payload requirements into specific and more challenging orbits. A geostationary orbit will require approximately 13,650 m/s of delta-v if launching from Cape Canaveral.
- requirementsPrettyText = Complete Targeted Satellites
- objectivesPrettyText = Launch satellites to analyze weather and assist in navigation and reach a variety of specific orbits, including geostationary.
+ name = EarlyEOS
+ title = Early Earth Observation Satellites
+ description = Now that you have proven the ability to send satellites into orbit, the next step is to send them into more useful orbits with beneficial payloads. The goal of this program is to put satellites with different payload requirements into specific and more challenging orbits.
+ requirementsPrettyText = Complete Early Satellites program
+ objectivesPrettyText = Launch satellites to analyze weather, measure solar wind and cosmic rays, and determine the extent of the Magnetosphere.
nominalDurationYears = 3
baseFunding = 420000
repDeltaOnCompletePerYearEarly = 130
@@ -267,18 +267,23 @@ RP0_PROGRAM
OBJECTIVES
{
- complete_contract = FirstWeatherSat
- complete_contract = FirstNavSat
- complete_contract = FirstComSat
- complete_contract = FirstGEOSat
- complete_contract = FirstMolniyaSat
- complete_contract = FirstTundraSat
+ complete_contract = ScienceSatCosmicRay1
+ complete_contract = ScienceSatCherenkov
+ complete_contract = ScienceSatMagScan1
+ complete_contract = ScienceSatIRRad
+ complete_contract = ScienceSatGrav
}
OPTIONALS
{
- ComTestSat = true
- EarlyComSat = true
+ ATLEAST
+ {
+ count = 2
+ FirstMolniyaSat = true
+ FirstTundraSat = true
+ ScienceSatIRRadRep = true
+ Corona = true
+ }
}
CONFIDENCECOSTS
@@ -290,9 +295,9 @@ RP0_PROGRAM
RP0_PROGRAM
{
- name = CommNetwork
- title = Communication Network
- description = Communicating with our satellites, and eventually our crewed craft, can be difficult at times. Unless we have line of sight to a tracking station, communication isn't possible. This program tasks you with creating a communications network of 3 or 4 satellites that will provide much better communications coverage. Each satellite will require 125 units of ComSatPayload, and the orbits are fairly high.
+ name = EarlyCommApp
+ title = Commercial Applications
+ description = PLACEHOLDER
requirementsPrettyText = Complete Communication Network
objectivesPrettyText = Create a network of either 3 or 4 communications satellites.
nominalDurationYears = 2
@@ -312,7 +317,6 @@ RP0_PROGRAM
OBJECTIVES
{
- complete_contract = FirstComSat
ANY
{
complete_contract = EarlyComNetwork3
@@ -335,9 +339,9 @@ RP0_PROGRAM
RP0_PROGRAM
{
- name = GEOCommNetwork
- title = Geostationary Communication Network
- description = With geostationary orbits, satellites can be placed at specific spots over the equator where they will stay. This allows communications satellites to be put exactly where they will have the greatest benefit. This program tasks you with creating a 4-satellite Geostationary Network for communication. Each satellite will require 315 units of ComSatPayload.
+ name = AdvCommApp
+ title = Advanced Commercial Applications
+ description = PLACEHOLDER
requirementsPrettyText = Complete the Targeted Satellites Program
objectivesPrettyText = Complete the Geostationary Communications Network.
nominalDurationYears = 2
@@ -349,7 +353,8 @@ RP0_PROGRAM
REQUIREMENTS
{
- complete_program = TargetedSats
+ complete_program = EarlyEOS1
+ complete_program =
}
OBJECTIVES
From 58d823e75be0cce210e693f4c2f13a49de7b68e9 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 17:17:11 -0500
Subject: [PATCH 014/109] Add files via upload
---
.../Commercial Applications/FirstGEOSat.cfg | 121 +++++++++++++++
.../FirstMolniyaSat.cfg | 144 ++++++++++++++++++
.../Commercial Applications/FirstNavSat.cfg | 118 ++++++++++++++
.../FirstTundraSat.cfg | 144 ++++++++++++++++++
4 files changed, 527 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/FirstGEOSat.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/FirstMolniyaSat.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/FirstNavSat.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications/FirstTundraSat.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications/FirstGEOSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/FirstGEOSat.cfg
new file mode 100644
index 00000000000..fcfa92e894e
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/FirstGEOSat.cfg
@@ -0,0 +1,121 @@
+CONTRACT_TYPE
+{
+ name = FirstGEOSat
+ title = First Geostationary Satellite
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: Required
A geostationary orbit is a circular orbit 35,786 km above the Earth's equator and following the direction of the Earth's rotation. An object in such an orbit has an orbital period equal to the Earth's rotational period (23 hours, 56 minutes, and 4.1 seconds) and thus will appear motionless at a fixed position in the sky to ground observers. &br;&br;Launch a satellite into a Geostationary Orbit.
+
+ synopsis = Launch a satellite into a Geostationary Orbit
+
+ completedMessage = Success! The Geostationary orbit is the most commonly used orbit for communications satellites and other observation satellites.
+
+ sortKey = 503
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 80
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ DATA
+ {
+ type = float
+ payload = 25
+ }
+
+ PARAMETER
+ {
+ name = GeostationarySat
+ type = VesselParameterGroup
+ title = Geostationary satellite
+ define = Geostationary
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = ReachSpecificOrbit
+ type = ReachSpecificOrbit
+ displayNotes = true
+ index = 0
+ title = Achieve geostationary orbit
+ deviationWindow = 5.0
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+
+ BEHAVIOUR
+ {
+ name = GeostationaryOrbit
+ type = OrbitGenerator
+ RANDOM_ORBIT
+ {
+ type = STATIONARY
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/FirstMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/FirstMolniyaSat.cfg
new file mode 100644
index 00000000000..8cf5c5252d0
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/FirstMolniyaSat.cfg
@@ -0,0 +1,144 @@
+CONTRACT_TYPE
+{
+ name = FirstMolniyaSat
+ title = First Molniya Orbit Satellite
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+
+ synopsis = Launch a satellite into a Molniya Orbit
+
+ completedMessage = Success! The Molniya orbit is highly eccentric and allows the satellite to spend most of its time over the high latitudes.
+
+ sortKey = 501
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+
+ BEHAVIOUR
+ {
+ name = MolniyaOrbit
+ type = OrbitGenerator
+
+ FIXED_ORBIT
+ {
+ ORBIT
+ {
+ SMA = 26290000
+ ECC = 0.734842145
+ INC = 63.4
+ LPE = -90
+ LAN = 90
+ MNA = 0
+ EPH = 0
+ REF = 1
+ }
+ }
+ }
+
+ DATA
+ {
+ type = float
+ payload = 85
+ }
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Molniya satellite
+ define = MolniyaSatellite
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = ReachOrbit
+ type = Orbit
+ title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
+ minInclination = 61.4
+ maxInclination = 65.4
+ minEccentricity = 0.7
+ minArgumentOfPeriapsis = 220
+ maxArgumentOfPeriapsis = 320
+ minPeA = 500000
+ minPeriod = 11h 56m 2s
+ maxPeriod = 12h 00m 2s
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/FirstNavSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/FirstNavSat.cfg
new file mode 100644
index 00000000000..eb2f72c4d53
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/FirstNavSat.cfg
@@ -0,0 +1,118 @@
+CONTRACT_TYPE
+{
+ name = FirstNavSat
+ title = First Navigational Satellite // Based on Transit 1 through 4
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: Required
Through measuring the Doppler shift of radio signals transmitted from a satellite in a known orbit, it is possible for a receiver on the ground to establish their location, which would have many applications both civilian and military. To test the principle and develop receiver equipment, it is necessary to have a test navigational satellite in orbit. Be sure to include solar panels to generate power. Historically, the first experiments in satellite navigation were made with Transit 1B (119 kg, Thor-Ablestar).
+
+ synopsis = Launch the first navigation satellite
+
+ completedMessage = Congratulations! The satellite is in orbit and we have already begun to receive Doppler curves.
+
+ sortKey = 410
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 40
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingRocket
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ tag = exclude_SoundingDownrange
+ invertRequirement = true
+ }
+
+ PARAMETER
+ {
+ name = FirstNavSat
+ type = VesselParameterGroup
+ title = First navigational satellite
+ define = FirstNavSat
+
+ 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 = HasNavSatPayload
+ type = HasResource
+ resource = NavSatPayload
+ minQuantity = 99.9
+ title = Have a NavSatPayload of at least 100 units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = 45
+ minPeA = 300000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum inclination of 45 degrees and a minimum perigee of 300 km
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/FirstTundraSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/FirstTundraSat.cfg
new file mode 100644
index 00000000000..f836eb3ce40
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications/FirstTundraSat.cfg
@@ -0,0 +1,144 @@
+CONTRACT_TYPE
+{
+ name = FirstTundraSat
+ title = First Tundra Orbit Satellite
+ group = TargetedSats
+ agent = Federation Aeronautique Internationale
+
+ tag = exclude_EarlySatellite
+
+ description = Program: Targeted Satellites
Type: CAPSTONE
A Tundra orbit is a highly elliptical geosynchronous orbit (note: not geostationary orbit) with a high inclination (usually near 63.4) and an orbital period of one sidereal day. A satellite placed in this orbit spends most of its time over a chosen area of the Earth, a phenomenon known as apogee dwell. The ground track of a satellite in a tundra orbit is a closed figure eight. An extreme version of this orbit puts the perigee around 1000 km and the apogee around 70,000 km. The orbit in this contract is actually using data from the Sirius satellites, the only known satellites using a Tundra orbit.&br;&br;Place a satellite into a Tundra orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+
+ synopsis = Launch a satellite into a Tundra Orbit
+
+ completedMessage = Success! The Tundra orbit is highly eccentric and let's the satellite spend most of its time over the high latitudes.
+
+ sortKey = 502
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 55
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstMolniyaSat
+ }
+
+
+ BEHAVIOUR
+ {
+ name = TundraOrbit
+ type = OrbitGenerator
+
+ FIXED_ORBIT
+ {
+ ORBIT
+ {
+ SMA = 42164000
+ ECC = 0.317675037
+ INC = 63.4
+ LPE = -90
+ LAN = 0
+ MNA = 0
+ EPH = 0
+ REF = 1
+ }
+ }
+ }
+
+ DATA
+ {
+ type = float
+ payload = 85
+ }
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Tundra satellite
+ define = TundraSatellite
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = ReachOrbit
+ type = Orbit
+ title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes. This is like a Molniya orbit, but with an orbital period the same as an Earth sidereal day.
+ minInclination = 61.4
+ maxInclination = 65.4
+ minEccentricity = 0.3
+ minArgumentOfPeriapsis = 220
+ maxArgumentOfPeriapsis = 320
+ minPeA = 1000000
+ minPeriod = 23h 54m 4s
+ maxPeriod = 23h 58m 4s
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
From be39413820eb66deea75f753b6d2a3ab2781fea6 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 17:17:31 -0500
Subject: [PATCH 015/109] Add files via upload
---
.../Earth Observation 1/ScienceIRRadRep.cfg | 117 ++++++++++++++++
.../ScienceSatCherenkov.cfg | 119 ++++++++++++++++
.../ScienceSatCosmicRay1.cfg | 128 ++++++++++++++++++
.../Earth Observation 1/ScienceSatIRRad.cfg | 117 ++++++++++++++++
.../ScienceSatIRRadRep.cfg | 117 ++++++++++++++++
.../ScienceSatMagScan1.cfg | 127 +++++++++++++++++
6 files changed, 725 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRadRep.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRadRep.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRadRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRadRep.cfg
new file mode 100644
index 00000000000..14e2d78e307
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRadRep.cfg
@@ -0,0 +1,117 @@
+CONTRACT_TYPE
+{
+ name = ScienceIRRad1Repeat
+ title = Infrared Radiometry Satellite
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
With the success of the first Infrared Radiometer satellite, scientists have asked for more coverage of Earth. Send additional satellites into orbit to create the first fleet of civilian observation satellites.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-2.
+
+ synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 4
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EOS1
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = ScienceSatIRRad
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 1000000
+ minPeA = 500000
+ maxEccentricity = .005
+ disableOnStateChange = true
+ title = Achieve orbit with between 500km and 1,000km in altitude with no more than .005 eccentricity.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0infraredRad1
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
new file mode 100644
index 00000000000..df6f2b7cc4e
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
@@ -0,0 +1,119 @@
+CONTRACT_TYPE
+{
+ name = ScienceCherenkov
+ title = Cherenkov Detection Beyond LEO
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos.&br;&br;Make sure your craft contains a Cherenkov Counter and returns 1-day of science from High Earth Orbit.&br;&br;Real life examples: Explorer 11.
+
+ synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
+
+ completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data about solar wind and cosmic rays.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EOS1
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatCherenkov
+ type = VesselParameterGroup
+ title = Cherenkov detector
+ define = ScienceSatCherenkov
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minEccentricity = .085
+ maxEccentricity = .200
+ minPeA = 200000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0cherenkov
+ fractionComplete = 0.01
+ title = Transmit 1 day's worth (1%) of Cherenkov science from High Earth Orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
new file mode 100644
index 00000000000..5bf9b4fdcd5
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
@@ -0,0 +1,128 @@
+CONTRACT_TYPE
+{
+ name = ScienceCosmicRay1
+ title = Cosmic Ray Satellite Beyond LEO
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-day's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Real life examples: Explorer 6.
+
+ synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
+
+ completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data that has helped characterize the cosmic ray environment around Earth.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EOS1
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatCosmicRay1
+ type = VesselParameterGroup
+ title = Cosmic ray detector
+ define = ScienceSatCosmicRay1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 36000000
+ minPeA = 200000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum apogee of 37,500 km and a perigee higher than 200km.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0cosmicRay1
+ fractionComplete = 0.01
+ title = Transmit 1 day's worth (1%) of Cosmic Ray Science from High Earth Orbit.
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0visibleImaging1
+ fractionComplete = 1
+ title = Transmit video images from High Orbit.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad.cfg
new file mode 100644
index 00000000000..3e2a2ed16eb
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad.cfg
@@ -0,0 +1,117 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatIRRad1
+ title = Infrared Radiometry Satellite
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
+
+ synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EOS1
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = ScienceSatIRRad
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 1000000
+ minPeA = 500000
+ maxEccentricity = .005
+ disableOnStateChange = true
+ title = Achieve orbit with between 500km and 1,000km in altitude with no more than .005 eccentricity.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0infraredRad1
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRadRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRadRep.cfg
new file mode 100644
index 00000000000..decf05a54c0
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRadRep.cfg
@@ -0,0 +1,117 @@
+CONTRACT_TYPE
+{
+ name = ScienceIRRad1Repeat
+ title = Infrared Radiometry Satellite
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
+
+ synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 6
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EOS1
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = ScienceSatIRRad
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 1000000
+ minPeA = 500000
+ maxEccentricity = .005
+ disableOnStateChange = true
+ title = Achieve orbit with between 500km and 1,000km in altitude with no more than .005 eccentricity.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0infraredRad1
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
new file mode 100644
index 00000000000..2728241cfeb
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
@@ -0,0 +1,127 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatMagScan1
+ title = Magnetometer Satellite
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Real life examples: IMP-A.
+
+ synopsis = Launch the first dedicated magnetometry satellite.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EOS1
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatMAgScan1
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = ScienceSatMagScan1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 36000000
+ disableOnStateChange = true
+ title = Achieve an elliptical orbit with min apoapsis of 36,000km.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ fractionComplete = 0.01
+ experiment = RP0magScan1
+ title = Transmit 1 day's worth (1%) of Magnetic Scan science from Low Earth Orbit
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ fractionComplete = 0.01
+ experiment = RP0magScan1
+ title = Transmit 1 day's worth (1%) of Magnetic Scan science from High Earth Orbit
+ }
+ }
+ }
+}
From 34796c6d013ae9c16fd797c7173138d32faecc14 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 22:11:18 -0500
Subject: [PATCH 016/109] Delete GameData/RP-1/Contracts/Earth Observation
1/FirstGEOSat.cfg
---
.../Earth Observation 1/FirstGEOSat.cfg | 121 ------------------
1 file changed, 121 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/FirstGEOSat.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/FirstGEOSat.cfg b/GameData/RP-1/Contracts/Earth Observation 1/FirstGEOSat.cfg
deleted file mode 100644
index fcfa92e894e..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/FirstGEOSat.cfg
+++ /dev/null
@@ -1,121 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstGEOSat
- title = First Geostationary Satellite
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: Required
A geostationary orbit is a circular orbit 35,786 km above the Earth's equator and following the direction of the Earth's rotation. An object in such an orbit has an orbital period equal to the Earth's rotational period (23 hours, 56 minutes, and 4.1 seconds) and thus will appear motionless at a fixed position in the sky to ground observers. &br;&br;Launch a satellite into a Geostationary Orbit.
-
- synopsis = Launch a satellite into a Geostationary Orbit
-
- completedMessage = Success! The Geostationary orbit is the most commonly used orbit for communications satellites and other observation satellites.
-
- sortKey = 503
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 80
- failureReputation = 0 // was @rewardReputation
-
-
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- DATA
- {
- type = float
- payload = 25
- }
-
- PARAMETER
- {
- name = GeostationarySat
- type = VesselParameterGroup
- title = Geostationary satellite
- define = Geostationary
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = ReachSpecificOrbit
- type = ReachSpecificOrbit
- displayNotes = true
- index = 0
- title = Achieve geostationary orbit
- deviationWindow = 5.0
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-
-
- BEHAVIOUR
- {
- name = GeostationaryOrbit
- type = OrbitGenerator
- RANDOM_ORBIT
- {
- type = STATIONARY
- }
- }
-}
From 3dbcf21f2f8d7cd95cd3aa416597eda05a112268 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 22:11:25 -0500
Subject: [PATCH 017/109] Delete GameData/RP-1/Contracts/Earth Observation
1/FirstMolniyaSat.cfg
---
.../Earth Observation 1/FirstMolniyaSat.cfg | 144 ------------------
1 file changed, 144 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/FirstMolniyaSat.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/FirstMolniyaSat.cfg b/GameData/RP-1/Contracts/Earth Observation 1/FirstMolniyaSat.cfg
deleted file mode 100644
index 8cf5c5252d0..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/FirstMolniyaSat.cfg
+++ /dev/null
@@ -1,144 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstMolniyaSat
- title = First Molniya Orbit Satellite
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
-
- synopsis = Launch a satellite into a Molniya Orbit
-
- completedMessage = Success! The Molniya orbit is highly eccentric and allows the satellite to spend most of its time over the high latitudes.
-
- sortKey = 501
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
-
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
- }
-
- BEHAVIOUR
- {
- name = MolniyaOrbit
- type = OrbitGenerator
-
- FIXED_ORBIT
- {
- ORBIT
- {
- SMA = 26290000
- ECC = 0.734842145
- INC = 63.4
- LPE = -90
- LAN = 90
- MNA = 0
- EPH = 0
- REF = 1
- }
- }
- }
-
- DATA
- {
- type = float
- payload = 85
- }
-
- PARAMETER
- {
- name = VesselGroup
- type = VesselParameterGroup
- title = Molniya satellite
- define = MolniyaSatellite
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = ReachOrbit
- type = Orbit
- title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
- minInclination = 61.4
- maxInclination = 65.4
- minEccentricity = 0.7
- minArgumentOfPeriapsis = 220
- maxArgumentOfPeriapsis = 320
- minPeA = 500000
- minPeriod = 11h 56m 2s
- maxPeriod = 12h 00m 2s
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
-
- }
-}
From 0f51b6c5cf48d442271161ad156211284c321340 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 22:11:33 -0500
Subject: [PATCH 018/109] Delete GameData/RP-1/Contracts/Earth Observation
1/FirstNavSat.cfg
---
.../Earth Observation 1/FirstNavSat.cfg | 118 ------------------
1 file changed, 118 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/FirstNavSat.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/FirstNavSat.cfg b/GameData/RP-1/Contracts/Earth Observation 1/FirstNavSat.cfg
deleted file mode 100644
index eb2f72c4d53..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/FirstNavSat.cfg
+++ /dev/null
@@ -1,118 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstNavSat
- title = First Navigational Satellite // Based on Transit 1 through 4
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: Required
Through measuring the Doppler shift of radio signals transmitted from a satellite in a known orbit, it is possible for a receiver on the ground to establish their location, which would have many applications both civilian and military. To test the principle and develop receiver equipment, it is necessary to have a test navigational satellite in orbit. Be sure to include solar panels to generate power. Historically, the first experiments in satellite navigation were made with Transit 1B (119 kg, Thor-Ablestar).
-
- synopsis = Launch the first navigation satellite
-
- completedMessage = Congratulations! The satellite is in orbit and we have already begun to receive Doppler curves.
-
- sortKey = 410
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 40
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- PARAMETER
- {
- name = FirstNavSat
- type = VesselParameterGroup
- title = First navigational satellite
- define = FirstNavSat
-
- 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 = HasNavSatPayload
- type = HasResource
- resource = NavSatPayload
- minQuantity = 99.9
- title = Have a NavSatPayload of at least 100 units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = 45
- minPeA = 300000
- disableOnStateChange = true
- title = Achieve orbit with a minimum inclination of 45 degrees and a minimum perigee of 300 km
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-}
From 9a0d4d7a01a5ca0b7ec6b7ae9b059983db2059eb Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 22:11:40 -0500
Subject: [PATCH 019/109] Delete GameData/RP-1/Contracts/Earth Observation
1/FirstTundraSat.cfg
---
.../Earth Observation 1/FirstTundraSat.cfg | 144 ------------------
1 file changed, 144 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/FirstTundraSat.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/FirstTundraSat.cfg b/GameData/RP-1/Contracts/Earth Observation 1/FirstTundraSat.cfg
deleted file mode 100644
index f836eb3ce40..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/FirstTundraSat.cfg
+++ /dev/null
@@ -1,144 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstTundraSat
- title = First Tundra Orbit Satellite
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: CAPSTONE
A Tundra orbit is a highly elliptical geosynchronous orbit (note: not geostationary orbit) with a high inclination (usually near 63.4) and an orbital period of one sidereal day. A satellite placed in this orbit spends most of its time over a chosen area of the Earth, a phenomenon known as apogee dwell. The ground track of a satellite in a tundra orbit is a closed figure eight. An extreme version of this orbit puts the perigee around 1000 km and the apogee around 70,000 km. The orbit in this contract is actually using data from the Sirius satellites, the only known satellites using a Tundra orbit.&br;&br;Place a satellite into a Tundra orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
-
- synopsis = Launch a satellite into a Tundra Orbit
-
- completedMessage = Success! The Tundra orbit is highly eccentric and let's the satellite spend most of its time over the high latitudes.
-
- sortKey = 502
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 55
- failureReputation = 0 // was @rewardReputation
-
-
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstMolniyaSat
- }
-
-
- BEHAVIOUR
- {
- name = TundraOrbit
- type = OrbitGenerator
-
- FIXED_ORBIT
- {
- ORBIT
- {
- SMA = 42164000
- ECC = 0.317675037
- INC = 63.4
- LPE = -90
- LAN = 0
- MNA = 0
- EPH = 0
- REF = 1
- }
- }
- }
-
- DATA
- {
- type = float
- payload = 85
- }
-
- PARAMETER
- {
- name = VesselGroup
- type = VesselParameterGroup
- title = Tundra satellite
- define = TundraSatellite
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = ReachOrbit
- type = Orbit
- title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes. This is like a Molniya orbit, but with an orbital period the same as an Earth sidereal day.
- minInclination = 61.4
- maxInclination = 65.4
- minEccentricity = 0.3
- minArgumentOfPeriapsis = 220
- maxArgumentOfPeriapsis = 320
- minPeA = 1000000
- minPeriod = 23h 54m 4s
- maxPeriod = 23h 58m 4s
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-}
From 6a7bc6be91b7d7ca729ade59487464377f9bcac1 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 22:12:00 -0500
Subject: [PATCH 020/109] Delete GameData/RP-1/Contracts/Earth Observation
1/FirstWeatherSat.cfg
---
.../Earth Observation 1/FirstWeatherSat.cfg | 124 ------------------
1 file changed, 124 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/FirstWeatherSat.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/FirstWeatherSat.cfg b/GameData/RP-1/Contracts/Earth Observation 1/FirstWeatherSat.cfg
deleted file mode 100644
index 7c78a911dd6..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/FirstWeatherSat.cfg
+++ /dev/null
@@ -1,124 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstWeatherSat
- title = First Weather Satellite // Basically it is TIROS 1
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: Required
The Atmospheric Analysis Satellite that we launched was a good first step to understanding how the upper atmosphere affects the weather. However, our meteorologists want to see images of the clouds to better assess the situation.&br;&br;Launch our first official weather satellite into orbit.
-
- synopsis = Launch the first weather satellite
-
- completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
-
- sortKey = 511
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 40
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- DATA
- {
- type = float
- payload = 20
- }
-
-
- PARAMETER
- {
- name = FirstWeatherSat
- type = VesselParameterGroup
- title = First weather satellite
- define = FirstWeatherSat
-
- 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 = HasWeatherSatPayload
- type = HasResource
- resource = WeatherSatPayload
- minQuantity = @/payload-0.1
- title = Have a WeatherSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minPeA = 300000
- maxEccentricity = 0.005 // TIROS-1 was 0.002
- disableOnStateChange = true
- title = Achieve an orbit with a perigee above 300 km and an eccentricity below 0.005
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-}
From 1f2df4c1c191c5aa92e0611fa54a935b37977d41 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 22:12:14 -0500
Subject: [PATCH 021/109] Delete GameData/RP-1/Contracts/Earth Observation
1/ScienceCherenkov.cfg
---
.../Earth Observation 1/ScienceCherenkov.cfg | 119 ------------------
1 file changed, 119 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceCherenkov.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceCherenkov.cfg
deleted file mode 100644
index 3e548c1b0d9..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceCherenkov.cfg
+++ /dev/null
@@ -1,119 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatCherenkov
- title = Cherenkov Detection Beyond LEO
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos.&br;&br;Make sure your craft contains a Cherenkov Counter and returns 1-day of science from High Earth Orbit.&br;&br;Real life examples: Explorer 11.
-
- synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
-
- completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data about solar wind and cosmic rays.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EOS1
- }
-
-
- PARAMETER
- {
- name = ScienceSatCherenkov
- type = VesselParameterGroup
- title = Cherenkov detector
- define = ScienceSatCherenkov
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minEccentricity = .085
- maxEccentricity = .200
- minPeA = 200000
- disableOnStateChange = true
- title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0cherenkov
- fractionComplete = 0.01
- title = Transmit 1 day's worth (1%) of Cherenkov science from High Earth Orbit
- }
- }
- }
-}
From 5e2db0b74605b819bfa5cef0087822ce5d38bacb Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 22:12:20 -0500
Subject: [PATCH 022/109] Delete GameData/RP-1/Contracts/Earth Observation
1/ScienceCosmicRay1.cfg
---
.../Earth Observation 1/ScienceCosmicRay1.cfg | 118 ------------------
1 file changed, 118 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceCosmicRay1.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceCosmicRay1.cfg
deleted file mode 100644
index db0d46081e5..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceCosmicRay1.cfg
+++ /dev/null
@@ -1,118 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatCosmicRay1
- title = Cosmic Ray Satellite Beyond LEO
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-day's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Real life examples: Explorer 6.
-
- synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
-
- completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data that has helped characterize the cosmic ray environment around Earth.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EOS1
- }
-
-
- PARAMETER
- {
- name = ScienceSatCosmicRay1
- type = VesselParameterGroup
- title = Cosmic ray detector
- define = ScienceSatCosmicRay1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 36000000
- minPeA = 200000
- disableOnStateChange = true
- title = Achieve orbit with a minimum apogee of 37,500 km and a perigee higher than 200km.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0cosmicRay1
- fractionComplete = 0.01
- title = Transmit 1 day's worth (1%) of Cosmic Ray Science from High Earth Orbit
- }
- }
- }
-}
From b64e508dd5645f63e933ad0d10abbbee9bdebd68 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 22:12:27 -0500
Subject: [PATCH 023/109] Delete GameData/RP-1/Contracts/Earth Observation
1/ScienceIRRad.cfg
---
.../Earth Observation 1/ScienceIRRad.cfg | 117 ------------------
1 file changed, 117 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRad.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRad.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRad.cfg
deleted file mode 100644
index 3e2a2ed16eb..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRad.cfg
+++ /dev/null
@@ -1,117 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatIRRad1
- title = Infrared Radiometry Satellite
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
-
- synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
-
- completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EOS1
- }
-
-
- PARAMETER
- {
- name = ScienceSatIRRad
- type = VesselParameterGroup
- title = First weather satellite
- define = ScienceSatIRRad
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 1000000
- minPeA = 500000
- maxEccentricity = .005
- disableOnStateChange = true
- title = Achieve orbit with between 500km and 1,000km in altitude with no more than .005 eccentricity.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0infraredRad1
- }
- }
- }
-}
From ea5a1ee92a0cb368973cc334b5f877e4f9e4815b Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 22:12:51 -0500
Subject: [PATCH 024/109] Delete GameData/RP-1/Contracts/Earth Observation
1/ScienceIRRadRep.cfg
---
.../Earth Observation 1/ScienceIRRadRep.cfg | 117 ------------------
1 file changed, 117 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRadRep.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRadRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRadRep.cfg
deleted file mode 100644
index 14e2d78e307..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceIRRadRep.cfg
+++ /dev/null
@@ -1,117 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceIRRad1Repeat
- title = Infrared Radiometry Satellite
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
With the success of the first Infrared Radiometer satellite, scientists have asked for more coverage of Earth. Send additional satellites into orbit to create the first fleet of civilian observation satellites.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-2.
-
- synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
-
- completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 4
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EOS1
- }
-
-
- PARAMETER
- {
- name = ScienceSatIRRad
- type = VesselParameterGroup
- title = First weather satellite
- define = ScienceSatIRRad
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 1000000
- minPeA = 500000
- maxEccentricity = .005
- disableOnStateChange = true
- title = Achieve orbit with between 500km and 1,000km in altitude with no more than .005 eccentricity.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0infraredRad1
- }
- }
- }
-}
From ad8c8572caa5970a317606618f55b73bb69187a8 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 13 Sep 2023 22:12:59 -0500
Subject: [PATCH 025/109] Delete GameData/RP-1/Contracts/Earth Observation
1/ScienceMagScan1.cfg
---
.../Earth Observation 1/ScienceMagScan1.cfg | 127 ------------------
1 file changed, 127 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceMagScan1.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceMagScan1.cfg
deleted file mode 100644
index 2728241cfeb..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceMagScan1.cfg
+++ /dev/null
@@ -1,127 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatMagScan1
- title = Magnetometer Satellite
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Real life examples: IMP-A.
-
- synopsis = Launch the first dedicated magnetometry satellite.
-
- completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EOS1
- }
-
-
- PARAMETER
- {
- name = ScienceSatMAgScan1
- type = VesselParameterGroup
- title = First weather satellite
- define = ScienceSatMagScan1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 36000000
- disableOnStateChange = true
- title = Achieve an elliptical orbit with min apoapsis of 36,000km.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- fractionComplete = 0.01
- experiment = RP0magScan1
- title = Transmit 1 day's worth (1%) of Magnetic Scan science from Low Earth Orbit
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- fractionComplete = 0.01
- experiment = RP0magScan1
- title = Transmit 1 day's worth (1%) of Magnetic Scan science from High Earth Orbit
- }
- }
- }
-}
From b03fde933fb78434d64352086357c75ada9e9e4f Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 14 Sep 2023 14:52:29 -0500
Subject: [PATCH 026/109] Add files via upload
---
.../Parts/Science/CR01_5-CherenkovCounter.cfg | 52 +++++++++++++++++++
1 file changed, 52 insertions(+)
create mode 100644 GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg
diff --git a/GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg b/GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg
new file mode 100644
index 00000000000..11d746d5dcd
--- /dev/null
+++ b/GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg
@@ -0,0 +1,52 @@
+//**********************************************************************************
+// Cherenkov Detector CRT
+//
+// Based on the Cherenkov Counter Cosmic Ray Telescopes used on many spacecraft
+// for more detailed study of the Cosmic Energy particles.
+//
+// Part originally created by CobaltWolf as the Pioneer 10 Cosmic Ray Telescope
+//
+//**********************************************************************************
+
+PART
+{
+ name = RO-CherenkovDetector
+ module = Part
+ author = SierraHotel
+
+ RSSROConfig = True
+
+ MODEL
+ {
+ model = RP-1/Parts/Science/Assets/Mariner/bluedog_Mariner_CosmicRayDetector
+ }
+ scale = 1.0
+ rescaleFactor = 1.6
+ node_attach = 0.033605, -0.061877, 0.033639, 0, -1, 0
+ TechRequired = earlyScience
+ entryCost = 0
+ cost = 250
+ category = Science
+ subcategory = 0
+ title = CR01.5 - Cherenkov Counter Cosmic Ray Telescope
+ manufacturer = Realism Overhaul
+ description = The Cherenkov detector cosmic ray telescope is another type of high energy particle detector, using a Cherenkov detector in combination with a scintillation detector to further observe and characterize high-energy gamma rays. It measures the arrival directions and energies of gamma rays and highly-energetic charged particles from cosmic radiation. This detailed measurement can allow for more detailed analysis of the radiation environments in interplanetary space.
+ attachRules = 0,1,0,0,1
+ mass = 0.0065 // Source from NASA SP-3028 Space Measurements Survey Instruments and Spacecraft
+ dragModelType = default
+ maximum_drag = 0.2
+ minimum_drag = 0.2
+ angularDrag = 1
+ crashTolerance = 8
+ maxTemp = 1073.15
+ PhysicsSignificance = 1
+ bulkheadProfiles = srf
+
+ tags = cosmic radiation scanner rad science detector muller
+
+}
+
+@PART[RO-ScintillationCounter]:NEEDS[!Kerbalism]:AFTER[RP-0]
+{
+ @description ^=:$: \n\nLevel 1.5 Cosmic Ray Experiment Device. Can gather 100% of Cosmic Ray Science.
+}
From 702e481d11106b5c62dc9e1c121ba0272acf2c5e Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 14 Sep 2023 14:52:39 -0500
Subject: [PATCH 027/109] Add files via upload
From 4be00f0710351356b2dbc49c8c44c0cd43fdac65 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Mon, 18 Sep 2023 12:52:05 -0700
Subject: [PATCH 028/109] Update and rename ScienceSatIRRadRep.cfg to
ScienceSatIRRad1Rep.cfg
---
.../ScienceSatIRRad1Rep.cfg | 142 ++++++++++++++++++
.../ScienceSatIRRadRep.cfg | 117 ---------------
2 files changed, 142 insertions(+), 117 deletions(-)
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRadRep.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
new file mode 100644
index 00000000000..c5fd92aefaa
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
@@ -0,0 +1,142 @@
+CONTRACT_TYPE
+{
+ name = ScienceIRRad1Repeat
+ title = Infrared Radiometry Satellite
+ group = EOS1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request. NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of satellite control to the customer.
Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-2 through TIROS-8.
+
+ synopsis = Launch additional weather satellites with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Congratulations on another succesful launch. Our use of satellites to better understand the impacts of weather phenomena and improve forecasting capabilities continues to improve with every launch.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 7
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 20
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = ScienceIRRad1
+ title = Complete First IR Radiometry Satellite.
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad1Repeat
+ type = VesselParameterGroup
+ title = Additional weather satellite
+ define = ScienceSatIRRad1Rep
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 80))
+ maxInclination = 95
+ minPeA = Round(Random(500000, 1000000), 10000)
+ maxEccentricity = .005
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = ScienceSatIRRad1Rep
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The launch was a success and satellite control has been transferred to the US Weather Bureau.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRadRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRadRep.cfg
deleted file mode 100644
index decf05a54c0..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRadRep.cfg
+++ /dev/null
@@ -1,117 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceIRRad1Repeat
- title = Infrared Radiometry Satellite
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
-
- synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
-
- completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 6
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EOS1
- }
-
-
- PARAMETER
- {
- name = ScienceSatIRRad
- type = VesselParameterGroup
- title = First weather satellite
- define = ScienceSatIRRad
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 1000000
- minPeA = 500000
- maxEccentricity = .005
- disableOnStateChange = true
- title = Achieve orbit with between 500km and 1,000km in altitude with no more than .005 eccentricity.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0infraredRad1
- }
- }
- }
-}
From 0fba9eb0393e99770ade8f9500eff6acca1e1f06 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Mon, 18 Sep 2023 12:55:05 -0700
Subject: [PATCH 029/109] Update Programs.cfg
---
GameData/RP-1/Programs/Programs.cfg | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index e98b2d8c7a7..bd6cb50c65f 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -268,22 +268,16 @@ RP0_PROGRAM
OBJECTIVES
{
complete_contract = ScienceSatCosmicRay1
- complete_contract = ScienceSatCherenkov
+ complete_contract = ScienceSatCherenkov1
complete_contract = ScienceSatMagScan1
- complete_contract = ScienceSatIRRad
- complete_contract = ScienceSatGrav
+ complete_contract = ScienceSatIRRad1
}
OPTIONALS
{
- ATLEAST
- {
- count = 2
- FirstMolniyaSat = true
- FirstTundraSat = true
- ScienceSatIRRadRep = true
- Corona = true
- }
+ ScienceSatIRRad1Rep = true
+ ScienceSatGrav1 = true
+ //Corona1 = true
}
CONFIDENCECOSTS
From f4d8851624b41a91d363286db5fb686756e9634e Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Mon, 18 Sep 2023 13:11:58 -0700
Subject: [PATCH 030/109] Update and rename ScienceSatIRRad.cfg to
ScienceSatIRRad1.cfg
---
...ienceSatIRRad.cfg => ScienceSatIRRad1.cfg} | 43 +++++++++++++++++--
1 file changed, 39 insertions(+), 4 deletions(-)
rename GameData/RP-1/Contracts/Earth Observation 1/{ScienceSatIRRad.cfg => ScienceSatIRRad1.cfg} (73%)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
similarity index 73%
rename from GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad.cfg
rename to GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
index 3e2a2ed16eb..d51c0d0016f 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
@@ -39,7 +39,7 @@ CONTRACT_TYPE
{
name = ProgramActive
type = ProgramActive
- program = EOS1
+ program = EarlyEOS
}
@@ -66,7 +66,28 @@ CONTRACT_TYPE
title = Uncrewed
hideChildren = true
}
-
+ PARAMETER
+ {
+ name = PartValidation1
+ type = PartValidation
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0infraredRad1
+ }
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = PartValidation2
+ type = PartValidation
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0visibleImaging2
+ }
+ hideChildren = true
+ }
PARAMETER
{
name = OrbitSequence
@@ -87,9 +108,11 @@ CONTRACT_TYPE
{
name = Orbit
type = Orbit
- minApA = 1000000
+ maxApA = 1000000
minPeA = 500000
- maxEccentricity = .005
+ maxEccentricity = 0.005
+ minInclination = 30
+ maxInclination = 50
disableOnStateChange = true
title = Achieve orbit with between 500km and 1,000km in altitude with no more than .005 eccentricity.
}
@@ -111,6 +134,18 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0infraredRad1
+ fractionComplete = 0.5
+ title = Transmit infrared radiometry data from Low Orbit.
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0visibleImaging2
+ fractionComplete = 1
+ title = Transmit video images from Low Orbit.
}
}
}
From d7c93f76498760457d20ff4d9ab8d1685f3c9039 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Mon, 18 Sep 2023 15:37:46 -0500
Subject: [PATCH 031/109] Add files via upload
---
.../Earth Observation 1/ScienceSatGrav1.cfg | 121 ++++++++++++++++++
1 file changed, 121 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
new file mode 100644
index 00000000000..c9fd58a073c
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
@@ -0,0 +1,121 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatMagScan1
+ title = Geodetic Satellite
+ group = EarthObservation1
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 1-months worth of science.&br;&br;Real life examples: ANNA 1B.
+
+ synopsis = Launch the first dedicated geodetic satellite.
+
+ completedMessage = Interesting, the gravity of Earth is far less uniform than expected.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = earlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatGrav1
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = ScienceSatGrav1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 550000
+ minPeA = 450000
+ minInclination = 48
+ maxInclination = 52
+ maxEccentricity = 0.003
+ disableOnStateChange = true
+ title = Achieve an inclined circular orbit with less than .003 eccentricity
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ fractionComplete = 0.0083
+ experiment = RP0orbitalPurturbation1
+ title = Transmit 1 month's worth (0.8%) of Orbital Perturbation science from Low Earth Orbit
+ }
+ }
+ }
+}
From 28effaf59719eb27c3af471f15d22a5be166e933 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 02:28:44 -0500
Subject: [PATCH 032/109] Update Programs.cfg
---
GameData/RP-1/Programs/Programs.cfg | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index bd6cb50c65f..8b29d701cc0 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -268,16 +268,17 @@ RP0_PROGRAM
OBJECTIVES
{
complete_contract = ScienceSatCosmicRay1
- complete_contract = ScienceSatCherenkov1
+ complete_contract = ScienceSatCherenkov
complete_contract = ScienceSatMagScan1
complete_contract = ScienceSatIRRad1
+ complete_contract = Corona1
}
OPTIONALS
{
ScienceSatIRRad1Rep = true
ScienceSatGrav1 = true
- //Corona1 = true
+ Corona2 = true
}
CONFIDENCECOSTS
From 5dc254b913b5c358ba2d8981318bc927f25e62c4 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 02:29:05 -0500
Subject: [PATCH 033/109] Delete GameData/RP-1/Contracts/Earth Observation 1
directory
---
.../ScienceSatCherenkov.cfg | 119 --------------
.../ScienceSatCosmicRay1.cfg | 128 ---------------
.../Earth Observation 1/ScienceSatGrav1.cfg | 121 --------------
.../Earth Observation 1/ScienceSatIRRad1.cfg | 152 ------------------
.../ScienceSatIRRad1Rep.cfg | 142 ----------------
.../ScienceSatMagScan1.cfg | 127 ---------------
6 files changed, 789 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
deleted file mode 100644
index df6f2b7cc4e..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
+++ /dev/null
@@ -1,119 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceCherenkov
- title = Cherenkov Detection Beyond LEO
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos.&br;&br;Make sure your craft contains a Cherenkov Counter and returns 1-day of science from High Earth Orbit.&br;&br;Real life examples: Explorer 11.
-
- synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
-
- completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data about solar wind and cosmic rays.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EOS1
- }
-
-
- PARAMETER
- {
- name = ScienceSatCherenkov
- type = VesselParameterGroup
- title = Cherenkov detector
- define = ScienceSatCherenkov
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minEccentricity = .085
- maxEccentricity = .200
- minPeA = 200000
- disableOnStateChange = true
- title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0cherenkov
- fractionComplete = 0.01
- title = Transmit 1 day's worth (1%) of Cherenkov science from High Earth Orbit
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
deleted file mode 100644
index 5bf9b4fdcd5..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
+++ /dev/null
@@ -1,128 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceCosmicRay1
- title = Cosmic Ray Satellite Beyond LEO
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-day's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Real life examples: Explorer 6.
-
- synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
-
- completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data that has helped characterize the cosmic ray environment around Earth.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EOS1
- }
-
-
- PARAMETER
- {
- name = ScienceSatCosmicRay1
- type = VesselParameterGroup
- title = Cosmic ray detector
- define = ScienceSatCosmicRay1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 36000000
- minPeA = 200000
- disableOnStateChange = true
- title = Achieve orbit with a minimum apogee of 37,500 km and a perigee higher than 200km.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0cosmicRay1
- fractionComplete = 0.01
- title = Transmit 1 day's worth (1%) of Cosmic Ray Science from High Earth Orbit.
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0visibleImaging1
- fractionComplete = 1
- title = Transmit video images from High Orbit.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
deleted file mode 100644
index c9fd58a073c..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
+++ /dev/null
@@ -1,121 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatMagScan1
- title = Geodetic Satellite
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 1-months worth of science.&br;&br;Real life examples: ANNA 1B.
-
- synopsis = Launch the first dedicated geodetic satellite.
-
- completedMessage = Interesting, the gravity of Earth is far less uniform than expected.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = earlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatGrav1
- type = VesselParameterGroup
- title = First weather satellite
- define = ScienceSatGrav1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxApA = 550000
- minPeA = 450000
- minInclination = 48
- maxInclination = 52
- maxEccentricity = 0.003
- disableOnStateChange = true
- title = Achieve an inclined circular orbit with less than .003 eccentricity
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- fractionComplete = 0.0083
- experiment = RP0orbitalPurturbation1
- title = Transmit 1 month's worth (0.8%) of Orbital Perturbation science from Low Earth Orbit
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
deleted file mode 100644
index d51c0d0016f..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
+++ /dev/null
@@ -1,152 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatIRRad1
- title = Infrared Radiometry Satellite
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
-
- synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
-
- completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatIRRad
- type = VesselParameterGroup
- title = First weather satellite
- define = ScienceSatIRRad
-
- 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 = PartValidation1
- type = PartValidation
- MODULE
- {
- name = Experiment
- experiment_id = RP0infraredRad1
- }
- hideChildren = true
- }
- PARAMETER
- {
- name = PartValidation2
- type = PartValidation
- MODULE
- {
- name = Experiment
- experiment_id = RP0visibleImaging2
- }
- hideChildren = true
- }
- PARAMETER
- {
- name = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxApA = 1000000
- minPeA = 500000
- maxEccentricity = 0.005
- minInclination = 30
- maxInclination = 50
- disableOnStateChange = true
- title = Achieve orbit with between 500km and 1,000km in altitude with no more than .005 eccentricity.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0infraredRad1
- fractionComplete = 0.5
- title = Transmit infrared radiometry data from Low Orbit.
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0visibleImaging2
- fractionComplete = 1
- title = Transmit video images from Low Orbit.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
deleted file mode 100644
index c5fd92aefaa..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
+++ /dev/null
@@ -1,142 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceIRRad1Repeat
- title = Infrared Radiometry Satellite
- group = EOS1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request. NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of satellite control to the customer.
Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-2 through TIROS-8.
-
- synopsis = Launch additional weather satellites with the Infrared Radiometry experiment and an Early TV camera.
-
- completedMessage = Congratulations on another succesful launch. Our use of satellites to better understand the impacts of weather phenomena and improve forecasting capabilities continues to improve with every launch.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 7
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 20
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = ScienceIRRad1
- title = Complete First IR Radiometry Satellite.
-
- PARAMETER
- {
- name = ScienceSatIRRad1Repeat
- type = VesselParameterGroup
- title = Additional weather satellite
- define = ScienceSatIRRad1Rep
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = Round(Random(30, 80))
- maxInclination = 95
- minPeA = Round(Random(500000, 1000000), 10000)
- maxEccentricity = .005
- disableOnStateChange = true
- title = Achieve orbit within the parameters
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = ScienceSatIRRad1Rep
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The launch was a success and satellite control has been transferred to the US Weather Bureau.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
deleted file mode 100644
index 2728241cfeb..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
+++ /dev/null
@@ -1,127 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatMagScan1
- title = Magnetometer Satellite
- group = EarthObservation1
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Real life examples: IMP-A.
-
- synopsis = Launch the first dedicated magnetometry satellite.
-
- completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EOS1
- }
-
-
- PARAMETER
- {
- name = ScienceSatMAgScan1
- type = VesselParameterGroup
- title = First weather satellite
- define = ScienceSatMagScan1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 36000000
- disableOnStateChange = true
- title = Achieve an elliptical orbit with min apoapsis of 36,000km.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- fractionComplete = 0.01
- experiment = RP0magScan1
- title = Transmit 1 day's worth (1%) of Magnetic Scan science from Low Earth Orbit
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- fractionComplete = 0.01
- experiment = RP0magScan1
- title = Transmit 1 day's worth (1%) of Magnetic Scan science from High Earth Orbit
- }
- }
- }
-}
From 2c738956c2cd09e8eef0db654da2210238e9cf51 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 02:29:32 -0500
Subject: [PATCH 034/109] Add files via upload
---
.../Contracts/Earth Observation 1/Corona1.cfg | 134 +++++++++++++++
.../Contracts/Earth Observation 1/Corona2.cfg | 152 +++++++++++++++++
.../ScienceSatCherenkov.cfg | 119 +++++++++++++
.../ScienceSatCosmicRay1.cfg | 128 ++++++++++++++
.../Earth Observation 1/ScienceSatGrav1.cfg | 121 +++++++++++++
.../Earth Observation 1/ScienceSatIRRad1.cfg | 128 ++++++++++++++
.../ScienceSatIRRad1Rep.cfg | 160 ++++++++++++++++++
.../ScienceSatMagScan1.cfg | 127 ++++++++++++++
8 files changed, 1069 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/Corona1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/Corona2.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/Corona1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/Corona1.cfg
new file mode 100644
index 00000000000..4cde21b0353
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/Corona1.cfg
@@ -0,0 +1,134 @@
+CONTRACT_TYPE
+{
+ name = Corona1
+ title = Earth Imaging Satellite
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images of Earth's surface from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals, but these types of satellites have numerous peaceful purposes as well, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.&br;&br;Real life examples: CORONA/Keyhole-1.
+
+ synopsis = Launch the first dedicated imagery satellite.
+
+ completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 80
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ //REQUIREMENT
+ //{ name = CompleteContract
+ // type = CompleteContract
+ // contractType = first_OrbitRecover
+ // title = Completed First Orbit Recovery
+ //}
+
+ PARAMETER
+ {
+ name = Corona1
+ type = VesselParameterGroup
+ title = First high resolution imagery satellite
+ define = Corona1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for two days and return science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for two days
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 200000
+ maxEccentricity = 0.035
+ minInclination = 80
+ maxInclination = 100
+ disableOnStateChange = true
+ title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 2d
+ preWaitText = Remain in orbit
+ waitingText = Exposing film...
+ completionText = Orbit period complete, return film
+ }
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ experiment = RP0photos2
+ fractionComplete = 0.0083
+ title = Return the film package from Low Earth Orbit to the surface
+
+ PARAMETER
+ {
+ name = ReturnHome
+ type = RP1ReturnHome
+ title = Return home safely
+ hideChildren = true
+ completeInSequence = true
+ }
+ }
+
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/Corona2.cfg b/GameData/RP-1/Contracts/Earth Observation 1/Corona2.cfg
new file mode 100644
index 00000000000..739eb57c906
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/Corona2.cfg
@@ -0,0 +1,152 @@
+CONTRACT_TYPE
+{
+ name = Corona2
+ title = Earth Imaging Satellite, Long Duration
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface.Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: CORONA/Keyhole-1.
+
+ synopsis = Launch another dedicated imagery satellite.
+
+ completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 4
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 80
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ REQUIREMENT
+ { name = CompleteContract
+ type = CompleteContract
+ contractType = Corona1
+ title = Completed Earth Imaging Satellite
+ }
+
+ DATA
+ {
+ type = int
+ index = $RepeatCoronaSats_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ RepeatCoronaSats_Count = $RepeatCoronaSats_Count + 1
+ }
+ }
+
+ PARAMETER
+ {
+ name = Corona2
+ type = VesselParameterGroup
+ title = High resolution imagery satellite
+ define = Corona2
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for 6 months and return science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for two days
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 200000
+ maxEccentricity = 0.035
+ minInclination = 80
+ maxInclination = 100
+ disableOnStateChange = true
+ title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 183d
+ preWaitText = Remain in orbit
+ waitingText = Exposing film...
+ completionText = Orbit period complete, return film
+ }
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0photos2
+ fractionComplete = 0.25
+ title = Return the film package from Low Earth Orbit to the surface
+
+ PARAMETER
+ {
+ name = ReturnHome
+ type = RP1ReturnHome
+ title = Return home safely
+ hideChildren = true
+ completeInSequence = true
+ }
+ }
+
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
new file mode 100644
index 00000000000..c7624c78916
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
@@ -0,0 +1,119 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatCherenkov
+ title = Cherenkov Detection Beyond LEO
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos.&br;&br;Make sure your craft contains a Cherenkov Counter and returns 1-day of science from High Earth Orbit.&br;&br;Real life examples: Explorer 11.
+
+ synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
+
+ completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data about solar wind and cosmic rays.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatCherenkov
+ type = VesselParameterGroup
+ title = Cherenkov detector
+ define = ScienceSatCherenkov
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minEccentricity = 0.085
+ maxEccentricity = 0.200
+ minPeA = 200000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0cosmicRay1
+ fractionComplete = 0.01
+ title = Transmit 1 day's worth (1%) of Cherenkov science from High Earth Orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
new file mode 100644
index 00000000000..1d544651a0a
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
@@ -0,0 +1,128 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatCosmicRay1
+ title = Cosmic Ray Satellite Beyond LEO
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-day's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Real life examples: Explorer 6.
+
+ synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
+
+ completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data that has helped characterize the cosmic ray environment around Earth.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatCosmicRay1
+ type = VesselParameterGroup
+ title = Cosmic ray detector
+ define = ScienceSatCosmicRay1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 36000000
+ minPeA = 200000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum apogee of 36,000 km and a perigee higher than 200km.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0cosmicRay1
+ fractionComplete = 0.01
+ title = Transmit 1 day's worth (1%) of Cosmic Ray Science from High Earth Orbit.
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0visibleImaging1
+ fractionComplete = 1
+ title = Transmit video images from High Orbit.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
new file mode 100644
index 00000000000..c85cd98c549
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
@@ -0,0 +1,121 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatGrav1
+ title = Gravimetric Satellite
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 1-months worth of science.&br;&br;Real life examples: ANNA 1B
+
+ synopsis = Launch the first dedicated geodetic satellite.
+
+ completedMessage = Interesting, the gravity field of Earth is far less uniform than expected.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatGrav1
+ type = VesselParameterGroup
+ title = Gravimetric satellite
+ define = ScienceSatGrav1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 550000
+ minPeA = 450000
+ minInclination = 48
+ maxInclination = 52
+ maxEccentricity = 0.003
+ disableOnStateChange = true
+ title = Achieve an inclined circular orbit with less than .003 eccentricity
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ fractionComplete = 0.0083
+ experiment = RP0orbitalPurturbation1
+ title = Transmit 1 month's worth (0.8%) of Orbital Perturbation science from Low Earth Orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
new file mode 100644
index 00000000000..a47eb62ed51
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
@@ -0,0 +1,128 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatIRRad1
+ title = Infrared Radiometry Satellite
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
+
+ synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = ScienceSatIRRad
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 1000000
+ minPeA = 500000
+ maxEccentricity = 0.005
+ disableOnStateChange = true
+ title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0infraredRad1
+ title = Transmit infrared weather data from low orbit
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0visibleImaging1
+ fractionComplete = 1
+ title = Transmit corresponding video images from low orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
new file mode 100644
index 00000000000..04338d89a6b
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
@@ -0,0 +1,160 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatIRRad1Repeat
+ title = Additional Infrared Radiometry Satellites
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request. NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of satellite control to the customer.
Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: TIROS-2 through TIROS-8.
+
+ synopsis = Launch additional weather satellites with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Congratulations on another succesful launch. Our use of satellites to better understand the impacts of weather phenomena and improve forecasting capabilities continues to improve with every launch.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 7
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 20
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = ScienceSatIRRad1
+ title = Complete first IR Radiometry satellite.
+ }
+
+ DATA
+ {
+ type = int
+ index = $RepeatIRRadSats_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ RepeatIRRadSats_Count = $RepeatIRRadSats_Count + 1
+ }
+ }
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad1Repeat
+ type = VesselParameterGroup
+ title = Additional weather satellite
+ define = ScienceSatIRRad1Repeat
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 80))
+ maxInclination = 95
+ minPeA = Round(Random(500000, 1000000), 10000)
+ maxEccentricity = 0.005
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = ScienceSatIRRad1Repeat
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The launch was a success and satellite control has been transferred to the US Weather Bureau.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
new file mode 100644
index 00000000000..55c679d73ce
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
@@ -0,0 +1,127 @@
+CONTRACT_TYPE
+{
+ name = ScienceSatMagScan1
+ title = Magnetometry Satellite
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Real life examples: IMP-A.
+
+ synopsis = Launch the first dedicated magnetometry satellite.
+
+ completedMessage = Our scientists now better understand the magnetosphere surrounding Earth and, combined with previous data, have determined the existance of a standing shock wave in the solar wind around the magnetic field.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatMagScan1
+ type = VesselParameterGroup
+ title = First magnetrometry satellite
+ define = ScienceSatMagScan1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 36000000
+ disableOnStateChange = true
+ title = Achieve an elliptical orbit with min apoapsis of 36,000km.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ fractionComplete = 0.03
+ experiment = RP0magScan1
+ title = Transmit 1 day's worth (3%) of Magnetic Scan science from Low Earth Orbit
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ fractionComplete = 0.03
+ experiment = RP0magScan1
+ title = Transmit 1 day's worth (3%) of Magnetic Scan science from High Earth Orbit
+ }
+ }
+ }
+}
From ee8926f348bd047010898538f5073c17ba550531 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 11:41:33 -0700
Subject: [PATCH 035/109] Update Programs.cfg
Added back in TargetedSats, CommNetwork, GeoComNetwork with isDisabled and Deprecated
---
GameData/RP-1/Programs/Programs.cfg | 142 +++++++++++++++++++++++++++-
1 file changed, 138 insertions(+), 4 deletions(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index 8b29d701cc0..31677b1cf33 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -243,6 +243,51 @@ RP0_PROGRAM
}
}
+RP0_PROGRAM
+{
+ name = TargetedSats
+ isDisabled = True
+ title = Targeted Satellites (Deprecated)
+ description = Once you have proven that you can send satellites into orbit, the next step is to send them into more useful orbits. The goal of this program is to put satellites with different payload requirements into specific and more challenging orbits. A geostationary orbit will require approximately 13,650 m/s of delta-v if launching from Cape Canaveral.
+ requirementsPrettyText = Complete Targeted Satellites
+ objectivesPrettyText = Launch satellites to analyze weather and assist in navigation and reach a variety of specific orbits, including geostationary.
+ nominalDurationYears = 3
+ baseFunding = 420000
+ repDeltaOnCompletePerYearEarly = 130
+ repPenaltyPerYearLate = 130
+ slots = 1
+
+ REQUIREMENTS
+ {
+ ANY
+ {
+ complete_program = EarlySatellites
+ complete_program = EarlySatellites-Heavy
+ }
+ }
+
+ OBJECTIVES
+ {
+ complete_contract = FirstWeatherSat
+ complete_contract = FirstNavSat
+ complete_contract = FirstComSat
+ complete_contract = FirstGEOSat
+ complete_contract = FirstMolniyaSat
+ complete_contract = FirstTundraSat
+ }
+
+ OPTIONALS
+ {
+ ComTestSat = true
+ EarlyComSat = true
+ }
+
+ CONFIDENCECOSTS
+ {
+ Normal = 300
+ Fast = 600
+ }
+}
RP0_PROGRAM
{
name = EarlyEOS
@@ -293,7 +338,7 @@ RP0_PROGRAM
name = EarlyCommApp
title = Commercial Applications
description = PLACEHOLDER
- requirementsPrettyText = Complete Communication Network
+ requirementsPrettyText = Complete Early Satellites program
objectivesPrettyText = Create a network of either 3 or 4 communications satellites.
nominalDurationYears = 2
baseFunding = 280000
@@ -337,6 +382,97 @@ RP0_PROGRAM
name = AdvCommApp
title = Advanced Commercial Applications
description = PLACEHOLDER
+ requirementsPrettyText = Complete the Commercial Applications program
+ objectivesPrettyText = Complete a Geostationary Communications Network.
+ nominalDurationYears = 2
+ baseFunding = 700000
+ fundingCurve = MildBackloadedFundingCurve
+ repDeltaOnCompletePerYearEarly = 420
+ repPenaltyPerYearLate = 420
+ slots = 2
+
+ REQUIREMENTS
+ {
+ ANY
+ {
+ complete_program = EarlyEOS1
+ complete_Program = TargetedSats
+ }
+ ANY
+ {
+ complete_program = CommApp
+ complete_program = CommNetwork
+ }
+ }
+
+ OBJECTIVES
+ {
+ complete_contract = GeoComSatNetwork
+ }
+
+ OPTIONALS
+ {
+ GEORepeatComSats = true
+ }
+
+ CONFIDENCECOSTS
+ {
+ Normal = 450
+ Fast = 900
+ }
+}
+RP0_PROGRAM
+{
+ name = CommNetwork
+ isDisabled = True
+ title = Communication Network (Deprecated)
+ description = Communicating with our satellites, and eventually our crewed craft, can be difficult at times. Unless we have line of sight to a tracking station, communication isn't possible. This program tasks you with creating a communications network of 3 or 4 satellites that will provide much better communications coverage. Each satellite will require 125 units of ComSatPayload, and the orbits are fairly high.
+ requirementsPrettyText = Complete Communication Network
+ objectivesPrettyText = Create a network of either 3 or 4 communications satellites.
+ nominalDurationYears = 2
+ baseFunding = 280000
+ repDeltaOnCompletePerYearEarly = 110
+ repPenaltyPerYearLate = 110
+ slots = 1
+
+ REQUIREMENTS
+ {
+ ANY
+ {
+ complete_program = EarlySatellites
+ complete_program = EarlySatellites-Heavy
+ }
+ }
+
+ OBJECTIVES
+ {
+ complete_contract = FirstComSat
+ ANY
+ {
+ complete_contract = EarlyComNetwork3
+ complete_contract = EarlyComNetwork4
+ }
+ }
+
+ OPTIONALS
+ {
+ ComTestSat = true
+ EarlyComSat = true
+ }
+
+ CONFIDENCECOSTS
+ {
+ Normal = 200
+ Fast = 400
+ }
+}
+
+RP0_PROGRAM
+{
+ name = GEOCommNetwork
+ isDisabled = True
+ title = Geostationary Communication Network (Deprecated)
+ description = With geostationary orbits, satellites can be placed at specific spots over the equator where they will stay. This allows communications satellites to be put exactly where they will have the greatest benefit. This program tasks you with creating a 4-satellite Geostationary Network for communication. Each satellite will require 315 units of ComSatPayload.
requirementsPrettyText = Complete the Targeted Satellites Program
objectivesPrettyText = Complete the Geostationary Communications Network.
nominalDurationYears = 2
@@ -348,8 +484,7 @@ RP0_PROGRAM
REQUIREMENTS
{
- complete_program = EarlyEOS1
- complete_program =
+ complete_program = TargetedSats
}
OBJECTIVES
@@ -368,7 +503,6 @@ RP0_PROGRAM
Fast = 900
}
}
-
RP0_PROGRAM
{
name = EarlyLunarProbes
From b9d01c531897d320f5828da556be493585dbe8f4 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 13:33:42 -0700
Subject: [PATCH 036/109] Update Programs.cfg
Adjusted CA contract placement, placeholder EOS2, added to CA2
---
GameData/RP-1/Programs/Programs.cfg | 59 ++++++++++++++++++++++++++++-
1 file changed, 57 insertions(+), 2 deletions(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index 31677b1cf33..6770f3a61b5 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -339,7 +339,7 @@ RP0_PROGRAM
title = Commercial Applications
description = PLACEHOLDER
requirementsPrettyText = Complete Early Satellites program
- objectivesPrettyText = Create a network of either 3 or 4 communications satellites.
+ objectivesPrettyText = Launch the first commercial-use satellites and build a satellite communication network.
nominalDurationYears = 2
baseFunding = 280000
repDeltaOnCompletePerYearEarly = 110
@@ -357,6 +357,14 @@ RP0_PROGRAM
OBJECTIVES
{
+ complete_contract = FirstNavSat
+ complete_contract = FirstComSat
+ complete_contract = FirstGEOSat
+ ANY
+ {
+ complete_contract = FirstMolniyaSat
+ complete_contract = FirstTundraSat
+ }
ANY
{
complete_contract = EarlyComNetwork3
@@ -368,6 +376,7 @@ RP0_PROGRAM
{
ComTestSat = true
EarlyComSat = true
+ EarlyNavSat = true
}
CONFIDENCECOSTS
@@ -376,6 +385,46 @@ RP0_PROGRAM
Fast = 400
}
}
+RP0_PROGRAM
+{
+ name = MidEOS
+ title = Mature Earth Observation Satellites
+ description = PLACEHOLDER
+ requirementsPrettyText = Complete Early Satellites program
+ objectivesPrettyText = PLACEHOLDER
+ nominalDurationYears = 3
+ baseFunding = 420000
+ repDeltaOnCompletePerYearEarly = 130
+ repPenaltyPerYearLate = 130
+ slots = 1
+
+ REQUIREMENTS
+ {
+ complete_program = EarlyEOS
+ }
+
+ OBJECTIVES
+ {
+ complete_contract = ScienceSatCosmicRay2
+ complete_contract = ScienceSatCherenkov
+ complete_contract = ScienceSatMagScan2
+ complete_contract = ScienceSatIRRad2
+ complete_contract = Corona1
+ }
+
+ OPTIONALS
+ {
+ ScienceSatIRRad1Rep = true
+ ScienceSatGrav1 = true
+ Corona2 = true
+ }
+
+ CONFIDENCECOSTS
+ {
+ Normal = 300
+ Fast = 600
+ }
+}
RP0_PROGRAM
{
@@ -407,12 +456,18 @@ RP0_PROGRAM
OBJECTIVES
{
- complete_contract = GeoComSatNetwork
+ ANY
+ {
+ complete_contract = GeoComSatNetwork
+ complete_contract = MolniyaNetwork
+ }
+ complete_contract = NavSatNetwork
}
OPTIONALS
{
GEORepeatComSats = true
+ RepeatNavSats = true
}
CONFIDENCECOSTS
From 919d7eace0b31407df43cce8affaf06fca76507b Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 22:26:55 -0500
Subject: [PATCH 037/109] Update Programs.cfg
Revised contract names....again.
Fixed reused contracts to keep from breaking saves.
---
GameData/RP-1/Programs/Programs.cfg | 50 ++++++++++++-----------------
1 file changed, 20 insertions(+), 30 deletions(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index 6770f3a61b5..46e9503f928 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -312,18 +312,18 @@ RP0_PROGRAM
OBJECTIVES
{
- complete_contract = ScienceSatCosmicRay1
- complete_contract = ScienceSatCherenkov
- complete_contract = ScienceSatMagScan1
- complete_contract = ScienceSatIRRad1
- complete_contract = Corona1
+ complete_contract = EOSCosmicRay1
+ complete_contract = EOSCherenkov
+ complete_contract = EOSMagScan1
+ complete_contract = EOSIRRad1
+ complete_contract = EOSCorona
}
OPTIONALS
{
- ScienceSatIRRad1Rep = true
- ScienceSatGrav1 = true
- Corona2 = true
+ EOSIRRad1Rep = true
+ EOSGrav1 = true
+ EOSCoronaRep = true
}
CONFIDENCECOSTS
@@ -336,8 +336,8 @@ RP0_PROGRAM
RP0_PROGRAM
{
name = EarlyCommApp
- title = Commercial Applications
- description = PLACEHOLDER
+ title = Early Commercial Satellites
+ description = Although it was through government programs that the earliest satellites were launched, commercial use of them was always envisioned as well. Through this program, the earliest iterations of commercial-use satelites will be launched. With wildly varying needs, each satellite is dedicated to a specific requirement, typically far more focused than the earlier broad scientific satellites.
requirementsPrettyText = Complete Early Satellites program
objectivesPrettyText = Launch the first commercial-use satellites and build a satellite communication network.
nominalDurationYears = 2
@@ -346,22 +346,13 @@ RP0_PROGRAM
repPenaltyPerYearLate = 110
slots = 1
- REQUIREMENTS
- {
- ANY
- {
- complete_program = EarlySatellites
- complete_program = EarlySatellites-Heavy
- }
- }
-
OBJECTIVES
{
- complete_contract = FirstNavSat
- complete_contract = FirstComSat
- complete_contract = FirstGEOSat
+ complete_contract = FirstNavSat-CA
+ complete_contract = FirstComSat-CA
+ complete_contract = FirstGEOSat-CA
ANY
- {
+ {
complete_contract = FirstMolniyaSat
complete_contract = FirstTundraSat
}
@@ -374,9 +365,8 @@ RP0_PROGRAM
OPTIONALS
{
- ComTestSat = true
- EarlyComSat = true
- EarlyNavSat = true
+ EarlyComSat-CA = true
+ EarlyNavSat-CA = true
}
CONFIDENCECOSTS
@@ -385,10 +375,10 @@ RP0_PROGRAM
Fast = 400
}
}
-RP0_PROGRAM
+disabled_RP0_PROGRAM
{
name = MidEOS
- title = Mature Earth Observation Satellites
+ title = Progressing Earth Observation Satellites
description = PLACEHOLDER
requirementsPrettyText = Complete Early Satellites program
objectivesPrettyText = PLACEHOLDER
@@ -426,10 +416,10 @@ RP0_PROGRAM
}
}
-RP0_PROGRAM
+disabled_RP0_PROGRAM
{
name = AdvCommApp
- title = Advanced Commercial Applications
+ title = Progressing Commercial Satellites
description = PLACEHOLDER
requirementsPrettyText = Complete the Commercial Applications program
objectivesPrettyText = Complete a Geostationary Communications Network.
From 498601de08bc57760ff2ddaa951955232394a2a9 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 22:27:37 -0500
Subject: [PATCH 038/109] Delete GameData/RP-1/Contracts/Commercial
Applications directory
---
.../Commercial Applications/ComTestSat.cfg | 218 --------------
.../EarlyComNetwork3.cfg | 207 --------------
.../EarlyComNetwork4.cfg | 270 ------------------
.../Commercial Applications/EarlyComSat.cfg | 220 --------------
.../Commercial Applications/FirstComSat.cfg | 149 ----------
.../Commercial Applications/FirstGEOSat.cfg | 121 --------
.../FirstMolniyaSat.cfg | 144 ----------
.../Commercial Applications/FirstNavSat.cfg | 118 --------
.../FirstTundraSat.cfg | 144 ----------
.../GEORepeatComSats.cfg | 205 -------------
.../GeoComSatNetwork.cfg | 240 ----------------
11 files changed, 2036 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/ComTestSat.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork3.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork4.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/EarlyComSat.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/FirstComSat.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/FirstGEOSat.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/FirstMolniyaSat.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/FirstNavSat.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/FirstTundraSat.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/GEORepeatComSats.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications/GeoComSatNetwork.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications/ComTestSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/ComTestSat.cfg
deleted file mode 100644
index 05740407ef4..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/ComTestSat.cfg
+++ /dev/null
@@ -1,218 +0,0 @@
-CONTRACT_TYPE
-{
- name = ComTestSat
- title = Communications Test Satellite
- group = TargetedSats
-
- tag = exclude_RepeatableComSat
-
- description = Program: Targeted Satellites or Comm Network
Type: Optional
There are groups that want to understand more about communications with satellites. Launch a new communications test satellite into the proper orbit. &br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.&br;&br;Removal Condition: Completion of a Communications Satellite (Early) contract&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_ComTestSat
Number of Contracts Completed: @index / unlimited
- genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
- synopsis = Launch a Communications Test Satellite
-
- completedMessage = Success! We are learning more about space communications with every launch.
-
- sortKey = 513
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 1
- maxExpiry = 1
- maxCompletions = 0
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardFunds = 0
- rewardScience = 0
- rewardReputation = Round(55 * Pow(@TestComSat/Orbit/minApA / 6000000, 0.5) * Pow((@TestComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
- failureReputation = 0 // was @rewardReputation
- failureFunds = 0
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = Any
- type = Any
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = CommNetwork
- }
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_RepeatableComSat
- invertRequirement = true
- }
-
- DATA
- {
- type = int
- index = $ComTestSat_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_OFFERED
- {
- RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_ComTestSat * 86400) : ($RepeatSat_Completion + 0)
- }
- CONTRACT_COMPLETED_SUCCESS
- {
- ComTestSat_Count = $ComTestSat_Count + 1
- RepeatSat_Completion = UniversalTime()
- }
- }
-
- DATA
- {
- type = int
- antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_ComTestSat * 86400) : $RepeatSat_Completion
- }
-
- DATA
- {
- type = float
-
- elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
- rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_ComTestSat * 20 - 9, 1), 2) / 3.46
- rewardFactorPercent = Round(@rewardFactor * 100, 1)
- }
-
- DATA
- {
- type = float
- payload = Round(Random(80,140),1)
- }
-
- // ************ PARAMETERS ************
-
- PARAMETER
- {
- name = TestComSat
- type = VesselParameterGroup
- define = TestComSatellite
- dissassociateVesselsOnContractCompletion = true
- title = Communications test satellite
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = Round(Random(30, 50))
- minPeA = Round(Random(700000, 1000000), 1000)
- minApA = Round(Random(4000000, 5000000), 1000)
- maxApA = Round(Random(7000000, 9000000), 1000)
- disableOnStateChange = true
- title = Achieve orbit within the parameters
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = TestComSatellite
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The contract has been completed successfully and the satellite has been transferred back to the customer.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork3.cfg b/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork3.cfg
deleted file mode 100644
index 013764423df..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork3.cfg
+++ /dev/null
@@ -1,207 +0,0 @@
-CONTRACT_TYPE
-{
- name = EarlyComNetwork3
- title = Early Communications Network (3 Satellites)
- group = CommNetwork
-
-
- description = Program: Communication Network
Type: Required
Mission control is tired of losing vessels and probes over the horizon, since they are rarely heard from again. We need to find a way to stay in constant communication with our probes.&br;&br;Build a communication network with three ComSats that has continuous connectivity to mission control.&br;&br;NOTE: Make sure to only accept either the three or four satellite version of this contract (it's impossible to complete both).
-
- synopsis = Launch a 3 satellite Communications Network
-
- completedMessage = Congratulations! The network is up and transmitting, and our shake-out testing is complete!
-
- sortKey = 901
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
- targetBody = HomeWorld()
-
- // ************ 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 = CommNetwork
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = EarlyComNetwork4
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- contractType = EarlyComNetwork4
- invertRequirement = true
- }
-
- // ComSat I
- PARAMETER
- {
- name = CommSat1
- type = VesselParameterGroup
-
- define = CommSat I
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat II
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat III
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- title = Have a ComSatPayload of at least 125 units on the craft
- disableOnStateChange = false
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
-
- // Minimum distance to have line of sight for 3 satellites for Kerbin.
- minPeA = @/targetBody.Radius()
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = CommSat2
- type = VesselParameterGroup
-
- define = CommSat II
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat III
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- title = Have a ComSatPayload of at least 125 units on the craft
- disableOnStateChange = false
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
-
- // Minimum distance to have line of sight for 3 satellites for Kerbin.
- minPeA = @/targetBody.Radius()
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = CommSat3
- type = VesselParameterGroup
-
- define = CommSat III
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat I
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- title = Have a ComSatPayload of at least 125 units on the craft
- disableOnStateChange = false
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
-
- // Minimum distance to have line of sight for 3 satellites for Kerbin.
- minPeA = @/targetBody.Radius()
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2d
-
- preWaitText = Testing time after network up
- waitingText = Performing shake-out testing
- completionText = Shake-out testing completed
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork4.cfg b/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork4.cfg
deleted file mode 100644
index 1b513dec43f..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/EarlyComNetwork4.cfg
+++ /dev/null
@@ -1,270 +0,0 @@
-CONTRACT_TYPE
-{
- name = EarlyComNetwork4
- title = Early Communications Network (4 Satellites)
- group = CommNetwork
-
-
- description = Program: Communication Network
Type: Required
Mission control is tired of losing vessels and probes over the horizon, since they are rarely heard from again. We need to find a way to stay in constant communication with our probes.&br;&br;Build a communication network with four ComSats that has continuous connectivity to mission control.&br;&br;NOTE: Make sure to only accept either the three or four satellite version of this contract (it's impossible to complete both).
-
- synopsis = Launch a 4 satellite Communications Network
-
- completedMessage = Congratulations! The network is up and transmitting, and our shake-out testing is complete!
-
- sortKey = 902
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 200
- failureReputation = 0 // was @rewardReputation
-
-
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = CommNetwork
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = EarlyComNetwork3
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- contractType = EarlyComNetwork3
- invertRequirement = true
- }
-
- PARAMETER
- {
- name = CommSat1
- type = VesselParameterGroup
-
- define = CommSat I
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat II
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat III
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- disableOnStateChange = false
- title = Have a ComSatPayload of at least 125 units on the craft
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
- // Minimum distance to have line of sight for 4 satellites for Kerbin.
- minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = CommSat2
- type = VesselParameterGroup
-
- define = CommSat II
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat III
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- disableOnStateChange = false
- title = Have a ComSatPayload of at least 125 units on the craft
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
- // Minimum distance to have line of sight for 4 satellites for Kerbin.
- minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = CommSat3
- type = VesselParameterGroup
-
- define = CommSat III
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat I
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- disableOnStateChange = false
- title = Have a ComSatPayload of at least 125 units on the craft
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
- // Minimum distance to have line of sight for 4 satellites for Kerbin.
- minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = CommSat4
- type = VesselParameterGroup
-
- define = CommSat IV
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = CommSat II
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 124.9
- disableOnStateChange = false
- title = Have a ComSatPayload of at least 125 units on the craft
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- disableOnStateChange = false
- // Minimum distance to have line of sight for 4 satellites for Kerbin.
- minPeA = @/targetBody.Radius() * 0.4142135623730950488016887242097
-
- // Pretty close to circular
- maxEccentricity = 0.004
- }
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2d
-
- preWaitText = Testing time after network up
- waitingText = Performing shake-out testing
- completionText = Shake-out testing completed
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/EarlyComSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/EarlyComSat.cfg
deleted file mode 100644
index 71817951518..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/EarlyComSat.cfg
+++ /dev/null
@@ -1,220 +0,0 @@
-CONTRACT_TYPE
-{
- name = EarlyComSat
- title = Commercial Communications Satellite (Early)
- group = TargetedSats
-
- tag = exclude_RepeatableComSat
-
- description = Program: Targeted Satellites or Comm Network
Type: Optional
Now that we have tested out the Communications Satellite Technology, there are many uses we have for these satellites. We have a customer that is requesting a new satellite. Launch a new communications Satellite into the specified orbit.&br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
- genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
-
- synopsis = Launch a Communications Satellite for a customer.
-
- completedMessage = Success! The communications satellite was launched into the proper orbit. Your customer is very happy.
-
- sortKey = 499
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 1
- maxExpiry = 1
- maxCompletions = 0
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardFunds = 0
- rewardScience = 0
- rewardReputation = Round(55 * Pow(@EarlyComSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
- failureReputation = 0 // was @rewardReputation
- failureFunds = 0
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = Any
- type = Any
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = CommNetwork
- }
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = ComTestSat
- minCount = 2
- title = Complete 'Communications Test Satellite' contract at least @minCount times
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_RepeatableComSat
- invertRequirement = true
- }
-
- DATA
- {
- type = int
- index = $EarlyComSat_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_OFFERED
- {
- RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
- }
- CONTRACT_COMPLETED_SUCCESS
- {
- EarlyComSat_Count = $EarlyComSat_Count + 1
- RepeatSat_Completion = UniversalTime()
- }
- }
-
- DATA
- {
- type = int
- antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
- }
-
- DATA
- {
- type = float
- elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
- rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
- rewardFactorPercent = Round(@rewardFactor * 100, 1)
- }
-
- DATA
- {
- type = float
- payload = Round(Random(150,500),1)
- }
-
- // ************ PARAMETERS ************
-
- PARAMETER
- {
- name = EarlyComSat
- type = VesselParameterGroup
- define = EarlyComSatellite
- dissassociateVesselsOnContractCompletion = true
- title = Communications satellite (early)
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = Round(Random(30, 31))
- minPeA = Round(Random(700000, 1000000), 1000)
- minApA = Round(Random(3000000, 10000000), 1000)
- maxApA = Round(Random(10000000, 30000000), 1000)
- disableOnStateChange = true
- title = Achieve orbit within the parameters
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = EarlyComSatellite
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The contract has been completed successfully and the satellite has been transferred back to the customer.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/FirstComSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/FirstComSat.cfg
deleted file mode 100644
index be6920596d6..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/FirstComSat.cfg
+++ /dev/null
@@ -1,149 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstComSat
- title = First Communications Satellite
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: Required
Our communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
-
- synopsis = Launch the first communication satellite
-
- completedMessage = Congratulations! Satellite communications will be how humans communicate across the globe with each other.
-
- sortKey = 512
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 45
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = Any
- type = Any
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = CommNetwork
- }
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- DATA
- {
- type = float
- payload = 80
- }
-
- BEHAVIOUR
- {
- name = StartSoftCooldown
- type = Expression
-
- CONTRACT_COMPLETED_SUCCESS
- {
- RepeatSat_Completion = UniversalTime()
- }
- }
-
- PARAMETER
- {
- name = FirstComSat
- type = VesselParameterGroup
- title = First communications satellite
- define = FirstComSat
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = 35
- minPeA = 850000
- minApA = 4500000
- disableOnStateChange = true
- title = Achieve orbit with a minimum inclination of 35 degrees, a minimum perigee of 850 km, and an apogee of more than 4500 km
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/FirstGEOSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/FirstGEOSat.cfg
deleted file mode 100644
index fcfa92e894e..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/FirstGEOSat.cfg
+++ /dev/null
@@ -1,121 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstGEOSat
- title = First Geostationary Satellite
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: Required
A geostationary orbit is a circular orbit 35,786 km above the Earth's equator and following the direction of the Earth's rotation. An object in such an orbit has an orbital period equal to the Earth's rotational period (23 hours, 56 minutes, and 4.1 seconds) and thus will appear motionless at a fixed position in the sky to ground observers. &br;&br;Launch a satellite into a Geostationary Orbit.
-
- synopsis = Launch a satellite into a Geostationary Orbit
-
- completedMessage = Success! The Geostationary orbit is the most commonly used orbit for communications satellites and other observation satellites.
-
- sortKey = 503
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 80
- failureReputation = 0 // was @rewardReputation
-
-
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- DATA
- {
- type = float
- payload = 25
- }
-
- PARAMETER
- {
- name = GeostationarySat
- type = VesselParameterGroup
- title = Geostationary satellite
- define = Geostationary
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = ReachSpecificOrbit
- type = ReachSpecificOrbit
- displayNotes = true
- index = 0
- title = Achieve geostationary orbit
- deviationWindow = 5.0
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-
-
- BEHAVIOUR
- {
- name = GeostationaryOrbit
- type = OrbitGenerator
- RANDOM_ORBIT
- {
- type = STATIONARY
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/FirstMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/FirstMolniyaSat.cfg
deleted file mode 100644
index 8cf5c5252d0..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/FirstMolniyaSat.cfg
+++ /dev/null
@@ -1,144 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstMolniyaSat
- title = First Molniya Orbit Satellite
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
-
- synopsis = Launch a satellite into a Molniya Orbit
-
- completedMessage = Success! The Molniya orbit is highly eccentric and allows the satellite to spend most of its time over the high latitudes.
-
- sortKey = 501
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
-
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
- }
-
- BEHAVIOUR
- {
- name = MolniyaOrbit
- type = OrbitGenerator
-
- FIXED_ORBIT
- {
- ORBIT
- {
- SMA = 26290000
- ECC = 0.734842145
- INC = 63.4
- LPE = -90
- LAN = 90
- MNA = 0
- EPH = 0
- REF = 1
- }
- }
- }
-
- DATA
- {
- type = float
- payload = 85
- }
-
- PARAMETER
- {
- name = VesselGroup
- type = VesselParameterGroup
- title = Molniya satellite
- define = MolniyaSatellite
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = ReachOrbit
- type = Orbit
- title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
- minInclination = 61.4
- maxInclination = 65.4
- minEccentricity = 0.7
- minArgumentOfPeriapsis = 220
- maxArgumentOfPeriapsis = 320
- minPeA = 500000
- minPeriod = 11h 56m 2s
- maxPeriod = 12h 00m 2s
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
-
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/FirstNavSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/FirstNavSat.cfg
deleted file mode 100644
index eb2f72c4d53..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/FirstNavSat.cfg
+++ /dev/null
@@ -1,118 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstNavSat
- title = First Navigational Satellite // Based on Transit 1 through 4
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: Required
Through measuring the Doppler shift of radio signals transmitted from a satellite in a known orbit, it is possible for a receiver on the ground to establish their location, which would have many applications both civilian and military. To test the principle and develop receiver equipment, it is necessary to have a test navigational satellite in orbit. Be sure to include solar panels to generate power. Historically, the first experiments in satellite navigation were made with Transit 1B (119 kg, Thor-Ablestar).
-
- synopsis = Launch the first navigation satellite
-
- completedMessage = Congratulations! The satellite is in orbit and we have already begun to receive Doppler curves.
-
- sortKey = 410
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 40
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- PARAMETER
- {
- name = FirstNavSat
- type = VesselParameterGroup
- title = First navigational satellite
- define = FirstNavSat
-
- 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 = HasNavSatPayload
- type = HasResource
- resource = NavSatPayload
- minQuantity = 99.9
- title = Have a NavSatPayload of at least 100 units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = 45
- minPeA = 300000
- disableOnStateChange = true
- title = Achieve orbit with a minimum inclination of 45 degrees and a minimum perigee of 300 km
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/FirstTundraSat.cfg b/GameData/RP-1/Contracts/Commercial Applications/FirstTundraSat.cfg
deleted file mode 100644
index f836eb3ce40..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/FirstTundraSat.cfg
+++ /dev/null
@@ -1,144 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstTundraSat
- title = First Tundra Orbit Satellite
- group = TargetedSats
- agent = Federation Aeronautique Internationale
-
- tag = exclude_EarlySatellite
-
- description = Program: Targeted Satellites
Type: CAPSTONE
A Tundra orbit is a highly elliptical geosynchronous orbit (note: not geostationary orbit) with a high inclination (usually near 63.4) and an orbital period of one sidereal day. A satellite placed in this orbit spends most of its time over a chosen area of the Earth, a phenomenon known as apogee dwell. The ground track of a satellite in a tundra orbit is a closed figure eight. An extreme version of this orbit puts the perigee around 1000 km and the apogee around 70,000 km. The orbit in this contract is actually using data from the Sirius satellites, the only known satellites using a Tundra orbit.&br;&br;Place a satellite into a Tundra orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
-
- synopsis = Launch a satellite into a Tundra Orbit
-
- completedMessage = Success! The Tundra orbit is highly eccentric and let's the satellite spend most of its time over the high latitudes.
-
- sortKey = 502
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 55
- failureReputation = 0 // was @rewardReputation
-
-
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstMolniyaSat
- }
-
-
- BEHAVIOUR
- {
- name = TundraOrbit
- type = OrbitGenerator
-
- FIXED_ORBIT
- {
- ORBIT
- {
- SMA = 42164000
- ECC = 0.317675037
- INC = 63.4
- LPE = -90
- LAN = 0
- MNA = 0
- EPH = 0
- REF = 1
- }
- }
- }
-
- DATA
- {
- type = float
- payload = 85
- }
-
- PARAMETER
- {
- name = VesselGroup
- type = VesselParameterGroup
- title = Tundra satellite
- define = TundraSatellite
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = ReachOrbit
- type = Orbit
- title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes. This is like a Molniya orbit, but with an orbital period the same as an Earth sidereal day.
- minInclination = 61.4
- maxInclination = 65.4
- minEccentricity = 0.3
- minArgumentOfPeriapsis = 220
- maxArgumentOfPeriapsis = 320
- minPeA = 1000000
- minPeriod = 23h 54m 4s
- maxPeriod = 23h 58m 4s
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/GEORepeatComSats.cfg b/GameData/RP-1/Contracts/Commercial Applications/GEORepeatComSats.cfg
deleted file mode 100644
index d071836a9e9..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/GEORepeatComSats.cfg
+++ /dev/null
@@ -1,205 +0,0 @@
-CONTRACT_TYPE
-{
- name = GEORepeatComSats
- title = Geostationary Commercial Communications Satellite
- group = GEOCommNetwork
- agent = Satellites
-
- tag = exclude_RepeatableComSat
-
- description = Program: Geostationary Communications Network
Type: Optional
We have a customer requesting a new Communications Satellite. Design a satellite within their specs and launch into an orbit with the proper orbital parameters as outlined in the contract.&br;&br;This contract can be completed as many times as you would like.&br;&br;NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.&br;&br;The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_GEORepeatComSats
Number of Contracts Completed: @index / unlimited
- genericDescription = Put a satellite with the appropriate amount of communications satellite payload into geostationary orbit.
-
- synopsis = Launch a new Commercial Communications Satellite
-
- completedMessage = Congratulations! The customer has reported the satellite is in the proper orbit.
-
- sortKey = 904
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 1
- maxExpiry = 1
- maxCompletions = 0
- maxSimultaneous = 1
- deadline = 0
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = Round(110 * Pow((@AdvComSat/HasComSatPayload/minQuantity / 350), 0.5) * @rewardFactor, 1)
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = GEOCommNetwork
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingRocket
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_SoundingDownrange
- invertRequirement = true
- }
-
- REQUIREMENT
- {
- name = AcceptContract
- type = AcceptContract
- tag = exclude_RepeatableComSat
- invertRequirement = true
- }
-
- BEHAVIOUR
- {
- name = OrbitGenerator
- type = OrbitGenerator
-
- RANDOM_ORBIT
- {
- type = STATIONARY
- }
- }
-
- DATA
- {
- type = int
- index = $GEORepeatComSats_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_OFFERED
- {
- RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_GEORepeatComSats * 86400) : ($RepeatSat_Completion + 0)
- }
- CONTRACT_COMPLETED_SUCCESS
- {
- GEORepeatComSats_Count = $GEORepeatComSats_Count + 1
- RepeatSat_Completion = UniversalTime()
- }
- }
-
- DATA
- {
- type = int
- antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_GEORepeatComSats * 86400) : $RepeatSat_Completion
- }
-
- DATA
- {
- type = float
- elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
- rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_GEORepeatComSats * 20 - 9, 1), 2) / 3.46
- rewardFactorPercent = Round(@rewardFactor * 100, 1)
- }
-
- DATA
- {
- type = float
- payload = RP1CommsPayload()
- }
-
- // ************ PARAMETERS ************
-
- PARAMETER
- {
- name = AdvComSat
- type = VesselParameterGroup
- define = AdvComSatellite
- dissassociateVesselsOnContractCompletion = true
- title = Commercial communications satellite
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = ReachSpecificOrbit
- type = ReachSpecificOrbit
- displayNotes = true
- index = 0
- deviationWindow = 4
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = AdvComSatellite
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The contract has been completed successfully and the satellite has been transferred back to the customer.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications/GeoComSatNetwork.cfg b/GameData/RP-1/Contracts/Commercial Applications/GeoComSatNetwork.cfg
deleted file mode 100644
index f9e5fae7096..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications/GeoComSatNetwork.cfg
+++ /dev/null
@@ -1,240 +0,0 @@
-CONTRACT_TYPE
-{
- name = GeoComSatNetwork
- title = Geostationary Communications Network
- group = GEOCommNetwork
- agent = Satellites
-
- description = Program: Geostationary Communications Network
Type: Required
Our previous Communications Network is showing its age. We want you to launch a Geostationary Communications Network to make sure that we have consistent coverage across the globe.
-
- synopsis = Launch a 4 Satellite Geostationary Communications Network
-
- completedMessage = Congratulations! This new high-tech network is working great!
-
- sortKey = 903
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 400
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = GEOCommNetwork
- }
-
-
- PARAMETER
- {
- name = GEOCommSat1
- type = VesselParameterGroup
-
- define = GEO CommSat I
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat II
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat III
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 314.9
- title = Have a ComSatPayload of at least 315 units on the craft
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxEccentricity = 0.1
- minPeriod = 23h 54m
- maxPeriod = 23h 58m
- maxInclination = 1.0
- title = Reach an orbit with the specified parameters
- }
- }
-
- PARAMETER
- {
- name = GEOCommSat2
- type = VesselParameterGroup
-
- define = GEO CommSat II
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat III
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 314.9
- title = Have a ComSatPayload of at least 315 units on the craft
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxEccentricity = 0.1
- minPeriod = 23h 54m
- maxPeriod = 23h 58m
- maxInclination = 1.0
- title = Reach an orbit with the specified parameters
- }
- }
-
- PARAMETER
- {
- name = GEOCommSat3
- type = VesselParameterGroup
-
- define = GEO CommSat III
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat I
- }
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat IV
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 314.9
- title = Have a ComSatPayload of at least 315 units on the craft
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxEccentricity = 0.1
- minPeriod = 23h 54m
- maxPeriod = 23h 58m
- maxInclination = 1.0
- title = Reach an orbit with the specified parameters
- }
- }
-
- PARAMETER
- {
- name = GEOCommSat4
- type = VesselParameterGroup
-
- define = GEO CommSat IV
- disableOnStateChange = false
-
- PARAMETER
- {
- name = IsNotVessel
- type = IsNotVessel
-
- vessel = GEO CommSat II
- }
-
- PARAMETER
- {
- name = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = 314.9
- title = Have a ComSatPayload of at least 315 units on the craft
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxEccentricity = 0.1
- minPeriod = 23h 54m
- maxPeriod = 23h 58m
- maxInclination = 1.0
- title = Reach an orbit with the specified parameters
- }
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2d
-
- preWaitText = Testing time after network up
- waitingText = Performing shake-out testing
- completionText = Shake-out testing completed
- }
-}
From 949b5d320eb65cc59d5ae55f320ccf54c0c6fc34 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 20:28:10 -0700
Subject: [PATCH 039/109] Add files via upload
Revised contract names to separate from replaced program
---
.../EarlyComSat-CA.cfg | 180 ++++++++++++++++++
.../EarlyNavSat-CA.cfg | 158 +++++++++++++++
.../FirstComSat-CA.cfg | 107 +++++++++++
.../FirstGEOSat-CA.cfg | 135 +++++++++++++
.../FirstNavSat-CA.cfg | 100 ++++++++++
5 files changed, 680 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
new file mode 100644
index 00000000000..f338c9dcbe2
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
@@ -0,0 +1,180 @@
+CONTRACT_TYPE
+{
+ name = EarlyComSat-CA
+ title = Commercial Communications Satellite (Early)
+ group = EarlyCommApp
+
+ description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Every major Telecom now wants their own satellite capabilities tailored to their specific needs. Launch new communications satellites with the required specifications into the specified orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
+
+ synopsis = Launch a Communications Satellite for a customer.
+
+ completedMessage = Success! The communications satellite was launched into the proper orbit. Your customer is very happy.
+
+ sortKey = 499
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 0
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardFunds = 0
+ rewardScience = 0
+ rewardReputation = Round(55 * Pow(@EarlyComSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
+ failureReputation = 0 // was @rewardReputation
+ failureFunds = 0
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat-CA
+ title = Complete First Communication Satellite contract
+ }
+
+ DATA
+ {
+ type = int
+ index = $EarlyComSat_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_OFFERED
+ {
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
+ }
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ EarlyComSat_Count = $EarlyComSat_Count + 1
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ DATA
+ {
+ type = int
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
+ }
+
+ DATA
+ {
+ type = float
+ elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
+ rewardFactorPercent = Round(@rewardFactor * 100, 1)
+ }
+
+ DATA
+ {
+ type = float
+ payload = Round(Random(150,500),1)
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = EarlyComSat
+ type = VesselParameterGroup
+ define = EarlyComSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Communications Satellite (Early)
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 31))
+ minPeA = Round(Random(700000, 1000000), 1000)
+ minApA = Round(Random(3000000, 10000000), 1000)
+ maxApA = Round(Random(10000000, 30000000), 1000)
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = EarlyComSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
new file mode 100644
index 00000000000..c23f62bac88
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
@@ -0,0 +1,158 @@
+CONTRACT_TYPE
+{
+ name = EarlyNavSat-CA
+ title = Commercial Navigation Satellite (Early)
+ group = EarlyCommApp
+
+ description = Program: Early Commercial Applications
Type: Optional
The first Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
Number of Contracts Completed: @index / @maxCompletions
+ genericDescription = Put a satellite with the required amount of navigation satellite payload into the desired orbit.
+
+ synopsis = Launch a Navigation Satellite for a customer.
+
+ completedMessage = Success! The navigation satellite was launched into the proper orbit. Precision satellite-based navigation is one step closer to being a reality.
+
+ sortKey = 499
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 6
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardFunds = 0
+ rewardScience = 0
+ rewardReputation = 20
+ failureReputation = 0 // was @rewardReputation
+ failureFunds = 0
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstNavSat-CA
+ title = Complete First Navigation Satellite contract
+ }
+
+ DATA
+ {
+ type = int
+ index = $EarlyNavSat_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ EarlyNavSat_Count = $EarlyNavSat_Count + 1
+ }
+
+ DATA
+ {
+ type = float
+ payload = 200
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = EarlyNavSat
+ type = VesselParameterGroup
+ define = EarlyNavSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Navigation Satellite (Early)
+
+ 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 = HasNavSatPayload
+ type = HasResource
+ resource = NavSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a NavSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 90))
+ minPeA = Round(Random(300000, 400000), 1000)
+ minApA = Round(Random(500000, 1000000), 1000)
+ maxApA = Round(Random(1000000, 3000000), 1000)
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = EarlyNavSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
new file mode 100644
index 00000000000..2fee79ae450
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
@@ -0,0 +1,107 @@
+CONTRACT_TYPE
+{
+ name = FirstComSat-CA
+ title = First Communications Satellite
+ group = EarlyCommApp
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Commercial Applications
Type: Required
Our communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
+
+ synopsis = Launch the first communication satellite
+
+ completedMessage = Congratulations! Satellite communications will forever change communications around the globe.
+
+ sortKey = 512
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 45
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ DATA
+ {
+ type = float
+ payload = 80
+ }
+
+ PARAMETER
+ {
+ name = FirstComSat
+ type = VesselParameterGroup
+ title = First Communications Satellite
+ define = FirstComSat
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = 40
+ minPeA = 850000
+ minApA = 5000000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum inclination of 40 degrees, a minimum perigee of 850 km, and an apogee of more than 5,000 km
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
new file mode 100644
index 00000000000..6d80904c1e1
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
@@ -0,0 +1,135 @@
+CONTRACT_TYPE
+{
+ name = FirstGEOSat-CA
+ title = First Geostationary Satellite
+ group = EarlyCommApp
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Commercial Applications
Type: Required
A geostationary orbit is a circular orbit approximately 35,790 km above the Earth's equator and following the direction of the Earth's rotation. An object in such an orbit has an orbital period equal to the Earth's rotational period (23 hours, 56 minutes, and 4.1 seconds) and thus will appear motionless at a fixed position in the sky to ground observers. Include solar panels to produce electrical power while in orbit.
Historical example: Syncom 3 (68kg, Delta).
+
+ synopsis = Launch the first satellite into a geostationary orbit
+
+ completedMessage = Success! The Geostationary orbit is the most commonly used orbit for communications satellites and other observation satellites.
+
+ sortKey = 503
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 80
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ DATA
+ {
+ type = float
+ payload = 25
+ }
+
+ PARAMETER
+ {
+ name = GeostationarySat
+ type = VesselParameterGroup
+ title = Geostationary Satellite
+ define = Geostationary
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = HasSolarPower
+ title = Can generate solar power
+ type = PartValidation
+ hideChildren = true
+ partModule = ModuleDeployableSolarPanel
+ minCount = 1
+ }
+ PARAMETER
+ {
+ name = ReachSpecificOrbit
+ type = ReachSpecificOrbit
+ displayNotes = true
+ index = 0
+ title = Achieve geostationary orbit
+ deviationWindow = 5.0
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = GenerateEC
+ title = Have positive energy balance
+ type = ResourceConsumption
+ resource = ElectricCharge
+ minRate = -1000000
+ maxRate = 0.00001
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = GeostationaryOrbit
+ type = OrbitGenerator
+ RANDOM_ORBIT
+ {
+ type = STATIONARY
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
new file mode 100644
index 00000000000..04d4c055031
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
@@ -0,0 +1,100 @@
+CONTRACT_TYPE
+{
+ name = FirstNavSat-CA
+ title = First Navigational Satellite // Based on Transit 1 through 4
+ group = EarlyCommApp
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Commercial Applications
Type: Required
Through measuring the Doppler shift of radio signals transmitted from a satellite in a known orbit, it is possible for a receiver on the ground to establish their location, which would have many applications both civilian and military. To test the principle and develop receiver equipment, it is necessary to have a test navigational satellite in orbit. Be sure to include solar panels to generate power.
Historically, the first experiments in satellite navigation were made with Transit 1B (119 kg, Thor-Ablestar).
+
+ synopsis = Launch the first navigation satellite
+
+ completedMessage = Congratulations! The satellite is in orbit and we have already begun to receive Doppler curves.
+
+ sortKey = 410
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 40
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ PARAMETER
+ {
+ name = FirstNavSat
+ type = VesselParameterGroup
+ title = First Navigational Satellite
+ define = FirstNavSat
+
+ 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 = HasNavSatPayload
+ type = HasResource
+ resource = NavSatPayload
+ minQuantity = 49.9
+ title = Have a NavSatPayload of at least 50 units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = 50
+ minPeA = 350000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum inclination of 50 degrees and a minimum perigee of 350 km
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
From 2ffd1c1eb8a591e884e7665d35a54f9ccbb7ba12 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 22:28:37 -0500
Subject: [PATCH 040/109] Delete GameData/RP-1/Contracts/Earth Observation 1
directory
---
.../Contracts/Earth Observation 1/Corona1.cfg | 134 ---------------
.../Contracts/Earth Observation 1/Corona2.cfg | 152 -----------------
.../ScienceSatCherenkov.cfg | 119 -------------
.../ScienceSatCosmicRay1.cfg | 128 --------------
.../Earth Observation 1/ScienceSatGrav1.cfg | 121 -------------
.../Earth Observation 1/ScienceSatIRRad1.cfg | 128 --------------
.../ScienceSatIRRad1Rep.cfg | 160 ------------------
.../ScienceSatMagScan1.cfg | 127 --------------
8 files changed, 1069 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/Corona1.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/Corona2.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/Corona1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/Corona1.cfg
deleted file mode 100644
index 4cde21b0353..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/Corona1.cfg
+++ /dev/null
@@ -1,134 +0,0 @@
-CONTRACT_TYPE
-{
- name = Corona1
- title = Earth Imaging Satellite
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images of Earth's surface from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals, but these types of satellites have numerous peaceful purposes as well, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.&br;&br;Real life examples: CORONA/Keyhole-1.
-
- synopsis = Launch the first dedicated imagery satellite.
-
- completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 80
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
- //REQUIREMENT
- //{ name = CompleteContract
- // type = CompleteContract
- // contractType = first_OrbitRecover
- // title = Completed First Orbit Recovery
- //}
-
- PARAMETER
- {
- name = Corona1
- type = VesselParameterGroup
- title = First high resolution imagery satellite
- define = Corona1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for two days and return science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have Electric Charge for two days
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxApA = 200000
- maxEccentricity = 0.035
- minInclination = 80
- maxInclination = 100
- disableOnStateChange = true
- title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 2d
- preWaitText = Remain in orbit
- waitingText = Exposing film...
- completionText = Orbit period complete, return film
- }
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- experiment = RP0photos2
- fractionComplete = 0.0083
- title = Return the film package from Low Earth Orbit to the surface
-
- PARAMETER
- {
- name = ReturnHome
- type = RP1ReturnHome
- title = Return home safely
- hideChildren = true
- completeInSequence = true
- }
- }
-
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/Corona2.cfg b/GameData/RP-1/Contracts/Earth Observation 1/Corona2.cfg
deleted file mode 100644
index 739eb57c906..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/Corona2.cfg
+++ /dev/null
@@ -1,152 +0,0 @@
-CONTRACT_TYPE
-{
- name = Corona2
- title = Earth Imaging Satellite, Long Duration
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface.Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: CORONA/Keyhole-1.
-
- synopsis = Launch another dedicated imagery satellite.
-
- completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 4
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 80
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
- REQUIREMENT
- { name = CompleteContract
- type = CompleteContract
- contractType = Corona1
- title = Completed Earth Imaging Satellite
- }
-
- DATA
- {
- type = int
- index = $RepeatCoronaSats_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_COMPLETED_SUCCESS
- {
- RepeatCoronaSats_Count = $RepeatCoronaSats_Count + 1
- }
- }
-
- PARAMETER
- {
- name = Corona2
- type = VesselParameterGroup
- title = High resolution imagery satellite
- define = Corona2
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for 6 months and return science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have Electric Charge for two days
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxApA = 200000
- maxEccentricity = 0.035
- minInclination = 80
- maxInclination = 100
- disableOnStateChange = true
- title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 183d
- preWaitText = Remain in orbit
- waitingText = Exposing film...
- completionText = Orbit period complete, return film
- }
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0photos2
- fractionComplete = 0.25
- title = Return the film package from Low Earth Orbit to the surface
-
- PARAMETER
- {
- name = ReturnHome
- type = RP1ReturnHome
- title = Return home safely
- hideChildren = true
- completeInSequence = true
- }
- }
-
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
deleted file mode 100644
index c7624c78916..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCherenkov.cfg
+++ /dev/null
@@ -1,119 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatCherenkov
- title = Cherenkov Detection Beyond LEO
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos.&br;&br;Make sure your craft contains a Cherenkov Counter and returns 1-day of science from High Earth Orbit.&br;&br;Real life examples: Explorer 11.
-
- synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
-
- completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data about solar wind and cosmic rays.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatCherenkov
- type = VesselParameterGroup
- title = Cherenkov detector
- define = ScienceSatCherenkov
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minEccentricity = 0.085
- maxEccentricity = 0.200
- minPeA = 200000
- disableOnStateChange = true
- title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0cosmicRay1
- fractionComplete = 0.01
- title = Transmit 1 day's worth (1%) of Cherenkov science from High Earth Orbit
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
deleted file mode 100644
index 1d544651a0a..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatCosmicRay1.cfg
+++ /dev/null
@@ -1,128 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatCosmicRay1
- title = Cosmic Ray Satellite Beyond LEO
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-day's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Real life examples: Explorer 6.
-
- synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
-
- completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data that has helped characterize the cosmic ray environment around Earth.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatCosmicRay1
- type = VesselParameterGroup
- title = Cosmic ray detector
- define = ScienceSatCosmicRay1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 36000000
- minPeA = 200000
- disableOnStateChange = true
- title = Achieve orbit with a minimum apogee of 36,000 km and a perigee higher than 200km.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0cosmicRay1
- fractionComplete = 0.01
- title = Transmit 1 day's worth (1%) of Cosmic Ray Science from High Earth Orbit.
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0visibleImaging1
- fractionComplete = 1
- title = Transmit video images from High Orbit.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
deleted file mode 100644
index c85cd98c549..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatGrav1.cfg
+++ /dev/null
@@ -1,121 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatGrav1
- title = Gravimetric Satellite
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 1-months worth of science.&br;&br;Real life examples: ANNA 1B
-
- synopsis = Launch the first dedicated geodetic satellite.
-
- completedMessage = Interesting, the gravity field of Earth is far less uniform than expected.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatGrav1
- type = VesselParameterGroup
- title = Gravimetric satellite
- define = ScienceSatGrav1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxApA = 550000
- minPeA = 450000
- minInclination = 48
- maxInclination = 52
- maxEccentricity = 0.003
- disableOnStateChange = true
- title = Achieve an inclined circular orbit with less than .003 eccentricity
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- fractionComplete = 0.0083
- experiment = RP0orbitalPurturbation1
- title = Transmit 1 month's worth (0.8%) of Orbital Perturbation science from Low Earth Orbit
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
deleted file mode 100644
index a47eb62ed51..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1.cfg
+++ /dev/null
@@ -1,128 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatIRRad1
- title = Infrared Radiometry Satellite
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
-
- synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
-
- completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatIRRad
- type = VesselParameterGroup
- title = First weather satellite
- define = ScienceSatIRRad
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxApA = 1000000
- minPeA = 500000
- maxEccentricity = 0.005
- disableOnStateChange = true
- title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0infraredRad1
- title = Transmit infrared weather data from low orbit
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0visibleImaging1
- fractionComplete = 1
- title = Transmit corresponding video images from low orbit
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
deleted file mode 100644
index 04338d89a6b..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatIRRad1Rep.cfg
+++ /dev/null
@@ -1,160 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatIRRad1Repeat
- title = Additional Infrared Radiometry Satellites
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request. NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of satellite control to the customer.
Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: TIROS-2 through TIROS-8.
-
- synopsis = Launch additional weather satellites with the Infrared Radiometry experiment and an Early TV camera.
-
- completedMessage = Congratulations on another succesful launch. Our use of satellites to better understand the impacts of weather phenomena and improve forecasting capabilities continues to improve with every launch.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 7
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 20
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = ScienceSatIRRad1
- title = Complete first IR Radiometry satellite.
- }
-
- DATA
- {
- type = int
- index = $RepeatIRRadSats_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_COMPLETED_SUCCESS
- {
- RepeatIRRadSats_Count = $RepeatIRRadSats_Count + 1
- }
- }
-
- PARAMETER
- {
- name = ScienceSatIRRad1Repeat
- type = VesselParameterGroup
- title = Additional weather satellite
- define = ScienceSatIRRad1Repeat
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = Round(Random(30, 80))
- maxInclination = 95
- minPeA = Round(Random(500000, 1000000), 10000)
- maxEccentricity = 0.005
- disableOnStateChange = true
- title = Achieve orbit within the parameters
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = ScienceSatIRRad1Repeat
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The launch was a success and satellite control has been transferred to the US Weather Bureau.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
deleted file mode 100644
index 55c679d73ce..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/ScienceSatMagScan1.cfg
+++ /dev/null
@@ -1,127 +0,0 @@
-CONTRACT_TYPE
-{
- name = ScienceSatMagScan1
- title = Magnetometry Satellite
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Real life examples: IMP-A.
-
- synopsis = Launch the first dedicated magnetometry satellite.
-
- completedMessage = Our scientists now better understand the magnetosphere surrounding Earth and, combined with previous data, have determined the existance of a standing shock wave in the solar wind around the magnetic field.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatMagScan1
- type = VesselParameterGroup
- title = First magnetrometry satellite
- define = ScienceSatMagScan1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 36000000
- disableOnStateChange = true
- title = Achieve an elliptical orbit with min apoapsis of 36,000km.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- fractionComplete = 0.03
- experiment = RP0magScan1
- title = Transmit 1 day's worth (3%) of Magnetic Scan science from Low Earth Orbit
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- fractionComplete = 0.03
- experiment = RP0magScan1
- title = Transmit 1 day's worth (3%) of Magnetic Scan science from High Earth Orbit
- }
- }
- }
-}
From 5d2e0656f8f26def94f55b27834f38d2579d9fea Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 20:32:54 -0700
Subject: [PATCH 041/109] Add files via upload
Revised contract names and tweaked wording/requirements
---
.../Earth Observation 1/EOSCherenkov.cfg | 119 +++++++++++++
.../Earth Observation 1/EOSCorona.cfg | 134 +++++++++++++++
.../Earth Observation 1/EOSCoronaRep.cfg | 152 +++++++++++++++++
.../Earth Observation 1/EOSCosmicRay1.cfg | 128 ++++++++++++++
.../Earth Observation 1/EOSGrav1.cfg | 121 +++++++++++++
.../Earth Observation 1/EOSIRRad1.cfg | 128 ++++++++++++++
.../Earth Observation 1/EOSIRRad1Rep.cfg | 160 ++++++++++++++++++
.../Earth Observation 1/EOSMagScan1.cfg | 127 ++++++++++++++
8 files changed, 1069 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
new file mode 100644
index 00000000000..afc9fa79940
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
@@ -0,0 +1,119 @@
+CONTRACT_TYPE
+{
+ name = EOSCherenkov
+ title = Cherenkov Detection Beyond LEO
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos.&br;&br;Make sure your craft contains a Cherenkov Counter and returns 1-week's worth of science from High Earth Orbit.&br;&br;Real life examples: Explorer 11.
+
+ synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
+
+ completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data about solar wind and cosmic rays.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatCherenkov
+ type = VesselParameterGroup
+ title = Cherenkov detector
+ define = ScienceSatCherenkov
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minEccentricity = 0.085
+ maxEccentricity = 0.200
+ minPeA = 200000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1w
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0cosmicRay1
+ fractionComplete = 0.07
+ title = Transmit 7 day's worth (7%) of Cherenkov science from High Earth Orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
new file mode 100644
index 00000000000..a52121608fc
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
@@ -0,0 +1,134 @@
+CONTRACT_TYPE
+{
+ name = EOSCorona
+ title = Earth Imaging Satellite
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images of Earth's surface from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals, but these types of satellites have numerous peaceful purposes as well, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.&br;&br;Real life examples: CORONA/Keyhole-1.
+
+ synopsis = Launch the first dedicated imagery satellite.
+
+ completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 80
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ //REQUIREMENT
+ //{ name = CompleteContract
+ // type = CompleteContract
+ // contractType = first_OrbitRecover
+ // title = Completed First Orbit Recovery
+ //}
+
+ PARAMETER
+ {
+ name = Corona1
+ type = VesselParameterGroup
+ title = First high resolution imagery satellite
+ define = EOSCorona
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for two days and return science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for two days
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 200000
+ maxEccentricity = 0.035
+ minInclination = 80
+ maxInclination = 100
+ disableOnStateChange = true
+ title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 2d
+ preWaitText = Remain in orbit
+ waitingText = Exposing film...
+ completionText = Orbit period complete, return film
+ }
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ experiment = RP0photos2
+ fractionComplete = 0.0083
+ title = Return the film package from Low Earth Orbit to the surface
+
+ PARAMETER
+ {
+ name = ReturnHome
+ type = RP1ReturnHome
+ title = Return home safely
+ hideChildren = true
+ completeInSequence = true
+ }
+ }
+
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
new file mode 100644
index 00000000000..e3d80b95c20
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -0,0 +1,152 @@
+CONTRACT_TYPE
+{
+ name = EOSCoronaRep
+ title = Earth Imaging Satellite, Long Duration
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface.Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: CORONA/Keyhole-1.
+
+ synopsis = Launch another dedicated imagery satellite.
+
+ completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 4
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 80
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ REQUIREMENT
+ { name = CompleteContract
+ type = CompleteContract
+ contractType = EOSCorona
+ title = Completed Earth Imaging Satellite
+ }
+
+ DATA
+ {
+ type = int
+ index = $RepeatCoronaSats_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ RepeatCoronaSats_Count = $RepeatCoronaSats_Count + 1
+ }
+ }
+
+ PARAMETER
+ {
+ name = Corona2
+ type = VesselParameterGroup
+ title = High resolution imagery satellite
+ define = Corona2
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for 6 months and return science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for two days
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 200000
+ maxEccentricity = 0.035
+ minInclination = 80
+ maxInclination = 100
+ disableOnStateChange = true
+ title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 183d
+ preWaitText = Remain in orbit
+ waitingText = Exposing film...
+ completionText = Orbit period complete, return film
+ }
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0photos2
+ fractionComplete = 0.25
+ title = Return the film package from Low Earth Orbit to the surface
+
+ PARAMETER
+ {
+ name = ReturnHome
+ type = RP1ReturnHome
+ title = Return home safely
+ hideChildren = true
+ completeInSequence = true
+ }
+ }
+
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
new file mode 100644
index 00000000000..bc3ba67c254
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
@@ -0,0 +1,128 @@
+CONTRACT_TYPE
+{
+ name = EOSCosmicRay1
+ title = Cosmic Ray Satellite Beyond LEO
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-week's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Real life examples: Explorer 6.
+
+ synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
+
+ completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data that has helped characterize the cosmic ray environment around Earth.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatCosmicRay1
+ type = VesselParameterGroup
+ title = Cosmic ray detector
+ define = ScienceSatCosmicRay1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 36000000
+ minPeA = 200000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum apogee of 36,000 km and a perigee higher than 200km.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1w
+ preWaitText = Check for stable orbit
+ waitingText = Collecting science...
+ completionText = Science collected.
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0cosmicRay1
+ fractionComplete = 0.07
+ title = Transmit 1 week's worth (7%) of Cosmic Ray Science from High Earth Orbit.
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0visibleImaging1
+ fractionComplete = 1
+ title = Transmit video images from High Orbit.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
new file mode 100644
index 00000000000..b49d1f2ca2d
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
@@ -0,0 +1,121 @@
+CONTRACT_TYPE
+{
+ name = EOSGrav1
+ title = Gravimetric Satellite
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 1-months worth of science.&br;&br;Real life examples: ANNA 1B
+
+ synopsis = Launch the first dedicated geodetic satellite.
+
+ completedMessage = Interesting, the gravity field of Earth is far less uniform than expected.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatGrav1
+ type = VesselParameterGroup
+ title = Gravimetric satellite
+ define = ScienceSatGrav1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for one month and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 550000
+ minPeA = 450000
+ minInclination = 48
+ maxInclination = 52
+ maxEccentricity = 0.003
+ disableOnStateChange = true
+ title = Achieve an inclined circular orbit with less than .003 eccentricity
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1m
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ fractionComplete = 0.0083
+ experiment = RP0orbitalPurturbation1
+ title = Transmit 1 month's worth (0.8%) of Orbital Perturbation science from Low Earth Orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
new file mode 100644
index 00000000000..89f1b1f3a4f
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -0,0 +1,128 @@
+CONTRACT_TYPE
+{
+ name = EOSIRRad1
+ title = Infrared Radiometry Satellite
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
+
+ synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = ScienceSatIRRad
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 1000000
+ minPeA = 500000
+ maxEccentricity = 0.005
+ disableOnStateChange = true
+ title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0infraredRad1
+ title = Transmit infrared weather data from low orbit
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0visibleImaging1
+ fractionComplete = 1
+ title = Transmit corresponding video images from low orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
new file mode 100644
index 00000000000..b1978523489
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
@@ -0,0 +1,160 @@
+CONTRACT_TYPE
+{
+ name = EOSIRRad1Rep
+ title = Additional Infrared Radiometry Satellites
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of satellite control to the customer.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: TIROS-2 through TIROS-8.
+
+ synopsis = Launch additional weather satellites with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Congratulations on another succesful launch. Our use of satellites to better understand the impacts of weather phenomena and improve forecasting capabilities continues to improve with every launch.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 7
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 20
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = ScienceSatIRRad1
+ title = Complete first IR Radiometry satellite.
+ }
+
+ DATA
+ {
+ type = int
+ index = $RepeatIRRadSats_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ RepeatIRRadSats_Count = $RepeatIRRadSats_Count + 1
+ }
+ }
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad1Repeat
+ type = VesselParameterGroup
+ title = Additional weather satellite
+ define = ScienceSatIRRad1Repeat
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 80))
+ maxInclination = 95
+ minPeA = Round(Random(500000, 1000000), 10000)
+ maxEccentricity = 0.005
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = ScienceSatIRRad1Repeat
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The launch was a success and satellite control has been transferred to the US Weather Bureau.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
new file mode 100644
index 00000000000..46920a9e8d8
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
@@ -0,0 +1,127 @@
+CONTRACT_TYPE
+{
+ name = EOSMagScan1
+ title = Magnetometry Satellite
+ group = EarlyEOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Real life examples: IMP-A.
+
+ synopsis = Launch the first dedicated magnetometry satellite.
+
+ completedMessage = Our scientists now better understand the magnetosphere surrounding Earth and, combined with previous data, have determined the existance of a standing shock wave in the solar wind around the magnetic field.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatMagScan1
+ type = VesselParameterGroup
+ title = First magnetrometry satellite
+ define = ScienceSatMagScan1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 36000000
+ disableOnStateChange = true
+ title = Achieve an elliptical orbit with min apoapsis of 36,000km.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ fractionComplete = 0.03
+ experiment = RP0magScan1
+ title = Transmit 1 day's worth (3%) of Magnetic Scan science from Low Earth Orbit
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ fractionComplete = 0.03
+ experiment = RP0magScan1
+ title = Transmit 1 day's worth (3%) of Magnetic Scan science from High Earth Orbit
+ }
+ }
+ }
+}
From 37a138cfbc4db9c6c2e1bc22622c73961806abe0 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 20:34:07 -0700
Subject: [PATCH 042/109] Add files via upload
Updated to include EOS program requirement
---
.../Earth Satellites/FirstMolniyaSat.cfg | 42 +++++++++++++++----
1 file changed, 33 insertions(+), 9 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg b/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg
index 8cf5c5252d0..6d72fe0fa47 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg
@@ -7,7 +7,7 @@ CONTRACT_TYPE
tag = exclude_EarlySatellite
- description = Program: Targeted Satellites
Type: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+ description = Program: Early Commercial Applications or Targeted Satellites
Type: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
synopsis = Launch a satellite into a Molniya Orbit
@@ -42,16 +42,40 @@ CONTRACT_TYPE
REQUIREMENT
{
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
}
REQUIREMENT
{
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat-CA
+ }
}
BEHAVIOUR
@@ -85,7 +109,7 @@ CONTRACT_TYPE
{
name = VesselGroup
type = VesselParameterGroup
- title = Molniya satellite
+ title = Molniya Satellite
define = MolniyaSatellite
PARAMETER
@@ -117,7 +141,7 @@ CONTRACT_TYPE
{
name = ReachOrbit
type = Orbit
- title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
+ title = Reach the correct orbit within the parameters. Note, the argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
minInclination = 61.4
maxInclination = 65.4
minEccentricity = 0.7
From ec1768009e093b177153889a7205b07c8dd11924 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 20:34:30 -0700
Subject: [PATCH 043/109] Add files via upload
Updated to include EOS program requirement
---
.../Earth Satellites/FirstTundraSat.cfg | 43 ++++++++++++++-----
1 file changed, 33 insertions(+), 10 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg b/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
index f836eb3ce40..3a3769004a6 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
@@ -7,7 +7,7 @@ CONTRACT_TYPE
tag = exclude_EarlySatellite
- description = Program: Targeted Satellites
Type: CAPSTONE
A Tundra orbit is a highly elliptical geosynchronous orbit (note: not geostationary orbit) with a high inclination (usually near 63.4) and an orbital period of one sidereal day. A satellite placed in this orbit spends most of its time over a chosen area of the Earth, a phenomenon known as apogee dwell. The ground track of a satellite in a tundra orbit is a closed figure eight. An extreme version of this orbit puts the perigee around 1000 km and the apogee around 70,000 km. The orbit in this contract is actually using data from the Sirius satellites, the only known satellites using a Tundra orbit.&br;&br;Place a satellite into a Tundra orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+ description = Program: Early Commercial Applications or Targeted Satellites
Type: Required
A Tundra orbit is a highly elliptical geosynchronous orbit (note: not geostationary orbit) with a high inclination (usually near 63.4) and an orbital period of one sidereal day. A satellite placed in this orbit spends most of its time over a chosen area of the Earth, a phenomenon known as apogee dwell. The ground track of a satellite in a tundra orbit is a closed figure eight. An extreme version of this orbit puts the perigee around 1000 km and the apogee around 70,000 km. The orbit in this contract is actually using data from the Sirius satellites, the only known satellites that used a Tundra orbit.&br;&br;Place a satellite into a Tundra orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
synopsis = Launch a satellite into a Tundra Orbit
@@ -42,19 +42,42 @@ CONTRACT_TYPE
REQUIREMENT
{
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+ }
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
}
REQUIREMENT
{
- name = CompleteContract
- type = CompleteContract
- contractType = FirstMolniyaSat
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat-CA
+ }
}
-
BEHAVIOUR
{
name = TundraOrbit
@@ -86,7 +109,7 @@ CONTRACT_TYPE
{
name = VesselGroup
type = VesselParameterGroup
- title = Tundra satellite
+ title = Tundra Satellite
define = TundraSatellite
PARAMETER
@@ -118,7 +141,7 @@ CONTRACT_TYPE
{
name = ReachOrbit
type = Orbit
- title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes. This is like a Molniya orbit, but with an orbital period the same as an Earth sidereal day.
+ title = Reach the correct orbit within the parameters. Note, the argument of periapsis values mean that the apogee needs to be high in the northern latitudes. Since you have already completed the Molniya Orbit, this is the same type of orbit, but with an orbital period the same as an Earth sidereal day.
minInclination = 61.4
maxInclination = 65.4
minEccentricity = 0.3
From ab7b1dd6e3bd6cf45ac6e944dde70f2a1de5a3dc Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 20:34:54 -0700
Subject: [PATCH 044/109] Add files via upload
Updated to include EOS program requirement
---
.../Earth Satellites/EarlyComNetwork3.cfg | 36 +++++++++++++++----
1 file changed, 30 insertions(+), 6 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork3.cfg b/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork3.cfg
index 013764423df..cf621440d38 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork3.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork3.cfg
@@ -36,16 +36,40 @@ CONTRACT_TYPE
REQUIREMENT
{
- name = ProgramActive
- type = ProgramActive
- program = CommNetwork
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = CommNetwork
+ }
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
}
REQUIREMENT
{
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat-CA
+ }
}
REQUIREMENT
From 436b112f14ab0c631701b2f7d68855be5d5dc8e5 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 20:35:12 -0700
Subject: [PATCH 045/109] Add files via upload
Updated to include EOS program requirement
---
.../Earth Satellites/EarlyComNetwork4.cfg | 37 ++++++++++++++++---
1 file changed, 31 insertions(+), 6 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork4.cfg b/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork4.cfg
index 1b513dec43f..88087abf642 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork4.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork4.cfg
@@ -40,18 +40,43 @@ CONTRACT_TYPE
REQUIREMENT
{
- name = ProgramActive
- type = ProgramActive
- program = CommNetwork
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = CommNetwork
+ }
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
}
REQUIREMENT
{
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
+ name = Any
+ type = Any
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+ }
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat-CA
+ }
}
+
REQUIREMENT
{
name = CompleteContract
From 973240afaf58dc4357b7fb5ad8aaadab87b8c151 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 22:39:12 -0500
Subject: [PATCH 046/109] Update Groups.cfg
Added EOS and CommApp
---
GameData/RP-1/Contracts/Groups.cfg | 72 ++++++++++++++++++------------
1 file changed, 44 insertions(+), 28 deletions(-)
diff --git a/GameData/RP-1/Contracts/Groups.cfg b/GameData/RP-1/Contracts/Groups.cfg
index 4a61ca9f6a7..ab9c6e90e53 100644
--- a/GameData/RP-1/Contracts/Groups.cfg
+++ b/GameData/RP-1/Contracts/Groups.cfg
@@ -63,12 +63,28 @@ CONTRACT_GROUP
sortKey = 16
agent = Satellites
}
+ CONTRACT_GROUP
+ {
+ name = EOS
+ displayName = Earth Observation Satellites
+ minVersion = 1.12.2
+ sortKey = 17
+ agent = Satellites
+ }
CONTRACT_GROUP
{
name = CommNetwork
displayName = Communications Network
minVersion = 1.12.2
- sortKey = 17
+ sortKey = 18
+ agent = Satellites
+ }
+ CONTRACT_GROUP
+ {
+ name = CommApp
+ displayName = Commercial Application Satellites
+ minVersion = 1.12.2
+ sortKey = 19
agent = Satellites
}
CONTRACT_GROUP
@@ -76,7 +92,7 @@ CONTRACT_GROUP
name = GEOCommNetwork
displayName = Geostationary Communications Network
minVersion = 1.12.2
- sortKey = 18
+ sortKey = 20
agent = Satellites
}
CONTRACT_GROUP
@@ -84,7 +100,7 @@ CONTRACT_GROUP
name = EarlyLunarProbes
displayName = Early Lunar Probes
minVersion = 1.12.2
- sortKey = 19
+ sortKey = 21
agent = Exploration
}
CONTRACT_GROUP
@@ -92,7 +108,7 @@ CONTRACT_GROUP
name = UncrewedLunarSurface
displayName = Uncrewed Lunar Surface Exploration
minVersion = 1.12.2
- sortKey = 20
+ sortKey = 22
agent = Exploration
}
CONTRACT_GROUP
@@ -100,7 +116,7 @@ CONTRACT_GROUP
name = EarlyInnerPlanetProbes
displayName = Early Inner Planet Probes
minVersion = 1.12.2
- sortKey = 21
+ sortKey = 23
agent = Exploration
}
CONTRACT_GROUP
@@ -108,7 +124,7 @@ CONTRACT_GROUP
name = CrewedOrbit
displayName = Crewed Orbit
minVersion = 1.12.2
- sortKey = 22
+ sortKey = 24
agent = Federation Aeronautique Internationale
}
CONTRACT_GROUP
@@ -116,7 +132,7 @@ CONTRACT_GROUP
name = CrewedOrbitAdv
displayName = Advanced Crewed Orbit
minVersion = 1.12.2
- sortKey = 23
+ sortKey = 25
agent = Federation Aeronautique Internationale
}
CONTRACT_GROUP
@@ -124,7 +140,7 @@ CONTRACT_GROUP
name = EarlySpacePlanes
displayName = Spaceplane Development
minVersion = 1.12.2
- sortKey = 24
+ sortKey = 26
agent = Exploration
}
CONTRACT_GROUP
@@ -132,7 +148,7 @@ CONTRACT_GROUP
name = CrewedLunar
displayName = Crewed Lunar Exploration
minVersion = 1.12.2
- sortKey = 25
+ sortKey = 27
agent = Federation Aeronautique Internationale
}
CONTRACT_GROUP
@@ -140,7 +156,7 @@ CONTRACT_GROUP
name = EarthSpaceStation
displayName = Earth Space Station
minVersion = 1.12.2
- sortKey = 26
+ sortKey = 28
agent = Stations
}
CONTRACT_GROUP
@@ -148,7 +164,7 @@ CONTRACT_GROUP
name = MartianSurfaceExploration
displayName = Mars Surface Exploration
minVersion = 1.12.2
- sortKey = 27
+ sortKey = 29
agent = Exploration
}
CONTRACT_GROUP
@@ -156,7 +172,7 @@ CONTRACT_GROUP
name = VenusSurfaceExp
displayName = Venus Surface Exploration
minVersion = 1.12.2
- sortKey = 28
+ sortKey = 30
agent = Exploration
}
CONTRACT_GROUP
@@ -165,14 +181,14 @@ CONTRACT_GROUP
displayName = Small Bodies Flyby
agent = Exploration
minVersion = 1.12.2
- sortKey = 29
+ sortKey = 31
}
CONTRACT_GROUP
{
name = MercuryExploration
displayName = Mercury Exploration
minVersion = 1.12.2
- sortKey = 30
+ sortKey = 32
agent = Exploration
}
CONTRACT_GROUP
@@ -180,7 +196,7 @@ CONTRACT_GROUP
name = AsteroidExploration
displayName = Asteroid Exploration
minVersion = 1.12.2
- sortKey = 31
+ sortKey = 33
agent = Exploration
}
CONTRACT_GROUP
@@ -188,7 +204,7 @@ CONTRACT_GROUP
name = JupiterObservation
displayName = Jupiter Observation
minVersion = 1.12.2
- sortKey = 32
+ sortKey = 34
agent = Exploration
}
CONTRACT_GROUP
@@ -196,7 +212,7 @@ CONTRACT_GROUP
name = JupiterMoonLandings
displayName = Jovian Moon Landings
minVersion = 1.12.2
- sortKey = 33
+ sortKey = 35
agent = Surveys
}
CONTRACT_GROUP
@@ -204,7 +220,7 @@ CONTRACT_GROUP
name = SaturnObservation
displayName = Saturn Observation
minVersion = 1.12.2
- sortKey = 34
+ sortKey = 36
agent = Exploration
}
CONTRACT_GROUP
@@ -212,7 +228,7 @@ CONTRACT_GROUP
name = SaturnMoonLandings
displayName = Saturine Moon Landings
minVersion = 1.12.2
- sortKey = 35
+ sortKey = 37
agent = Surveys
}
CONTRACT_GROUP
@@ -220,7 +236,7 @@ CONTRACT_GROUP
name = OuterPlanetFlyby
displayName = Outer Planet Flybys
minVersion = 1.12.2
- sortKey = 36
+ sortKey = 38
agent = Exploration
}
CONTRACT_GROUP
@@ -228,7 +244,7 @@ CONTRACT_GROUP
name = OuterGasGiantSurvey
displayName = Outer Gas Giant Survey
minVersion = 1.12.2
- sortKey = 37
+ sortKey = 39
agent = Surveys
}
CONTRACT_GROUP
@@ -236,7 +252,7 @@ CONTRACT_GROUP
name = PlutoLandings
displayName = Plutonian Landings
minVersion = 1.12.2
- sortKey = 38
+ sortKey = 40
agent = Surveys
}
CONTRACT_GROUP
@@ -244,7 +260,7 @@ CONTRACT_GROUP
name = LunarHabitation
displayName = Lunar Habitation
minVersion = 1.12.2
- sortKey = 39
+ sortKey = 41
agent = Base Construction
}
CONTRACT_GROUP
@@ -252,7 +268,7 @@ CONTRACT_GROUP
name = CrewedMarsExp
displayName = Crewed Mars Exploration
minVersion = 1.12.2
- sortKey = 40
+ sortKey = 42
agent = Exploration
}
CONTRACT_GROUP
@@ -260,7 +276,7 @@ CONTRACT_GROUP
name = CrewedVenusExp
displayName = Crewed Venus Exploration
minVersion = 1.12.2
- sortKey = 41
+ sortKey = 43
agent = Exploration
}
CONTRACT_GROUP
@@ -268,7 +284,7 @@ CONTRACT_GROUP
name = CrewedExploration
displayName = Crewed Solar System Exploration
minVersion = 1.12.2
- sortKey = 42
+ sortKey = 44
agent = Exploration
}
CONTRACT_GROUP
@@ -276,7 +292,7 @@ CONTRACT_GROUP
name = Records
displayName = Records
minVersion = 1.12.2
- sortKey = 43
+ sortKey = 45
agent = Federation Aeronautique Internationale
}
CONTRACT_GROUP
@@ -284,7 +300,7 @@ CONTRACT_GROUP
name = HumanRecords
displayName = Human Records
minVersion = 1.12.2
- sortKey = 44
+ sortKey = 46
agent = Federation Aeronautique Internationale
}
From 809cc0ea83676438d0f3454380631c8a5f7cb604 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 22:41:53 -0500
Subject: [PATCH 047/109] Delete GameData/RP-1/Contracts/Commercial
Applications 1 directory
---
.../EarlyComSat-CA.cfg | 180 ------------------
.../EarlyNavSat-CA.cfg | 158 ---------------
.../FirstComSat-CA.cfg | 107 -----------
.../FirstGEOSat-CA.cfg | 135 -------------
.../FirstNavSat-CA.cfg | 100 ----------
5 files changed, 680 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
deleted file mode 100644
index f338c9dcbe2..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
+++ /dev/null
@@ -1,180 +0,0 @@
-CONTRACT_TYPE
-{
- name = EarlyComSat-CA
- title = Commercial Communications Satellite (Early)
- group = EarlyCommApp
-
- description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Every major Telecom now wants their own satellite capabilities tailored to their specific needs. Launch new communications satellites with the required specifications into the specified orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
- genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
-
- synopsis = Launch a Communications Satellite for a customer.
-
- completedMessage = Success! The communications satellite was launched into the proper orbit. Your customer is very happy.
-
- sortKey = 499
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 1
- maxExpiry = 1
- maxCompletions = 0
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardFunds = 0
- rewardScience = 0
- rewardReputation = Round(55 * Pow(@EarlyComSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
- failureReputation = 0 // was @rewardReputation
- failureFunds = 0
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat-CA
- title = Complete First Communication Satellite contract
- }
-
- DATA
- {
- type = int
- index = $EarlyComSat_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_OFFERED
- {
- RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
- }
- CONTRACT_COMPLETED_SUCCESS
- {
- EarlyComSat_Count = $EarlyComSat_Count + 1
- RepeatSat_Completion = UniversalTime()
- }
- }
-
- DATA
- {
- type = int
- antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
- }
-
- DATA
- {
- type = float
- elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
- rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
- rewardFactorPercent = Round(@rewardFactor * 100, 1)
- }
-
- DATA
- {
- type = float
- payload = Round(Random(150,500),1)
- }
-
- // ************ PARAMETERS ************
-
- PARAMETER
- {
- name = EarlyComSat
- type = VesselParameterGroup
- define = EarlyComSatellite
- dissassociateVesselsOnContractCompletion = true
- title = Communications Satellite (Early)
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = Round(Random(30, 31))
- minPeA = Round(Random(700000, 1000000), 1000)
- minApA = Round(Random(3000000, 10000000), 1000)
- maxApA = Round(Random(10000000, 30000000), 1000)
- disableOnStateChange = true
- title = Achieve orbit within the parameters
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = EarlyComSatellite
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The contract has been completed successfully and the satellite has been transferred to the customer.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
deleted file mode 100644
index c23f62bac88..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
+++ /dev/null
@@ -1,158 +0,0 @@
-CONTRACT_TYPE
-{
- name = EarlyNavSat-CA
- title = Commercial Navigation Satellite (Early)
- group = EarlyCommApp
-
- description = Program: Early Commercial Applications
Type: Optional
The first Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
Number of Contracts Completed: @index / @maxCompletions
- genericDescription = Put a satellite with the required amount of navigation satellite payload into the desired orbit.
-
- synopsis = Launch a Navigation Satellite for a customer.
-
- completedMessage = Success! The navigation satellite was launched into the proper orbit. Precision satellite-based navigation is one step closer to being a reality.
-
- sortKey = 499
-
- cancellable = true
- declinable = true
- autoAccept = false
- minExpiry = 1
- maxExpiry = 1
- maxCompletions = 6
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardFunds = 0
- rewardScience = 0
- rewardReputation = 20
- failureReputation = 0 // was @rewardReputation
- failureFunds = 0
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstNavSat-CA
- title = Complete First Navigation Satellite contract
- }
-
- DATA
- {
- type = int
- index = $EarlyNavSat_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- EarlyNavSat_Count = $EarlyNavSat_Count + 1
- }
-
- DATA
- {
- type = float
- payload = 200
- }
-
- // ************ PARAMETERS ************
-
- PARAMETER
- {
- name = EarlyNavSat
- type = VesselParameterGroup
- define = EarlyNavSatellite
- dissassociateVesselsOnContractCompletion = true
- title = Navigation Satellite (Early)
-
- 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 = HasNavSatPayload
- type = HasResource
- resource = NavSatPayload
- minQuantity = @/payload-0.1
- title = Have a NavSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = Round(Random(30, 90))
- minPeA = Round(Random(300000, 400000), 1000)
- minApA = Round(Random(500000, 1000000), 1000)
- maxApA = Round(Random(1000000, 3000000), 1000)
- disableOnStateChange = true
- title = Achieve orbit within the parameters
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = EarlyNavSatellite
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The contract has been completed successfully and the satellite has been transferred to the customer.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
deleted file mode 100644
index 2fee79ae450..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
+++ /dev/null
@@ -1,107 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstComSat-CA
- title = First Communications Satellite
- group = EarlyCommApp
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Commercial Applications
Type: Required
Our communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
-
- synopsis = Launch the first communication satellite
-
- completedMessage = Congratulations! Satellite communications will forever change communications around the globe.
-
- sortKey = 512
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 45
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
- }
-
- DATA
- {
- type = float
- payload = 80
- }
-
- PARAMETER
- {
- name = FirstComSat
- type = VesselParameterGroup
- title = First Communications Satellite
- define = FirstComSat
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = 40
- minPeA = 850000
- minApA = 5000000
- disableOnStateChange = true
- title = Achieve orbit with a minimum inclination of 40 degrees, a minimum perigee of 850 km, and an apogee of more than 5,000 km
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
deleted file mode 100644
index 6d80904c1e1..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
+++ /dev/null
@@ -1,135 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstGEOSat-CA
- title = First Geostationary Satellite
- group = EarlyCommApp
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Commercial Applications
Type: Required
A geostationary orbit is a circular orbit approximately 35,790 km above the Earth's equator and following the direction of the Earth's rotation. An object in such an orbit has an orbital period equal to the Earth's rotational period (23 hours, 56 minutes, and 4.1 seconds) and thus will appear motionless at a fixed position in the sky to ground observers. Include solar panels to produce electrical power while in orbit.
Historical example: Syncom 3 (68kg, Delta).
-
- synopsis = Launch the first satellite into a geostationary orbit
-
- completedMessage = Success! The Geostationary orbit is the most commonly used orbit for communications satellites and other observation satellites.
-
- sortKey = 503
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 80
- failureReputation = 0 // was @rewardReputation
-
-
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
- }
-
- DATA
- {
- type = float
- payload = 25
- }
-
- PARAMETER
- {
- name = GeostationarySat
- type = VesselParameterGroup
- title = Geostationary Satellite
- define = Geostationary
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = HasSolarPower
- title = Can generate solar power
- type = PartValidation
- hideChildren = true
- partModule = ModuleDeployableSolarPanel
- minCount = 1
- }
- PARAMETER
- {
- name = ReachSpecificOrbit
- type = ReachSpecificOrbit
- displayNotes = true
- index = 0
- title = Achieve geostationary orbit
- deviationWindow = 5.0
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = GenerateEC
- title = Have positive energy balance
- type = ResourceConsumption
- resource = ElectricCharge
- minRate = -1000000
- maxRate = 0.00001
- }
- }
- }
-
- BEHAVIOUR
- {
- name = GeostationaryOrbit
- type = OrbitGenerator
- RANDOM_ORBIT
- {
- type = STATIONARY
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
deleted file mode 100644
index 04d4c055031..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
+++ /dev/null
@@ -1,100 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstNavSat-CA
- title = First Navigational Satellite // Based on Transit 1 through 4
- group = EarlyCommApp
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Commercial Applications
Type: Required
Through measuring the Doppler shift of radio signals transmitted from a satellite in a known orbit, it is possible for a receiver on the ground to establish their location, which would have many applications both civilian and military. To test the principle and develop receiver equipment, it is necessary to have a test navigational satellite in orbit. Be sure to include solar panels to generate power.
Historically, the first experiments in satellite navigation were made with Transit 1B (119 kg, Thor-Ablestar).
-
- synopsis = Launch the first navigation satellite
-
- completedMessage = Congratulations! The satellite is in orbit and we have already begun to receive Doppler curves.
-
- sortKey = 410
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 40
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
- }
-
- PARAMETER
- {
- name = FirstNavSat
- type = VesselParameterGroup
- title = First Navigational Satellite
- define = FirstNavSat
-
- 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 = HasNavSatPayload
- type = HasResource
- resource = NavSatPayload
- minQuantity = 49.9
- title = Have a NavSatPayload of at least 50 units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = 50
- minPeA = 350000
- disableOnStateChange = true
- title = Achieve orbit with a minimum inclination of 50 degrees and a minimum perigee of 350 km
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
- }
- }
-}
From 4618d59286f82daf39f6c4435c07fa3480b3ffd3 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 20:42:37 -0700
Subject: [PATCH 048/109] Add files via upload
Changed group name to CommApp for ease of future program additions
---
.../EarlyComSat-CA.cfg | 180 ++++++++++++++++++
.../EarlyNavSat-CA.cfg | 158 +++++++++++++++
.../FirstComSat-CA.cfg | 107 +++++++++++
.../FirstGEOSat-CA.cfg | 135 +++++++++++++
.../FirstNavSat-CA.cfg | 100 ++++++++++
5 files changed, 680 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
new file mode 100644
index 00000000000..6f5ff9fc4c4
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
@@ -0,0 +1,180 @@
+CONTRACT_TYPE
+{
+ name = EarlyComSat-CA
+ title = Commercial Communications Satellite (Early)
+ group = CommApp
+
+ description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Every major Telecom now wants their own satellite capabilities tailored to their specific needs. Launch new communications satellites with the required specifications into the specified orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
+
+ synopsis = Launch a Communications Satellite for a customer.
+
+ completedMessage = Success! The communications satellite was launched into the proper orbit. Your customer is very happy.
+
+ sortKey = 499
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 0
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardFunds = 0
+ rewardScience = 0
+ rewardReputation = Round(55 * Pow(@EarlyComSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
+ failureReputation = 0 // was @rewardReputation
+ failureFunds = 0
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat-CA
+ title = Complete First Communication Satellite contract
+ }
+
+ DATA
+ {
+ type = int
+ index = $EarlyComSat_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_OFFERED
+ {
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
+ }
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ EarlyComSat_Count = $EarlyComSat_Count + 1
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ DATA
+ {
+ type = int
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
+ }
+
+ DATA
+ {
+ type = float
+ elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
+ rewardFactorPercent = Round(@rewardFactor * 100, 1)
+ }
+
+ DATA
+ {
+ type = float
+ payload = Round(Random(150,500),1)
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = EarlyComSat
+ type = VesselParameterGroup
+ define = EarlyComSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Communications Satellite (Early)
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 31))
+ minPeA = Round(Random(700000, 1000000), 1000)
+ minApA = Round(Random(3000000, 10000000), 1000)
+ maxApA = Round(Random(10000000, 30000000), 1000)
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = EarlyComSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
new file mode 100644
index 00000000000..cb37bf39ac5
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
@@ -0,0 +1,158 @@
+CONTRACT_TYPE
+{
+ name = EarlyNavSat-CA
+ title = Commercial Navigation Satellite (Early)
+ group = CommApp
+
+ description = Program: Early Commercial Applications
Type: Optional
The first Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
Number of Contracts Completed: @index / @maxCompletions
+ genericDescription = Put a satellite with the required amount of navigation satellite payload into the desired orbit.
+
+ synopsis = Launch a Navigation Satellite for a customer.
+
+ completedMessage = Success! The navigation satellite was launched into the proper orbit. Precision satellite-based navigation is one step closer to being a reality.
+
+ sortKey = 499
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 6
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardFunds = 0
+ rewardScience = 0
+ rewardReputation = 20
+ failureReputation = 0 // was @rewardReputation
+ failureFunds = 0
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstNavSat-CA
+ title = Complete First Navigation Satellite contract
+ }
+
+ DATA
+ {
+ type = int
+ index = $EarlyNavSat_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ EarlyNavSat_Count = $EarlyNavSat_Count + 1
+ }
+
+ DATA
+ {
+ type = float
+ payload = 200
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = EarlyNavSat
+ type = VesselParameterGroup
+ define = EarlyNavSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Navigation Satellite (Early)
+
+ 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 = HasNavSatPayload
+ type = HasResource
+ resource = NavSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a NavSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 90))
+ minPeA = Round(Random(300000, 400000), 1000)
+ minApA = Round(Random(500000, 1000000), 1000)
+ maxApA = Round(Random(1000000, 3000000), 1000)
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = EarlyNavSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
new file mode 100644
index 00000000000..e7dffc2a163
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
@@ -0,0 +1,107 @@
+CONTRACT_TYPE
+{
+ name = FirstComSat-CA
+ title = First Communications Satellite
+ group = CommApp
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Commercial Applications
Type: Required
Our communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
+
+ synopsis = Launch the first communication satellite
+
+ completedMessage = Congratulations! Satellite communications will forever change communications around the globe.
+
+ sortKey = 512
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 45
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ DATA
+ {
+ type = float
+ payload = 80
+ }
+
+ PARAMETER
+ {
+ name = FirstComSat
+ type = VesselParameterGroup
+ title = First Communications Satellite
+ define = FirstComSat
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = 40
+ minPeA = 850000
+ minApA = 5000000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum inclination of 40 degrees, a minimum perigee of 850 km, and an apogee of more than 5,000 km
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
new file mode 100644
index 00000000000..bbb7cdcb991
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
@@ -0,0 +1,135 @@
+CONTRACT_TYPE
+{
+ name = FirstGEOSat-CA
+ title = First Geostationary Satellite
+ group = CommApp
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Commercial Applications
Type: Required
A geostationary orbit is a circular orbit approximately 35,790 km above the Earth's equator and following the direction of the Earth's rotation. An object in such an orbit has an orbital period equal to the Earth's rotational period (23 hours, 56 minutes, and 4.1 seconds) and thus will appear motionless at a fixed position in the sky to ground observers. Include solar panels to produce electrical power while in orbit.
Historical example: Syncom 3 (68kg, Delta).
+
+ synopsis = Launch the first satellite into a geostationary orbit
+
+ completedMessage = Success! The Geostationary orbit is the most commonly used orbit for communications satellites and other observation satellites.
+
+ sortKey = 503
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 80
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ DATA
+ {
+ type = float
+ payload = 25
+ }
+
+ PARAMETER
+ {
+ name = GeostationarySat
+ type = VesselParameterGroup
+ title = Geostationary Satellite
+ define = Geostationary
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = HasSolarPower
+ title = Can generate solar power
+ type = PartValidation
+ hideChildren = true
+ partModule = ModuleDeployableSolarPanel
+ minCount = 1
+ }
+ PARAMETER
+ {
+ name = ReachSpecificOrbit
+ type = ReachSpecificOrbit
+ displayNotes = true
+ index = 0
+ title = Achieve geostationary orbit
+ deviationWindow = 5.0
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = GenerateEC
+ title = Have positive energy balance
+ type = ResourceConsumption
+ resource = ElectricCharge
+ minRate = -1000000
+ maxRate = 0.00001
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = GeostationaryOrbit
+ type = OrbitGenerator
+ RANDOM_ORBIT
+ {
+ type = STATIONARY
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
new file mode 100644
index 00000000000..48e0b5d28db
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
@@ -0,0 +1,100 @@
+CONTRACT_TYPE
+{
+ name = FirstNavSat-CA
+ title = First Navigational Satellite // Based on Transit 1 through 4
+ group = CommApp
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Commercial Applications
Type: Required
Through measuring the Doppler shift of radio signals transmitted from a satellite in a known orbit, it is possible for a receiver on the ground to establish their location, which would have many applications both civilian and military. To test the principle and develop receiver equipment, it is necessary to have a test navigational satellite in orbit. Be sure to include solar panels to generate power.
Historically, the first experiments in satellite navigation were made with Transit 1B (119 kg, Thor-Ablestar).
+
+ synopsis = Launch the first navigation satellite
+
+ completedMessage = Congratulations! The satellite is in orbit and we have already begun to receive Doppler curves.
+
+ sortKey = 410
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 40
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ PARAMETER
+ {
+ name = FirstNavSat
+ type = VesselParameterGroup
+ title = First Navigational Satellite
+ define = FirstNavSat
+
+ 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 = HasNavSatPayload
+ type = HasResource
+ resource = NavSatPayload
+ minQuantity = 49.9
+ title = Have a NavSatPayload of at least 50 units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = 50
+ minPeA = 350000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum inclination of 50 degrees and a minimum perigee of 350 km
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+}
From 8c98807df243973daf8d577eb0eae68cc745051b Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 22:43:52 -0500
Subject: [PATCH 049/109] Delete GameData/RP-1/Contracts/Earth Observation 1
directory
---
.../Earth Observation 1/EOSCherenkov.cfg | 119 -------------
.../Earth Observation 1/EOSCorona.cfg | 134 ---------------
.../Earth Observation 1/EOSCoronaRep.cfg | 152 -----------------
.../Earth Observation 1/EOSCosmicRay1.cfg | 128 --------------
.../Earth Observation 1/EOSGrav1.cfg | 121 -------------
.../Earth Observation 1/EOSIRRad1.cfg | 128 --------------
.../Earth Observation 1/EOSIRRad1Rep.cfg | 160 ------------------
.../Earth Observation 1/EOSMagScan1.cfg | 127 --------------
8 files changed, 1069 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
deleted file mode 100644
index afc9fa79940..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
+++ /dev/null
@@ -1,119 +0,0 @@
-CONTRACT_TYPE
-{
- name = EOSCherenkov
- title = Cherenkov Detection Beyond LEO
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos.&br;&br;Make sure your craft contains a Cherenkov Counter and returns 1-week's worth of science from High Earth Orbit.&br;&br;Real life examples: Explorer 11.
-
- synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
-
- completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data about solar wind and cosmic rays.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatCherenkov
- type = VesselParameterGroup
- title = Cherenkov detector
- define = ScienceSatCherenkov
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minEccentricity = 0.085
- maxEccentricity = 0.200
- minPeA = 200000
- disableOnStateChange = true
- title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1w
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0cosmicRay1
- fractionComplete = 0.07
- title = Transmit 7 day's worth (7%) of Cherenkov science from High Earth Orbit
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
deleted file mode 100644
index a52121608fc..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
+++ /dev/null
@@ -1,134 +0,0 @@
-CONTRACT_TYPE
-{
- name = EOSCorona
- title = Earth Imaging Satellite
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images of Earth's surface from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals, but these types of satellites have numerous peaceful purposes as well, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.&br;&br;Real life examples: CORONA/Keyhole-1.
-
- synopsis = Launch the first dedicated imagery satellite.
-
- completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 80
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
- //REQUIREMENT
- //{ name = CompleteContract
- // type = CompleteContract
- // contractType = first_OrbitRecover
- // title = Completed First Orbit Recovery
- //}
-
- PARAMETER
- {
- name = Corona1
- type = VesselParameterGroup
- title = First high resolution imagery satellite
- define = EOSCorona
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for two days and return science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have Electric Charge for two days
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxApA = 200000
- maxEccentricity = 0.035
- minInclination = 80
- maxInclination = 100
- disableOnStateChange = true
- title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 2d
- preWaitText = Remain in orbit
- waitingText = Exposing film...
- completionText = Orbit period complete, return film
- }
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- experiment = RP0photos2
- fractionComplete = 0.0083
- title = Return the film package from Low Earth Orbit to the surface
-
- PARAMETER
- {
- name = ReturnHome
- type = RP1ReturnHome
- title = Return home safely
- hideChildren = true
- completeInSequence = true
- }
- }
-
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
deleted file mode 100644
index e3d80b95c20..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
+++ /dev/null
@@ -1,152 +0,0 @@
-CONTRACT_TYPE
-{
- name = EOSCoronaRep
- title = Earth Imaging Satellite, Long Duration
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface.Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: CORONA/Keyhole-1.
-
- synopsis = Launch another dedicated imagery satellite.
-
- completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 4
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 80
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
- REQUIREMENT
- { name = CompleteContract
- type = CompleteContract
- contractType = EOSCorona
- title = Completed Earth Imaging Satellite
- }
-
- DATA
- {
- type = int
- index = $RepeatCoronaSats_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_COMPLETED_SUCCESS
- {
- RepeatCoronaSats_Count = $RepeatCoronaSats_Count + 1
- }
- }
-
- PARAMETER
- {
- name = Corona2
- type = VesselParameterGroup
- title = High resolution imagery satellite
- define = Corona2
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for 6 months and return science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have Electric Charge for two days
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxApA = 200000
- maxEccentricity = 0.035
- minInclination = 80
- maxInclination = 100
- disableOnStateChange = true
- title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 183d
- preWaitText = Remain in orbit
- waitingText = Exposing film...
- completionText = Orbit period complete, return film
- }
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0photos2
- fractionComplete = 0.25
- title = Return the film package from Low Earth Orbit to the surface
-
- PARAMETER
- {
- name = ReturnHome
- type = RP1ReturnHome
- title = Return home safely
- hideChildren = true
- completeInSequence = true
- }
- }
-
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
deleted file mode 100644
index bc3ba67c254..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
+++ /dev/null
@@ -1,128 +0,0 @@
-CONTRACT_TYPE
-{
- name = EOSCosmicRay1
- title = Cosmic Ray Satellite Beyond LEO
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-week's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Real life examples: Explorer 6.
-
- synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
-
- completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data that has helped characterize the cosmic ray environment around Earth.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatCosmicRay1
- type = VesselParameterGroup
- title = Cosmic ray detector
- define = ScienceSatCosmicRay1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 36000000
- minPeA = 200000
- disableOnStateChange = true
- title = Achieve orbit with a minimum apogee of 36,000 km and a perigee higher than 200km.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1w
- preWaitText = Check for stable orbit
- waitingText = Collecting science...
- completionText = Science collected.
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0cosmicRay1
- fractionComplete = 0.07
- title = Transmit 1 week's worth (7%) of Cosmic Ray Science from High Earth Orbit.
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- experiment = RP0visibleImaging1
- fractionComplete = 1
- title = Transmit video images from High Orbit.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
deleted file mode 100644
index b49d1f2ca2d..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
+++ /dev/null
@@ -1,121 +0,0 @@
-CONTRACT_TYPE
-{
- name = EOSGrav1
- title = Gravimetric Satellite
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 1-months worth of science.&br;&br;Real life examples: ANNA 1B
-
- synopsis = Launch the first dedicated geodetic satellite.
-
- completedMessage = Interesting, the gravity field of Earth is far less uniform than expected.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatGrav1
- type = VesselParameterGroup
- title = Gravimetric satellite
- define = ScienceSatGrav1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for one month and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxApA = 550000
- minPeA = 450000
- minInclination = 48
- maxInclination = 52
- maxEccentricity = 0.003
- disableOnStateChange = true
- title = Achieve an inclined circular orbit with less than .003 eccentricity
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1m
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- fractionComplete = 0.0083
- experiment = RP0orbitalPurturbation1
- title = Transmit 1 month's worth (0.8%) of Orbital Perturbation science from Low Earth Orbit
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
deleted file mode 100644
index 89f1b1f3a4f..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ /dev/null
@@ -1,128 +0,0 @@
-CONTRACT_TYPE
-{
- name = EOSIRRad1
- title = Infrared Radiometry Satellite
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
-
- synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
-
- completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatIRRad
- type = VesselParameterGroup
- title = First weather satellite
- define = ScienceSatIRRad
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- maxApA = 1000000
- minPeA = 500000
- maxEccentricity = 0.005
- disableOnStateChange = true
- title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0infraredRad1
- title = Transmit infrared weather data from low orbit
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0visibleImaging1
- fractionComplete = 1
- title = Transmit corresponding video images from low orbit
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
deleted file mode 100644
index b1978523489..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
+++ /dev/null
@@ -1,160 +0,0 @@
-CONTRACT_TYPE
-{
- name = EOSIRRad1Rep
- title = Additional Infrared Radiometry Satellites
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of satellite control to the customer.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: TIROS-2 through TIROS-8.
-
- synopsis = Launch additional weather satellites with the Infrared Radiometry experiment and an Early TV camera.
-
- completedMessage = Congratulations on another succesful launch. Our use of satellites to better understand the impacts of weather phenomena and improve forecasting capabilities continues to improve with every launch.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 7
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 20
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = ScienceSatIRRad1
- title = Complete first IR Radiometry satellite.
- }
-
- DATA
- {
- type = int
- index = $RepeatIRRadSats_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_COMPLETED_SUCCESS
- {
- RepeatIRRadSats_Count = $RepeatIRRadSats_Count + 1
- }
- }
-
- PARAMETER
- {
- name = ScienceSatIRRad1Repeat
- type = VesselParameterGroup
- title = Additional weather satellite
- define = ScienceSatIRRad1Repeat
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = Round(Random(30, 80))
- maxInclination = 95
- minPeA = Round(Random(500000, 1000000), 10000)
- maxEccentricity = 0.005
- disableOnStateChange = true
- title = Achieve orbit within the parameters
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = ScienceSatIRRad1Repeat
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The launch was a success and satellite control has been transferred to the US Weather Bureau.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
deleted file mode 100644
index 46920a9e8d8..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
+++ /dev/null
@@ -1,127 +0,0 @@
-CONTRACT_TYPE
-{
- name = EOSMagScan1
- title = Magnetometry Satellite
- group = EarlyEOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Real life examples: IMP-A.
-
- synopsis = Launch the first dedicated magnetometry satellite.
-
- completedMessage = Our scientists now better understand the magnetosphere surrounding Earth and, combined with previous data, have determined the existance of a standing shock wave in the solar wind around the magnetic field.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 60
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
-
- PARAMETER
- {
- name = ScienceSatMagScan1
- type = VesselParameterGroup
- title = First magnetrometry satellite
- define = ScienceSatMagScan1
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minApA = 36000000
- disableOnStateChange = true
- title = Achieve an elliptical orbit with min apoapsis of 36,000km.
- }
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- fractionComplete = 0.03
- experiment = RP0magScan1
- title = Transmit 1 day's worth (3%) of Magnetic Scan science from Low Earth Orbit
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceHigh
- fractionComplete = 0.03
- experiment = RP0magScan1
- title = Transmit 1 day's worth (3%) of Magnetic Scan science from High Earth Orbit
- }
- }
- }
-}
From 25a13eae7d2fcd11aaa2de2ed1a77998558fe053 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 20:44:22 -0700
Subject: [PATCH 050/109] Add files via upload
Changed group to EOS for ease of future program additions
---
.../Earth Observation 1/EOSCherenkov.cfg | 119 +++++++++++++
.../Earth Observation 1/EOSCorona.cfg | 134 +++++++++++++++
.../Earth Observation 1/EOSCoronaRep.cfg | 152 +++++++++++++++++
.../Earth Observation 1/EOSCosmicRay1.cfg | 128 ++++++++++++++
.../Earth Observation 1/EOSGrav1.cfg | 121 +++++++++++++
.../Earth Observation 1/EOSIRRad1.cfg | 128 ++++++++++++++
.../Earth Observation 1/EOSIRRad1Rep.cfg | 160 ++++++++++++++++++
.../Earth Observation 1/EOSMagScan1.cfg | 127 ++++++++++++++
8 files changed, 1069 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
create mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
new file mode 100644
index 00000000000..49b73e34130
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
@@ -0,0 +1,119 @@
+CONTRACT_TYPE
+{
+ name = EOSCherenkov
+ title = Cherenkov Detection Beyond LEO
+ group = EOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos.&br;&br;Make sure your craft contains a Cherenkov Counter and returns 1-week's worth of science from High Earth Orbit.&br;&br;Real life examples: Explorer 11.
+
+ synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
+
+ completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data about solar wind and cosmic rays.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatCherenkov
+ type = VesselParameterGroup
+ title = Cherenkov detector
+ define = ScienceSatCherenkov
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minEccentricity = 0.085
+ maxEccentricity = 0.200
+ minPeA = 200000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1w
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0cosmicRay1
+ fractionComplete = 0.07
+ title = Transmit 7 day's worth (7%) of Cherenkov science from High Earth Orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
new file mode 100644
index 00000000000..751b8c9ca8f
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
@@ -0,0 +1,134 @@
+CONTRACT_TYPE
+{
+ name = EOSCorona
+ title = Earth Imaging Satellite
+ group = EOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images of Earth's surface from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals, but these types of satellites have numerous peaceful purposes as well, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.&br;&br;Real life examples: CORONA/Keyhole-1.
+
+ synopsis = Launch the first dedicated imagery satellite.
+
+ completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 80
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ //REQUIREMENT
+ //{ name = CompleteContract
+ // type = CompleteContract
+ // contractType = first_OrbitRecover
+ // title = Completed First Orbit Recovery
+ //}
+
+ PARAMETER
+ {
+ name = Corona1
+ type = VesselParameterGroup
+ title = First high resolution imagery satellite
+ define = EOSCorona
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for two days and return science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for two days
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 200000
+ maxEccentricity = 0.035
+ minInclination = 80
+ maxInclination = 100
+ disableOnStateChange = true
+ title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 2d
+ preWaitText = Remain in orbit
+ waitingText = Exposing film...
+ completionText = Orbit period complete, return film
+ }
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ experiment = RP0photos2
+ fractionComplete = 0.0083
+ title = Return the film package from Low Earth Orbit to the surface
+
+ PARAMETER
+ {
+ name = ReturnHome
+ type = RP1ReturnHome
+ title = Return home safely
+ hideChildren = true
+ completeInSequence = true
+ }
+ }
+
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
new file mode 100644
index 00000000000..7bf256b1cfd
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -0,0 +1,152 @@
+CONTRACT_TYPE
+{
+ name = EOSCoronaRep
+ title = Earth Imaging Satellite, Long Duration
+ group = EOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface.Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: CORONA/Keyhole-1.
+
+ synopsis = Launch another dedicated imagery satellite.
+
+ completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 4
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 80
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ REQUIREMENT
+ { name = CompleteContract
+ type = CompleteContract
+ contractType = EOSCorona
+ title = Completed Earth Imaging Satellite
+ }
+
+ DATA
+ {
+ type = int
+ index = $RepeatCoronaSats_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ RepeatCoronaSats_Count = $RepeatCoronaSats_Count + 1
+ }
+ }
+
+ PARAMETER
+ {
+ name = Corona2
+ type = VesselParameterGroup
+ title = High resolution imagery satellite
+ define = Corona2
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for 6 months and return science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for two days
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 200000
+ maxEccentricity = 0.035
+ minInclination = 80
+ maxInclination = 100
+ disableOnStateChange = true
+ title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 183d
+ preWaitText = Remain in orbit
+ waitingText = Exposing film...
+ completionText = Orbit period complete, return film
+ }
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0photos2
+ fractionComplete = 0.25
+ title = Return the film package from Low Earth Orbit to the surface
+
+ PARAMETER
+ {
+ name = ReturnHome
+ type = RP1ReturnHome
+ title = Return home safely
+ hideChildren = true
+ completeInSequence = true
+ }
+ }
+
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
new file mode 100644
index 00000000000..48388f4669f
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
@@ -0,0 +1,128 @@
+CONTRACT_TYPE
+{
+ name = EOSCosmicRay1
+ title = Cosmic Ray Satellite Beyond LEO
+ group = EOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-week's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Real life examples: Explorer 6.
+
+ synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
+
+ completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data that has helped characterize the cosmic ray environment around Earth.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatCosmicRay1
+ type = VesselParameterGroup
+ title = Cosmic ray detector
+ define = ScienceSatCosmicRay1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 36000000
+ minPeA = 200000
+ disableOnStateChange = true
+ title = Achieve orbit with a minimum apogee of 36,000 km and a perigee higher than 200km.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1w
+ preWaitText = Check for stable orbit
+ waitingText = Collecting science...
+ completionText = Science collected.
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0cosmicRay1
+ fractionComplete = 0.07
+ title = Transmit 1 week's worth (7%) of Cosmic Ray Science from High Earth Orbit.
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ experiment = RP0visibleImaging1
+ fractionComplete = 1
+ title = Transmit video images from High Orbit.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
new file mode 100644
index 00000000000..25ee06afcad
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
@@ -0,0 +1,121 @@
+CONTRACT_TYPE
+{
+ name = EOSGrav1
+ title = Gravimetric Satellite
+ group = EOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 1-months worth of science.&br;&br;Real life examples: ANNA 1B
+
+ synopsis = Launch the first dedicated geodetic satellite.
+
+ completedMessage = Interesting, the gravity field of Earth is far less uniform than expected.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatGrav1
+ type = VesselParameterGroup
+ title = Gravimetric satellite
+ define = ScienceSatGrav1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for one month and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 550000
+ minPeA = 450000
+ minInclination = 48
+ maxInclination = 52
+ maxEccentricity = 0.003
+ disableOnStateChange = true
+ title = Achieve an inclined circular orbit with less than .003 eccentricity
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1m
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ fractionComplete = 0.0083
+ experiment = RP0orbitalPurturbation1
+ title = Transmit 1 month's worth (0.8%) of Orbital Perturbation science from Low Earth Orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
new file mode 100644
index 00000000000..a96cdf2a3db
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -0,0 +1,128 @@
+CONTRACT_TYPE
+{
+ name = EOSIRRad1
+ title = Infrared Radiometry Satellite
+ group = EOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
+
+ synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad
+ type = VesselParameterGroup
+ title = First weather satellite
+ define = ScienceSatIRRad
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 1000000
+ minPeA = 500000
+ maxEccentricity = 0.005
+ disableOnStateChange = true
+ title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0infraredRad1
+ title = Transmit infrared weather data from low orbit
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0visibleImaging1
+ fractionComplete = 1
+ title = Transmit corresponding video images from low orbit
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
new file mode 100644
index 00000000000..b54dc06299c
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
@@ -0,0 +1,160 @@
+CONTRACT_TYPE
+{
+ name = EOSIRRad1Rep
+ title = Additional Infrared Radiometry Satellites
+ group = EOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of satellite control to the customer.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: TIROS-2 through TIROS-8.
+
+ synopsis = Launch additional weather satellites with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Congratulations on another succesful launch. Our use of satellites to better understand the impacts of weather phenomena and improve forecasting capabilities continues to improve with every launch.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 7
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 20
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = ScienceSatIRRad1
+ title = Complete first IR Radiometry satellite.
+ }
+
+ DATA
+ {
+ type = int
+ index = $RepeatIRRadSats_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ RepeatIRRadSats_Count = $RepeatIRRadSats_Count + 1
+ }
+ }
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad1Repeat
+ type = VesselParameterGroup
+ title = Additional weather satellite
+ define = ScienceSatIRRad1Repeat
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+ }
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minInclination = Round(Random(30, 80))
+ maxInclination = 95
+ minPeA = Round(Random(500000, 1000000), 10000)
+ maxEccentricity = 0.005
+ disableOnStateChange = true
+ title = Achieve orbit within the parameters
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = ScienceSatIRRad1Repeat
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The launch was a success and satellite control has been transferred to the US Weather Bureau.
+ }
+ }
+ }
+}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
new file mode 100644
index 00000000000..9aefaea4b8b
--- /dev/null
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
@@ -0,0 +1,127 @@
+CONTRACT_TYPE
+{
+ name = EOSMagScan1
+ title = Magnetometry Satellite
+ group = EOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Real life examples: IMP-A.
+
+ synopsis = Launch the first dedicated magnetometry satellite.
+
+ completedMessage = Our scientists now better understand the magnetosphere surrounding Earth and, combined with previous data, have determined the existance of a standing shock wave in the solar wind around the magnetic field.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+
+ PARAMETER
+ {
+ name = ScienceSatMagScan1
+ type = VesselParameterGroup
+ title = First magnetrometry satellite
+ define = ScienceSatMagScan1
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for a day and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ minApA = 36000000
+ disableOnStateChange = true
+ title = Achieve an elliptical orbit with min apoapsis of 36,000km.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 1d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ fractionComplete = 0.03
+ experiment = RP0magScan1
+ title = Transmit 1 day's worth (3%) of Magnetic Scan science from Low Earth Orbit
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceHigh
+ fractionComplete = 0.03
+ experiment = RP0magScan1
+ title = Transmit 1 day's worth (3%) of Magnetic Scan science from High Earth Orbit
+ }
+ }
+ }
+}
From 82f5614de042af7964beeac48a146e78abb1ac9c Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 23:24:01 -0500
Subject: [PATCH 051/109] Update Programs.cfg
Removed an ANY from CA1
---
GameData/RP-1/Programs/Programs.cfg | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index 46e9503f928..09a44a44858 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -351,11 +351,9 @@ RP0_PROGRAM
complete_contract = FirstNavSat-CA
complete_contract = FirstComSat-CA
complete_contract = FirstGEOSat-CA
- ANY
- {
- complete_contract = FirstMolniyaSat
- complete_contract = FirstTundraSat
- }
+ complete_contract = FirstMolniyaSat
+ complete_contract = FirstTundraSat
+
ANY
{
complete_contract = EarlyComNetwork3
From 671789a151790c91324e04452e2810e11b586630 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 19 Sep 2023 23:39:34 -0500
Subject: [PATCH 052/109] Update Programs.cfg
Added missing program completion requirement to CA
---
GameData/RP-1/Programs/Programs.cfg | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index 09a44a44858..b81e0499a32 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -346,6 +346,14 @@ RP0_PROGRAM
repPenaltyPerYearLate = 110
slots = 1
+ REQUIREMENTS
+ {
+ ANY
+ {
+ complete_program = EarlySatellites
+ complete_program = EarlySatellites-Heavy
+ }
+ }
OBJECTIVES
{
complete_contract = FirstNavSat-CA
From aca9550402352f5daf64ed67503f662c3f1a303e Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 20 Sep 2023 19:54:43 -0500
Subject: [PATCH 053/109] Update Programs.cfg - Remove EOS2/CA2, reenable
GEOComNet
---
GameData/RP-1/Programs/Programs.cfg | 99 ++---------------------------
1 file changed, 6 insertions(+), 93 deletions(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index b81e0499a32..54ddee12d03 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -381,97 +381,7 @@ RP0_PROGRAM
Fast = 400
}
}
-disabled_RP0_PROGRAM
-{
- name = MidEOS
- title = Progressing Earth Observation Satellites
- description = PLACEHOLDER
- requirementsPrettyText = Complete Early Satellites program
- objectivesPrettyText = PLACEHOLDER
- nominalDurationYears = 3
- baseFunding = 420000
- repDeltaOnCompletePerYearEarly = 130
- repPenaltyPerYearLate = 130
- slots = 1
-
- REQUIREMENTS
- {
- complete_program = EarlyEOS
- }
-
- OBJECTIVES
- {
- complete_contract = ScienceSatCosmicRay2
- complete_contract = ScienceSatCherenkov
- complete_contract = ScienceSatMagScan2
- complete_contract = ScienceSatIRRad2
- complete_contract = Corona1
- }
-
- OPTIONALS
- {
- ScienceSatIRRad1Rep = true
- ScienceSatGrav1 = true
- Corona2 = true
- }
-
- CONFIDENCECOSTS
- {
- Normal = 300
- Fast = 600
- }
-}
-
-disabled_RP0_PROGRAM
-{
- name = AdvCommApp
- title = Progressing Commercial Satellites
- description = PLACEHOLDER
- requirementsPrettyText = Complete the Commercial Applications program
- objectivesPrettyText = Complete a Geostationary Communications Network.
- nominalDurationYears = 2
- baseFunding = 700000
- fundingCurve = MildBackloadedFundingCurve
- repDeltaOnCompletePerYearEarly = 420
- repPenaltyPerYearLate = 420
- slots = 2
- REQUIREMENTS
- {
- ANY
- {
- complete_program = EarlyEOS1
- complete_Program = TargetedSats
- }
- ANY
- {
- complete_program = CommApp
- complete_program = CommNetwork
- }
- }
-
- OBJECTIVES
- {
- ANY
- {
- complete_contract = GeoComSatNetwork
- complete_contract = MolniyaNetwork
- }
- complete_contract = NavSatNetwork
- }
-
- OPTIONALS
- {
- GEORepeatComSats = true
- RepeatNavSats = true
- }
-
- CONFIDENCECOSTS
- {
- Normal = 450
- Fast = 900
- }
-}
RP0_PROGRAM
{
name = CommNetwork
@@ -521,8 +431,7 @@ RP0_PROGRAM
RP0_PROGRAM
{
name = GEOCommNetwork
- isDisabled = True
- title = Geostationary Communication Network (Deprecated)
+ title = Geostationary Communication Network
description = With geostationary orbits, satellites can be placed at specific spots over the equator where they will stay. This allows communications satellites to be put exactly where they will have the greatest benefit. This program tasks you with creating a 4-satellite Geostationary Network for communication. Each satellite will require 315 units of ComSatPayload.
requirementsPrettyText = Complete the Targeted Satellites Program
objectivesPrettyText = Complete the Geostationary Communications Network.
@@ -535,7 +444,11 @@ RP0_PROGRAM
REQUIREMENTS
{
- complete_program = TargetedSats
+ ANY
+ {
+ complete_program = TargetedSats
+ complete_program = EarlyCommApp
+ }
}
OBJECTIVES
From 8199b361b08fe8ed3f9d9e2484c0b3dafaadcb09 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 20:34:09 -0700
Subject: [PATCH 054/109] Configured experiment
---
.../RP-1/Science/Experiments/Cherenkov.cfg | 144 ++++++++++++++++++
1 file changed, 144 insertions(+)
create mode 100644 GameData/RP-1/Science/Experiments/Cherenkov.cfg
diff --git a/GameData/RP-1/Science/Experiments/Cherenkov.cfg b/GameData/RP-1/Science/Experiments/Cherenkov.cfg
new file mode 100644
index 00000000000..14aa14ef435
--- /dev/null
+++ b/GameData/RP-1/Science/Experiments/Cherenkov.cfg
@@ -0,0 +1,144 @@
+//==================================================================================//
+// COSMIC RAY SCIENCE 1.5 //
+//==================================================================================//
+
+EXPERIMENT_DEFINITION
+{
+ id = RP0Cherenkov
+ title = Cherekov Detector
+ baseValue = 20
+ scienceCap = 20
+ dataScale = 5 //
+ requireAtmosphere = False
+ situationMask = 48
+ biomeMask = 0
+ celestialBodies = Earth
+
+ RESULTS
+ {
+ default = High energy particle data detected by the Cherenkov detector has been logged.
+ }
+
+ KERBALISM_EXPERIMENT
+ {
+ // sample mass in tons. if undefined or 0, the experiment produce a file
+ SampleMass = 0
+ BodyAllowed = HomeBody
+ }
+}
+
+//ROK
+// ============================================================================
+// Replacing stock experiments
+// ============================================================================
+@PART[*]:HAS[@MODULE[DMModuleScienceAnimateGeneric]:HAS[#experimentID[RP0Cherenkov]]]:FOR[RP-0-Kerbalism]
+{
+ !MODULE[DMModuleScienceAnimateGeneric]:HAS[#experimentID[RP0Cherenkov]] {}
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0Cherenkov
+ }
+}
+
+// ============================================================================
+// Reconfigure experiments(avoiding a global nuke to keep people happy)
+// strongly recommendeded to not change anything in this section
+// Separate from above due to Configure Groups.
+// ============================================================================
+@PART[*]:HAS[@MODULE[Experiment]]:AFTER[RP-0-Kerbalism]
+{
+ @MODULE[Experiment]:HAS[#experiment_id[RP0Cherenkov]]
+ {
+ %ec_rate = 0.0005
+ %data_rate = 5 //2 b/s
+ @data_rate /= 7862400 //3 months
+ %requires = OrbitMinEccentricity:0.04
+ %resources =
+ %experiment_desc = A Cherenkov detector used for the categorization of high-energy particles from solar wind and cosmic rays, particularly gamma rays from beyond the solar system.
+ }
+}
+
+//==========================================//
+// General Science Module //
+//==========================================//
+
+@PART[RP0Cherenkov|RO-GeigerMuller|FASAProbeGeigerCounter]:FOR[RP-0]
+{
+ MODULE
+ {
+ name = DMModuleScienceAnimateGeneric
+ experimentID = RP0Cherenkov
+
+ animationName = needle
+ experimentAnimation = true
+ experimentWaitForAnimation = true
+ keepDeployedMode = 0
+ showEndEvent = false
+ showStartEvent = false
+ showToggleEvent = false
+ startEventGUIName = Open Sensors
+ endEventGUIName = Close Sensors
+ toggleEventGUIName = Toggle Sensors
+ evaDistance = 1.85
+
+ collectActionName = Retrieve Radiation Data
+ resetActionName = Discard Radiation Data
+ reviewActionName = Review Radiation Data
+ dataIsCollectable = true
+ experimentActionName = Log Radiation
+ rerunnable = true
+ hideUIwhenUnavailable = true
+ useActionGroups = true
+ useStaging = false
+ xmitDataScalar = 1.0
+ usageReqMaskExternal = 4
+
+ deployingMessage = The radiation sensors are now exposed.
+ waitForAnimationTime = -1
+ resourceExperiment = ElectricCharge
+ resourceExpCost = 0
+ experimentsLimit = 1
+ totalScienceLevel = 1.0
+ asteroidReports = false
+ }
+}
+
+
+// COSMIC RAY LEVEL 1.5
+// Cherenkov Detector
+// Based on the Geiger-Muller Counters used on many spacecraft.
+// Part: Bluedog Geiger Counter, FASA Geiger Counter
+//====================================================================================
+
+@PART[RP0Cherenkov|RO-GeigerMuller|FASAProbeGeigerCounter]:AFTER[RP-0]
+{
+ @MODULE[DMModuleScienceAnimateGeneric]
+ {
+ @totalScienceLevel = 0.375
+ }
+}
+
+// ============================================================================
+// Add experiment to parts
+// ============================================================================
+@PART[RP0Cherenkov|RO-GeigerMuller|FASAProbeGeigerCounter]:BEFORE[RP-0-Kerbalism]
+{
+ !MODULE[DMModuleScienceAnimateGeneric]:HAS[#experimentID[RP0Cherenkov]] {}
+ MODULE
+ {
+ name = ModuleScienceExperiment
+ experimentID = RP0Cherenkov
+ experimentActionName = Log Radiation
+ resetActionName = Discard Data
+ reviewActionName = Review Stored Data
+ useStaging = False
+ useActionGroups = True
+ hideUIwhenUnavailable = True
+ rerunnable = True
+ xmitDataScalar = 1
+ usageReqMaskInternal = 1
+ usageReqMaskExternal = 4
+ dataIsCollectable = true
+ }
+}
From 5aa507ca877288154eda642cb0895040701d6fcd Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 20:34:58 -0700
Subject: [PATCH 055/109] Created Cherenkov detector part
---
GameData/RP-1/Tree/ECM-Parts.cfg | 1 +
GameData/RP-1/Tree/TREE-Parts.cfg | 11 +++++++++++
GameData/RP-1/Tree/identicalParts.cfg | 1 +
3 files changed, 13 insertions(+)
diff --git a/GameData/RP-1/Tree/ECM-Parts.cfg b/GameData/RP-1/Tree/ECM-Parts.cfg
index 3fe8fc61954..b1a909f1420 100644
--- a/GameData/RP-1/Tree/ECM-Parts.cfg
+++ b/GameData/RP-1/Tree/ECM-Parts.cfg
@@ -2236,4 +2236,5 @@
xmonkeyreptarx = Merlin1A
xndsport1x = NASADock
zerocockpit = 1
+ RP0Cherenkov = Cherenkov
}
\ No newline at end of file
diff --git a/GameData/RP-1/Tree/TREE-Parts.cfg b/GameData/RP-1/Tree/TREE-Parts.cfg
index 37c9deb6e04..53d64863367 100644
--- a/GameData/RP-1/Tree/TREE-Parts.cfg
+++ b/GameData/RP-1/Tree/TREE-Parts.cfg
@@ -39693,4 +39693,15 @@
MODULE
{ name = ModuleUnpressurizedCockpit }
+}
+@PART[RP0Cherenkov]:FOR[xxxRP0]
+{
+ %TechRequired = scienceHuman
+ %cost = 200
+ %entryCost =
+ RP0conf = true
+ @description ^=:$: From RP-1 (Bluedog Model) mod
+
+ %MODULE[ModuleTagList] { tag = Instruments }
+
}
\ No newline at end of file
diff --git a/GameData/RP-1/Tree/identicalParts.cfg b/GameData/RP-1/Tree/identicalParts.cfg
index b2a1d873ff3..bb2f0a471c7 100644
--- a/GameData/RP-1/Tree/identicalParts.cfg
+++ b/GameData/RP-1/Tree/identicalParts.cfg
@@ -270,6 +270,7 @@
@PART[XCXA_ACBMX]:FOR[xxxRP0] { %identicalParts = CXA_ACBM,CXA_MCBM,CXA_PCBM,KW3mDockingRing,RO-SSTU-DP-CBM,XCXA_ACBMX,dockingPortLarge,ht2_CBM }
@PART[FASAGeminiLFTCentarCSM_T]:FOR[xxxRP0] { %identicalParts = FASAGeminiLFTCentarCSM_T,SHIP_CENTAUR_T }
@PART[SHIP_CENTAUR_T]:FOR[xxxRP0] { %identicalParts = FASAGeminiLFTCentarCSM_T,SHIP_CENTAUR_T }
+@PART[RP0Cherenkov]:FOR[xxxRP0] { %identicalParts = RP0Cherenkov }
@PART[ROEE-COBRA]:FOR[xxxRP0] { %identicalParts = ROEE-COBRA }
@PART[FASAE1]:FOR[xxxRP0] { %identicalParts = FASAE1,RO-E1,ROE-E1,ROE-E1-BDB,SHIP_E1 }
@PART[RO-E1]:FOR[xxxRP0] { %identicalParts = FASAE1,RO-E1,ROE-E1,ROE-E1-BDB,SHIP_E1 }
From 1197cec837fbe9c8150ea609daf4e01e82a807d6 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 20:35:29 -0700
Subject: [PATCH 056/109] Updated Cherekov config
---
GameData/RP-1/Science/Configure.cfg | 1856 ++++++++++++++-------------
1 file changed, 941 insertions(+), 915 deletions(-)
diff --git a/GameData/RP-1/Science/Configure.cfg b/GameData/RP-1/Science/Configure.cfg
index fcec46d5307..856e3c4b2ca 100644
--- a/GameData/RP-1/Science/Configure.cfg
+++ b/GameData/RP-1/Science/Configure.cfg
@@ -1,915 +1,941 @@
-// ============================================================================
-// Probe Experiment includer
-// ============================================================================
-@PART[RO_earlyControllableCore|RO_probeCoreCubeEarly|RP0probeVanguardXray|sputnik2|pioneer_0_1_2|bluedog_Pioneer1|pioneer_3_4|bluedog_Pioneer4|sputnik3|explorer_6|tiros-1|bluedog_explorer7probe|luna2|vanguard-2|vanguard-3|pioneer_5|rn_mariner1_2|bluedog_Explorer1|FASAExplorerProbe|luna_als|pioneer_6_7_8_9|quetzal|pioneer_10_11|rn_voyager|torekka|galileo_aprobe|galileo_mb|luna11_als|neo_dawn|rn_lro|rn_juno_spacecraft|SXTHECSRanger|probeCoreHex_v2|RO_surveyorCore|HECS2_ProbeCore|probeCoreCube|probeCoreCubeMedium|RO_boeing702|proceduralAvionics|ROT-ProbeCore]:AFTER[RP-0-Kerbalism]
-{
- MODULE
- {
- name = Experiment
- experiment_id = barometerScan
- experiment_desc = An ambient pressure sensor.
- }
- MODULE
- {
- name = Sensor
- type = pressure
- }
- MODULE
- {
- name = Experiment
- experiment_id = temperatureScan
- experiment_desc = An ambient temperature sensor.
- }
- MODULE
- {
- name = Sensor
- type = temperature
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0cosmicRay1
- experiment_desc = A geiger-muller counter. Used to study the radiation environment; requires an eccentric orbit to study radiation belts and altitude-based variation.
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0cosmicRay2
- experiment_desc = An improved cosmic ray detector. Used to study the radiation environment.
- }
- MODULE
- {
- name = Sensor
- type = radiation
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0magScan1
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0massSpec1
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0massSpec2
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0massSpec3
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0massSpec4
- }
- MODULE
- {
- name = Experiment
- experiment_id = micrometeoriteDetect
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0visibleImaging1
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0visibleImaging2
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0visibleImaging3
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0infraredRad1
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0infraredRad2
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0infraredRad3
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0orbitalPurturbation1
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0imageSpec1
- experiment_desc = Infrared Imaging Spectrometer (IRIS). Provides data about atmospheric composition, temperature and vertical structure; can't be used from too far away.
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0imageSpec2
- experiment_desc = Ultraviolet Spectrometer. Measures the extinction properties of atmospheres.
- }
- MODULE
- {
- name = Experiment
- experiment_id = RP0imageSpec3
- experiment_desc = Near Infrared Mapping Spectrometer (NIMS). Provides information about surface minerals and atmosphere dynamics.
- }
-
- MODULE
- {
- name = Configure
- title = Experiments
- slots = 4
- SETUP
- {
- name = None
- desc = Empty slot for mass and cost savings, should you not require any experiments installed.
- }
- // More None entries because kerbalism only makes slots
- // configurable if there are more "valid" entries than slots.
- // Thermometer and barometer are always unlocked in RP-1,
- // we have 4 slots, so need 3 None entries (total 5) to make
- // thermo and baro unselectable in the early game.
- // (presumably a kerbalism core bug)
- // Must have unique names, otherwise kerbalism gets confused.
- // Ugly workaround, means user will have 2 extra useless
- // entries to cycle through.
- SETUP
- {
- name = None 2
- desc = Empty slot 2
- }
- SETUP
- {
- name = None 3
- desc = Empty slot 3
- }
- SETUP
- {
- name = None 4
- desc = Empty slot 4
- }
- SETUP
- {
- name = Barometer
- mass = 0.0001
- cost = 1
- tech = unlockParts
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = barometerScan
- }
- MODULE
- {
- type = Sensor
- id_field = type
- id_value = pressure
- }
- }
- SETUP
- {
- name = Thermometer
- mass = 0.0001
- cost = 1
- tech = unlockParts
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = temperatureScan
- }
- MODULE
- {
- type = Sensor
- id_field = type
- id_value = temperature
- }
- }
- SETUP
- {
- name = Radiation Detector 1
- mass = 0.0005
- cost = 33
- tech = scienceSatellite
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0cosmicRay1
- }
- MODULE
- {
- type = Sensor
- id_field = type
- id_value = radiation
- }
- }
- SETUP
- {
- name = Radiation Detector 2
- mass = 0.0065
- cost = 83
- tech = scienceAdvCapsules
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0cosmicRay2
- }
- MODULE
- {
- type = Sensor
- id_field = type
- id_value = radiation
- }
- }
- SETUP
- {
- name = Magnetometer 1
- mass = 0.015
- cost = 83
- tech = scienceSatellite
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0magScan1
- }
- }
- SETUP
- {
- name = Mass Spectrometer 1
- mass = 0.0022
- cost = 33
- tech = earlyScience
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0massSpec1
- }
- }
- SETUP
- {
- name = Mass Spectrometer 2
- mass = 0.0075
- cost = 167
- tech = scienceAdvCapsules
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0massSpec2
- }
- }
- SETUP
- {
- name = Mass Spectrometer 3
- mass = 0.0098
- cost = 333
- tech = scienceLunar
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0massSpec3
- }
- }
- SETUP
- {
- name = Mass Spectrometer 4
- mass = 0.0098
- cost = 1750
- tech = deepSpaceScience
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0massSpec4
- }
- }
- SETUP
- {
- name = Micrometeorite Detector
- mass = 0.0022
- cost = 33
- tech = scienceSatellite
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = micrometeoriteDetect
- }
- }
- SETUP
- {
- name = Early TV Camera
- mass = 0.005
- cost = 33
- tech = scienceSatellite
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0visibleImaging1
- }
- }
- SETUP
- {
- name = Basic TV Camera
- mass = 0.0051
- cost = 83
- tech = scienceAdvCapsules
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0visibleImaging2
- }
- }
- SETUP
- {
- name = Improved TV Camera
- mass = 0.04
- cost = 167
- tech = deepSpaceScience
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0visibleImaging3
- }
- }
- SETUP
- {
- name = Infrared Radiometer
- mass = 0.0013
- cost = 83
- tech = scienceHuman
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0infraredRad1
- }
- }
- SETUP
- {
- name = Infrared Radiometer 2
- mass = 0.0051
- cost = 167
- tech = scienceAdvCapsules
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0infraredRad2
- }
- }
- SETUP
- {
- name = Infrared Radiometer 3
- mass = 0.0036
- cost = 333
- tech = deepSpaceScience
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0infraredRad3
- }
- }
- SETUP
- {
- name = Orbital Perturbation
- mass = 0.001
- cost = 83
- tech = scienceHuman
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0orbitalPurturbation1
- }
- }
- SETUP
- {
- name = Infrared Spectrometer
- mass = 0.018
- cost = 83
- tech = scienceAdvCapsules
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0imageSpec1
- }
- }
- SETUP
- {
- name = Infrared Spectrometer 2
- mass = 0.0055
- cost = 167
- tech = deepSpaceScience
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0imageSpec2
- }
- }
- SETUP
- {
- name = Infrared Spectrometer 3
- mass = 0.0195
- cost = 333
- tech = scienceExploration
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0imageSpec3
- }
- }
- }
-}
-
-
-// ============================================================================
-// Crew experiment Selection
-// ============================================================================
-
-// Cockpits
-@PART[*]:HAS[#capsuleTier[Cockpit]]:AFTER[RP-0-Kerbalism]
-{
- @MODULE[HardDrive]
- {
- @sampleCapacity += 1
- }
-
- MODULE
- {
- name = Configure
- title = Crew Science
- slots = 1
-
- SETUP
- {
- name = None
- desc = Empty slot for mass and cost savings, should you not require any experiments installed.
- }
-
- SETUP
- {
- name = Supersonic flight
- desc = //fixme
- mass = 0.004
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0SupersonicLow1
- }
- }
- SETUP
- {
- name = Mach 2 flight
- desc = //fixme
- mass = 0.004
- tech = supersonicDev
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0SupersonicLow2
- }
- }
- SETUP
- {
- name = High altitude flight
- desc = //fixme
- mass = 0.004
- tech = supersonicFlightRP0
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0SupersonicHigh1
- }
- }
- SETUP
- {
- name = Hypersonic flight
- desc = //fixme
- mass = 0.004
- tech = supersonicFlightRP0
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0SupersonicHigh2
- }
- }
- }
-}
-
-// Basic Capsules
-@PART[*]:HAS[#capsuleTier[Basic]]:AFTER[RP-0-Kerbalism]
-{
- @MODULE[HardDrive]
- {
- @sampleCapacity += 1
- }
-
- MODULE
- {
- name = Configure
- title = Crew Science
- slots = 2
-
- SETUP
- {
- name = None
- desc = Empty slot for mass and cost savings, should you not require any experiments installed.
- }
-
- SETUP
- {
- name = Liquids in Microgravity
- desc = Very little is known about how liquids behave in a microgravity environment. Various tests are needed to analyze the liquids to properly design fluid storage tanks in the future.
- mass = 0.004
- tech = basicCapsules
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0LiquidsMicrogravity
- }
- }
- SETUP
- {
- name = Visual Tracking
- desc = This experiment is designed to test how well humans can track objects in space. A multicolor, mylar balloon, about the size of a beach ball, will be extended on a tether for the crew member to track.
- mass = 0.003
- tech = basicCapsules
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0VisualTracking
- }
- }
- SETUP
- {
- name = Flight Control Experiments
- desc = Maneuvering in space will be very important if we want to continue our exploration. We need the crew member to see how the spacecraft reacts and maneuvers with yaw, pitch and roll controls.
- mass = 0.001
- tech = earlyFlightControl
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0FlightControl
- }
- }
- SETUP
- {
- name = Earth Photography
- desc = By using a hand-held camera, our crew can take images of locations on Earth that our scientists are intersted in. These images can be of much higher quality than our current satellite technology can accomplish.
- mass = 0.005
- tech = start
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0EarthPhotography
- }
- }
- }
-}
-
-// Second Gen Capsules
-@PART[*]:HAS[#capsuleTier[SecondGen]]:AFTER[RP-0-Kerbalism]
-{
-
- @MODULE[HardDrive]
- {
- @sampleCapacity += 2
- }
-
- MODULE
- {
- name = Configure
- title = Crew Science
- slots = 3
-
- SETUP
- {
- name = None
- desc = Empty slot for mass and cost savings, should you not require any experiments installed.
- }
-
- SETUP
- {
- name = Orbital Maneuvering
- desc = It will be necessary for our future spacecraft to be able to change their oribts in order to rendezvous and dock. This experiment will test the Orbital Maneuvering system to better understand what is required and possible.
- mass = 0
- tech = secondGenCapsules
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0OrbitalManeuvering
- }
- }
- SETUP
- {
- name = Visual Acuity
- desc = The visual ability of the astronauts in the detection and recognition of objects on the Earth's surface will be tested.
- mass = 0.002
- tech = start
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0VisualAcuity
- }
- }
- SETUP
- {
- name = Star Occultation Navigation
- desc = To study the feasibility and operational value of star occulting measurements in the development of a simple, accurate, and self-contained navigational capability by measuring the time stars dip behind an established horizon.
- mass = 0.008
- tech = earlyFlightControl
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0StarOccultationNav
- }
- }
- SETUP
- {
- name = Power Tool Evaluation
- desc = To determine man's ability to perform work tasks in pressurized suit under zero gravity.
- mass = 0
- tech = materialsScienceHuman
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0PowerToolEvaluation
- }
- }
- SETUP
- {
- name = Simple Organism Egg Growth
- desc = This experiment is designed to explore the possibility of the existence of a gravitational field effect on cells exposed to microgravity situations. These irregularities would be easier to explore in simple cell systems.
- mass = 0.001
- tech = materialsScienceHuman
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0EggGrowth
- }
- }
- SETUP
- {
- name = Synergistic Effect of Zero Gravity and Radiation on White Blood Cells
- desc = The objective is to examine the biological effects of radiation. The experiment will test the possibility that weightlessness interacts with radiation to produce unpredicted effects greater than the sum of their individual effects.
- mass = 0.001
- tech = start
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0BloodCells
- }
- }
- SETUP
- {
- name = In-Flight Sleep Analysis
- desc = The objectives of this experiment are to assess the crew's state of alertness, levels of consciousness, and depth of sleep during flight.
- mass = 0
- tech = start
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0SleepAnalysis
- }
- }
- SETUP
- {
- name = Food Evaluation
- desc = Our scientists have come up with a fancy way of packaging food for consumption in space. We need the crew to evaluate how the trip to space has affected this packaging and the quality of the food.
- mass = 0.001
- tech = start
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0FoodEvaluation
- }
- }
- SETUP
- {
- name = In-flight Work Tolerance
- desc = The astronauts will use a bungee cord to assess their capacity to do physical work under space flight conditions.
- mass = 0.003
- tech = start
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0WorkTolerance
- }
- }
- SETUP
- {
- name = Simple Navigation
- desc = Study the capability of crew to provide a reliable method of navigation without input from the ground utilizing a space stedimeter and a sextant.
- mass = 0.005
- tech = secondGenCapsules
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0SimpleNavigation
- }
- }
- SETUP
- {
- name = Zodiacal Light Photography
- desc = To obtain photographs of zodiacal light, airglow layer, and other dim light phenomena, including day sky brightness from orbital altitude.
- mass = 0.008
- tech = secondGenCapsules
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0ZodiacalLightPhoto
- }
- }
- SETUP
- {
- name = UHF/VHF Polarization
- desc = To obtain information on communication systems operating through the ionosphere.
- mass = 0.005
- tech = lunarRangeComms
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0VHFPolarization
- }
- }
- }
-}
-
-// Mature Capsules
-@PART[*]:HAS[#capsuleTier[Mature]]:AFTER[RP-0-Kerbalism]
-{
- @MODULE[HardDrive]
- {
- @sampleCapacity += 5
- }
-
- MODULE
- {
- name = Configure
- title = Crew Science
- slots = 3
-
- SETUP
- {
- name = None
- desc = Empty slot for mass and cost savings, should you not require any experiments installed.
- }
-
- SETUP
- {
- name = Space Television Broadcast
- desc = To broadcast live television while in route to the Moon.
- mass = 0.006
- tech = lunarRangeComms
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0TelevisionBroadcast
- }
- }
- SETUP
- {
- name = Ion Sensing Altitude Control
- desc = To investigate determination of spacecraft attitude in yaw and pitch from measurement of ion flow variations. The recording of ion sensor outputs during pitch and yaw maneuvers will be compared with data obtained from the inertial guidance system and the horizon scanner. Results of the comparison and the astronaut evaluation will form the basis for further development of simple, lightweight orbital attitude determination systems.
- mass = 0
- tech = electronicsHuman
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0IonSensingAltitudeControl
- }
- }
- SETUP
- {
- name = Night Image Intensification
- desc = To test the usefulness and performance of a low-light-level television system as a supplement to unaided vision in observing surface features primarily when such features are in darkness and spacecraft pilots are not dark-adapted.
- mass = 0.01
- tech = electronicsHuman
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0NightImageIntensification
- }
- }
- SETUP
- {
- name = Synoptic Terrain Photography
- desc = Crew photographs of land and ocean areas for geologic, geographic, and oceanographic study for evaluation of various film types. This experiment can be completed 3 times.
- mass = 0.008
- tech = start
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0TerrainPhotography
- }
- }
- SETUP
- {
- name = Synoptic Weather Photography
- desc = Crew photographs of global and local weather systems for use by scientists in improving techniques of interpretation of orbital altitude weather photographs. This experiment can be completed 3 times.
- mass = 0.008
- tech = start
-
- MODULE
- {
- type = Experiment
- id_field = experiment_id
- id_value = RP0WeatherPhotography
- }
- }
- }
-}
+// ============================================================================
+// Probe Experiment includer
+// ============================================================================
+@PART[RO_earlyControllableCore|RO_probeCoreCubeEarly|RP0probeVanguardXray|sputnik2|pioneer_0_1_2|bluedog_Pioneer1|pioneer_3_4|bluedog_Pioneer4|sputnik3|explorer_6|tiros-1|bluedog_explorer7probe|luna2|vanguard-2|vanguard-3|pioneer_5|rn_mariner1_2|bluedog_Explorer1|FASAExplorerProbe|luna_als|pioneer_6_7_8_9|quetzal|pioneer_10_11|rn_voyager|torekka|galileo_aprobe|galileo_mb|luna11_als|neo_dawn|rn_lro|rn_juno_spacecraft|SXTHECSRanger|probeCoreHex_v2|RO_surveyorCore|HECS2_ProbeCore|probeCoreCube|probeCoreCubeMedium|RO_boeing702|proceduralAvionics|ROT-ProbeCore]:AFTER[RP-0-Kerbalism]
+{
+ MODULE
+ {
+ name = Experiment
+ experiment_id = barometerScan
+ experiment_desc = An ambient pressure sensor.
+ }
+ MODULE
+ {
+ name = Sensor
+ type = pressure
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = temperatureScan
+ experiment_desc = An ambient temperature sensor.
+ }
+ MODULE
+ {
+ name = Sensor
+ type = temperature
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0cosmicRay1
+ experiment_desc = A geiger-muller counter. Used to study the radiation environment; requires an eccentric orbit to study radiation belts and altitude-based variation.
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0Cherenkov
+ experiment_desc = A Cherenkov detector used for the categorization of high-energy particles from solar wind and cosmic rays, particularly Gamma Ray bursts from beyond the solar system.
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0cosmicRay2
+ experiment_desc = An improved cosmic ray detector. Used to study the radiation environment.
+ }
+ MODULE
+ {
+ name = Sensor
+ type = radiation
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0magScan1
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0massSpec1
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0massSpec2
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0massSpec3
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0massSpec4
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = micrometeoriteDetect
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0visibleImaging1
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0visibleImaging2
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0visibleImaging3
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0infraredRad1
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0infraredRad2
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0infraredRad3
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0orbitalPurturbation1
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0imageSpec1
+ experiment_desc = Infrared Imaging Spectrometer (IRIS). Provides data about atmospheric composition, temperature and vertical structure; can't be used from too far away.
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0imageSpec2
+ experiment_desc = Ultraviolet Spectrometer. Measures the extinction properties of atmospheres.
+ }
+ MODULE
+ {
+ name = Experiment
+ experiment_id = RP0imageSpec3
+ experiment_desc = Near Infrared Mapping Spectrometer (NIMS). Provides information about surface minerals and atmosphere dynamics.
+ }
+
+ MODULE
+ {
+ name = Configure
+ title = Experiments
+ slots = 4
+ SETUP
+ {
+ name = None
+ desc = Empty slot for mass and cost savings, should you not require any experiments installed.
+ }
+ // More None entries because kerbalism only makes slots
+ // configurable if there are more "valid" entries than slots.
+ // Thermometer and barometer are always unlocked in RP-1,
+ // we have 4 slots, so need 3 None entries (total 5) to make
+ // thermo and baro unselectable in the early game.
+ // (presumably a kerbalism core bug)
+ // Must have unique names, otherwise kerbalism gets confused.
+ // Ugly workaround, means user will have 2 extra useless
+ // entries to cycle through.
+ SETUP
+ {
+ name = None 2
+ desc = Empty slot 2
+ }
+ SETUP
+ {
+ name = None 3
+ desc = Empty slot 3
+ }
+ SETUP
+ {
+ name = None 4
+ desc = Empty slot 4
+ }
+ SETUP
+ {
+ name = Barometer
+ mass = 0.0001
+ cost = 1
+ tech = unlockParts
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = barometerScan
+ }
+ MODULE
+ {
+ type = Sensor
+ id_field = type
+ id_value = pressure
+ }
+ }
+ SETUP
+ {
+ name = Thermometer
+ mass = 0.0001
+ cost = 1
+ tech = unlockParts
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = temperatureScan
+ }
+ MODULE
+ {
+ type = Sensor
+ id_field = type
+ id_value = temperature
+ }
+ }
+ SETUP
+ {
+ name = Radiation Detector 1
+ mass = 0.0005
+ cost = 33
+ tech = scienceSatellite
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0cosmicRay1
+ }
+ MODULE
+ {
+ type = Sensor
+ id_field = type
+ id_value = radiation
+ }
+ }
+ SETUP
+ {
+ name = Radiation Detector 1.5
+ mass = 0.00055
+ cost = 58
+ tech = scienceHuman
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0Cherenkov
+ }
+ MODULE
+ {
+ type = Sensor
+ id_field = type
+ id_value = radiation
+ }
+ }
+ SETUP
+ {
+ name = Radiation Detector 2
+ mass = 0.0065
+ cost = 83
+ tech = scienceAdvCapsules
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0cosmicRay2
+ }
+ MODULE
+ {
+ type = Sensor
+ id_field = type
+ id_value = radiation
+ }
+ }
+ SETUP
+ {
+ name = Magnetometer 1
+ mass = 0.015
+ cost = 83
+ tech = scienceSatellite
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0magScan1
+ }
+ }
+ SETUP
+ {
+ name = Mass Spectrometer 1
+ mass = 0.0022
+ cost = 33
+ tech = earlyScience
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0massSpec1
+ }
+ }
+ SETUP
+ {
+ name = Mass Spectrometer 2
+ mass = 0.0075
+ cost = 167
+ tech = scienceAdvCapsules
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0massSpec2
+ }
+ }
+ SETUP
+ {
+ name = Mass Spectrometer 3
+ mass = 0.0098
+ cost = 333
+ tech = scienceLunar
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0massSpec3
+ }
+ }
+ SETUP
+ {
+ name = Mass Spectrometer 4
+ mass = 0.0098
+ cost = 1750
+ tech = deepSpaceScience
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0massSpec4
+ }
+ }
+ SETUP
+ {
+ name = Micrometeorite Detector
+ mass = 0.0022
+ cost = 33
+ tech = scienceSatellite
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = micrometeoriteDetect
+ }
+ }
+ SETUP
+ {
+ name = Early TV Camera
+ mass = 0.005
+ cost = 33
+ tech = scienceSatellite
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0visibleImaging1
+ }
+ }
+ SETUP
+ {
+ name = Basic TV Camera
+ mass = 0.0051
+ cost = 83
+ tech = scienceAdvCapsules
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0visibleImaging2
+ }
+ }
+ SETUP
+ {
+ name = Improved TV Camera
+ mass = 0.04
+ cost = 167
+ tech = deepSpaceScience
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0visibleImaging3
+ }
+ }
+ SETUP
+ {
+ name = Infrared Radiometer
+ mass = 0.0013
+ cost = 83
+ tech = scienceHuman
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0infraredRad1
+ }
+ }
+ SETUP
+ {
+ name = Infrared Radiometer 2
+ mass = 0.0051
+ cost = 167
+ tech = scienceAdvCapsules
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0infraredRad2
+ }
+ }
+ SETUP
+ {
+ name = Infrared Radiometer 3
+ mass = 0.0036
+ cost = 333
+ tech = deepSpaceScience
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0infraredRad3
+ }
+ }
+ SETUP
+ {
+ name = Orbital Perturbation
+ mass = 0.001
+ cost = 83
+ tech = scienceHuman
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0orbitalPurturbation1
+ }
+ }
+ SETUP
+ {
+ name = Infrared Spectrometer
+ mass = 0.018
+ cost = 83
+ tech = scienceAdvCapsules
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0imageSpec1
+ }
+ }
+ SETUP
+ {
+ name = Infrared Spectrometer 2
+ mass = 0.0055
+ cost = 167
+ tech = deepSpaceScience
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0imageSpec2
+ }
+ }
+ SETUP
+ {
+ name = Infrared Spectrometer 3
+ mass = 0.0195
+ cost = 333
+ tech = scienceExploration
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0imageSpec3
+ }
+ }
+ }
+}
+
+
+// ============================================================================
+// Crew experiment Selection
+// ============================================================================
+
+// Cockpits
+@PART[*]:HAS[#capsuleTier[Cockpit]]:AFTER[RP-0-Kerbalism]
+{
+ @MODULE[HardDrive]
+ {
+ @sampleCapacity += 1
+ }
+
+ MODULE
+ {
+ name = Configure
+ title = Crew Science
+ slots = 1
+
+ SETUP
+ {
+ name = None
+ desc = Empty slot for mass and cost savings, should you not require any experiments installed.
+ }
+
+ SETUP
+ {
+ name = Supersonic flight
+ desc = //fixme
+ mass = 0.004
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0SupersonicLow1
+ }
+ }
+ SETUP
+ {
+ name = Mach 2 flight
+ desc = //fixme
+ mass = 0.004
+ tech = supersonicDev
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0SupersonicLow2
+ }
+ }
+ SETUP
+ {
+ name = High altitude flight
+ desc = //fixme
+ mass = 0.004
+ tech = supersonicFlightRP0
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0SupersonicHigh1
+ }
+ }
+ SETUP
+ {
+ name = Hypersonic flight
+ desc = //fixme
+ mass = 0.004
+ tech = supersonicFlightRP0
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0SupersonicHigh2
+ }
+ }
+ }
+}
+
+// Basic Capsules
+@PART[*]:HAS[#capsuleTier[Basic]]:AFTER[RP-0-Kerbalism]
+{
+ @MODULE[HardDrive]
+ {
+ @sampleCapacity += 1
+ }
+
+ MODULE
+ {
+ name = Configure
+ title = Crew Science
+ slots = 2
+
+ SETUP
+ {
+ name = None
+ desc = Empty slot for mass and cost savings, should you not require any experiments installed.
+ }
+
+ SETUP
+ {
+ name = Liquids in Microgravity
+ desc = Very little is known about how liquids behave in a microgravity environment. Various tests are needed to analyze the liquids to properly design fluid storage tanks in the future.
+ mass = 0.004
+ tech = basicCapsules
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0LiquidsMicrogravity
+ }
+ }
+ SETUP
+ {
+ name = Visual Tracking
+ desc = This experiment is designed to test how well humans can track objects in space. A multicolor, mylar balloon, about the size of a beach ball, will be extended on a tether for the crew member to track.
+ mass = 0.003
+ tech = basicCapsules
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0VisualTracking
+ }
+ }
+ SETUP
+ {
+ name = Flight Control Experiments
+ desc = Maneuvering in space will be very important if we want to continue our exploration. We need the crew member to see how the spacecraft reacts and maneuvers with yaw, pitch and roll controls.
+ mass = 0.001
+ tech = earlyFlightControl
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0FlightControl
+ }
+ }
+ SETUP
+ {
+ name = Earth Photography
+ desc = By using a hand-held camera, our crew can take images of locations on Earth that our scientists are intersted in. These images can be of much higher quality than our current satellite technology can accomplish.
+ mass = 0.005
+ tech = start
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0EarthPhotography
+ }
+ }
+ }
+}
+
+// Second Gen Capsules
+@PART[*]:HAS[#capsuleTier[SecondGen]]:AFTER[RP-0-Kerbalism]
+{
+
+ @MODULE[HardDrive]
+ {
+ @sampleCapacity += 2
+ }
+
+ MODULE
+ {
+ name = Configure
+ title = Crew Science
+ slots = 3
+
+ SETUP
+ {
+ name = None
+ desc = Empty slot for mass and cost savings, should you not require any experiments installed.
+ }
+
+ SETUP
+ {
+ name = Orbital Maneuvering
+ desc = It will be necessary for our future spacecraft to be able to change their oribts in order to rendezvous and dock. This experiment will test the Orbital Maneuvering system to better understand what is required and possible.
+ mass = 0
+ tech = secondGenCapsules
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0OrbitalManeuvering
+ }
+ }
+ SETUP
+ {
+ name = Visual Acuity
+ desc = The visual ability of the astronauts in the detection and recognition of objects on the Earth's surface will be tested.
+ mass = 0.002
+ tech = start
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0VisualAcuity
+ }
+ }
+ SETUP
+ {
+ name = Star Occultation Navigation
+ desc = To study the feasibility and operational value of star occulting measurements in the development of a simple, accurate, and self-contained navigational capability by measuring the time stars dip behind an established horizon.
+ mass = 0.008
+ tech = earlyFlightControl
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0StarOccultationNav
+ }
+ }
+ SETUP
+ {
+ name = Power Tool Evaluation
+ desc = To determine man's ability to perform work tasks in pressurized suit under zero gravity.
+ mass = 0
+ tech = materialsScienceHuman
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0PowerToolEvaluation
+ }
+ }
+ SETUP
+ {
+ name = Simple Organism Egg Growth
+ desc = This experiment is designed to explore the possibility of the existence of a gravitational field effect on cells exposed to microgravity situations. These irregularities would be easier to explore in simple cell systems.
+ mass = 0.001
+ tech = materialsScienceHuman
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0EggGrowth
+ }
+ }
+ SETUP
+ {
+ name = Synergistic Effect of Zero Gravity and Radiation on White Blood Cells
+ desc = The objective is to examine the biological effects of radiation. The experiment will test the possibility that weightlessness interacts with radiation to produce unpredicted effects greater than the sum of their individual effects.
+ mass = 0.001
+ tech = start
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0BloodCells
+ }
+ }
+ SETUP
+ {
+ name = In-Flight Sleep Analysis
+ desc = The objectives of this experiment are to assess the crew's state of alertness, levels of consciousness, and depth of sleep during flight.
+ mass = 0
+ tech = start
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0SleepAnalysis
+ }
+ }
+ SETUP
+ {
+ name = Food Evaluation
+ desc = Our scientists have come up with a fancy way of packaging food for consumption in space. We need the crew to evaluate how the trip to space has affected this packaging and the quality of the food.
+ mass = 0.001
+ tech = start
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0FoodEvaluation
+ }
+ }
+ SETUP
+ {
+ name = In-flight Work Tolerance
+ desc = The astronauts will use a bungee cord to assess their capacity to do physical work under space flight conditions.
+ mass = 0.003
+ tech = start
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0WorkTolerance
+ }
+ }
+ SETUP
+ {
+ name = Simple Navigation
+ desc = Study the capability of crew to provide a reliable method of navigation without input from the ground utilizing a space stedimeter and a sextant.
+ mass = 0.005
+ tech = secondGenCapsules
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0SimpleNavigation
+ }
+ }
+ SETUP
+ {
+ name = Zodiacal Light Photography
+ desc = To obtain photographs of zodiacal light, airglow layer, and other dim light phenomena, including day sky brightness from orbital altitude.
+ mass = 0.008
+ tech = secondGenCapsules
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0ZodiacalLightPhoto
+ }
+ }
+ SETUP
+ {
+ name = UHF/VHF Polarization
+ desc = To obtain information on communication systems operating through the ionosphere.
+ mass = 0.005
+ tech = lunarRangeComms
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0VHFPolarization
+ }
+ }
+ }
+}
+
+// Mature Capsules
+@PART[*]:HAS[#capsuleTier[Mature]]:AFTER[RP-0-Kerbalism]
+{
+ @MODULE[HardDrive]
+ {
+ @sampleCapacity += 5
+ }
+
+ MODULE
+ {
+ name = Configure
+ title = Crew Science
+ slots = 3
+
+ SETUP
+ {
+ name = None
+ desc = Empty slot for mass and cost savings, should you not require any experiments installed.
+ }
+
+ SETUP
+ {
+ name = Space Television Broadcast
+ desc = To broadcast live television while in route to the Moon.
+ mass = 0.006
+ tech = lunarRangeComms
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0TelevisionBroadcast
+ }
+ }
+ SETUP
+ {
+ name = Ion Sensing Altitude Control
+ desc = To investigate determination of spacecraft attitude in yaw and pitch from measurement of ion flow variations. The recording of ion sensor outputs during pitch and yaw maneuvers will be compared with data obtained from the inertial guidance system and the horizon scanner. Results of the comparison and the astronaut evaluation will form the basis for further development of simple, lightweight orbital attitude determination systems.
+ mass = 0
+ tech = electronicsHuman
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0IonSensingAltitudeControl
+ }
+ }
+ SETUP
+ {
+ name = Night Image Intensification
+ desc = To test the usefulness and performance of a low-light-level television system as a supplement to unaided vision in observing surface features primarily when such features are in darkness and spacecraft pilots are not dark-adapted.
+ mass = 0.01
+ tech = electronicsHuman
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0NightImageIntensification
+ }
+ }
+ SETUP
+ {
+ name = Synoptic Terrain Photography
+ desc = Crew photographs of land and ocean areas for geologic, geographic, and oceanographic study for evaluation of various film types. This experiment can be completed 3 times.
+ mass = 0.008
+ tech = start
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0TerrainPhotography
+ }
+ }
+ SETUP
+ {
+ name = Synoptic Weather Photography
+ desc = Crew photographs of global and local weather systems for use by scientists in improving techniques of interpretation of orbital altitude weather photographs. This experiment can be completed 3 times.
+ mass = 0.008
+ tech = start
+
+ MODULE
+ {
+ type = Experiment
+ id_field = experiment_id
+ id_value = RP0WeatherPhotography
+ }
+ }
+ }
+}
From 92ad3a5037822aa13b15e87945077d1499b9a17f Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 20:36:23 -0700
Subject: [PATCH 057/109] Updated Cherenkov config
---
.../Parts/Science/CR01_5-CherenkovCounter.cfg | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg b/GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg
index 11d746d5dcd..ac89841b060 100644
--- a/GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg
+++ b/GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg
@@ -10,7 +10,7 @@
PART
{
- name = RO-CherenkovDetector
+ name = RP0Cherenkov
module = Part
author = SierraHotel
@@ -18,19 +18,19 @@ PART
MODEL
{
- model = RP-1/Parts/Science/Assets/Mariner/bluedog_Mariner_CosmicRayDetector
+ model = RP-1/Parts/Science/Assets/bluedog_geiger
}
scale = 1.0
- rescaleFactor = 1.6
- node_attach = 0.033605, -0.061877, 0.033639, 0, -1, 0
- TechRequired = earlyScience
+ rescaleFactor = 1.2
+ node_attach = 0.0, 0.0, 0.0, 0.0, -1.0 , 0.0
+ TechRequired = basicScience
entryCost = 0
cost = 250
category = Science
subcategory = 0
- title = CR01.5 - Cherenkov Counter Cosmic Ray Telescope
+ title = CR01.5 - Cherenkov Cosmic Ray Detector
manufacturer = Realism Overhaul
- description = The Cherenkov detector cosmic ray telescope is another type of high energy particle detector, using a Cherenkov detector in combination with a scintillation detector to further observe and characterize high-energy gamma rays. It measures the arrival directions and energies of gamma rays and highly-energetic charged particles from cosmic radiation. This detailed measurement can allow for more detailed analysis of the radiation environments in interplanetary space.
+ description = The Cherenkov detector is another type of high energy particle detector, using a Cherenkov detector in combination with a scintillation detector to further observe and characterize high-energy gamma rays. It measures the arrival directions and energies of gamma rays and highly-energetic charged particles from cosmic radiation. This detailed measurement can allow for more detailed analysis of the radiation environments in interplanetary space.
attachRules = 0,1,0,0,1
mass = 0.0065 // Source from NASA SP-3028 Space Measurements Survey Instruments and Spacecraft
dragModelType = default
@@ -46,7 +46,7 @@ PART
}
-@PART[RO-ScintillationCounter]:NEEDS[!Kerbalism]:AFTER[RP-0]
+@PART[RP0Cherenkov]:NEEDS[!Kerbalism]:AFTER[RP-0]
{
@description ^=:$: \n\nLevel 1.5 Cosmic Ray Experiment Device. Can gather 100% of Cosmic Ray Science.
}
From fda58a2dc1f620df290bb2b5703cc65666dea968 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 21:04:02 -0700
Subject: [PATCH 058/109] Added Molniya contract
---
.../FirstMolniyaSat-CA.cfg | 142 ++++++++++++++++++
1 file changed, 142 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
new file mode 100644
index 00000000000..ada08e93028
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
@@ -0,0 +1,142 @@
+CONTRACT_TYPE
+{
+ name = FirstMolniyaSat-CA
+ title = First Molniya Orbit Satellite
+ group = CommApp
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Commercial ApplicationsType: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+
+ synopsis = Launch a satellite into a Molniya Orbit
+
+ completedMessage = Success! The Molniya orbit is highly eccentric and allows the satellite to spend most of its time over the high latitudes.
+
+ sortKey = 501
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 60
+ failureReputation = 0 // was @rewardReputation
+
+
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat-CA
+ }
+
+ BEHAVIOUR
+ {
+ name = MolniyaOrbit
+ type = OrbitGenerator
+
+ FIXED_ORBIT
+ {
+ ORBIT
+ {
+ SMA = 26290000
+ ECC = 0.734842145
+ INC = 63.4
+ LPE = -90
+ LAN = 90
+ MNA = 0
+ EPH = 0
+ REF = 1
+ }
+ }
+ }
+
+ DATA
+ {
+ type = float
+ payload = 85
+ }
+
+ PARAMETER
+ {
+ name = VesselGroup
+ type = VesselParameterGroup
+ title = Molniya Satellite
+ define = MolniyaSatellite
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = ReachOrbit
+ type = Orbit
+ title = Reach the correct orbit within the parameters. Note, the argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
+ minInclination = 61.4
+ maxInclination = 65.4
+ minEccentricity = 0.7
+ minArgumentOfPeriapsis = 220
+ maxArgumentOfPeriapsis = 320
+ minPeA = 500000
+ minPeriod = 11h 56m 2s
+ maxPeriod = 12h 00m 2s
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+
+ }
+}
From 639f22ea36f2d5fa10f983eee69f2e10c30a70a1 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 21:05:30 -0700
Subject: [PATCH 059/109] Updated EOS contracts
Minor tweaks to Cherenkov, Corona, Corona Repeatable
---
.../Earth Observation 1/EOSCherenkov.cfg | 2 +-
.../Earth Observation 1/EOSCorona.cfg | 45 +++++++++++--------
.../Earth Observation 1/EOSCoronaRep.cfg | 43 +++++++++---------
3 files changed, 47 insertions(+), 43 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
index 49b73e34130..ce4801bac05 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
@@ -110,7 +110,7 @@ CONTRACT_TYPE
type = RP1CollectScience
targetBody = HomeWorld()
situation = InSpaceHigh
- experiment = RP0cosmicRay1
+ experiment = RP0Cherenkov
fractionComplete = 0.07
title = Transmit 7 day's worth (7%) of Cherenkov science from High Earth Orbit
}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
index 751b8c9ca8f..3773f1bc3c8 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
@@ -42,12 +42,12 @@ CONTRACT_TYPE
program = EarlyEOS
}
- //REQUIREMENT
- //{ name = CompleteContract
- // type = CompleteContract
- // contractType = first_OrbitRecover
- // title = Completed First Orbit Recovery
- //}
+ REQUIREMENT
+ { name = CompleteContract
+ type = CompleteContract
+ contractType = first_OrbitRecover
+ title = Completed First Orbit Recovery
+ }
PARAMETER
{
@@ -77,7 +77,7 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for two days and return science
+ title = Collect orbital imagery for 2 days and return it from orbit
PARAMETER
{
@@ -89,6 +89,23 @@ CONTRACT_TYPE
hideChildren = true
}
+ PARAMETER
+ {
+ name = PartValidation
+ type = PartValidation
+
+ VALIDATE
+ {
+ MODULE
+ {
+ name = Experiment
+ experimentID = RP0photos2
+ }
+ }
+
+ title = Has orbital cameras
+ }
+
PARAMETER
{
name = Orbit
@@ -108,27 +125,17 @@ CONTRACT_TYPE
duration = 2d
preWaitText = Remain in orbit
waitingText = Exposing film...
- completionText = Orbit period complete, return film
+ completionText = Orbit period complete
}
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- experiment = RP0photos2
- fractionComplete = 0.0083
- title = Return the film package from Low Earth Orbit to the surface
PARAMETER
{
name = ReturnHome
type = RP1ReturnHome
- title = Return home safely
+ title = Return the film to the surface
hideChildren = true
completeInSequence = true
}
}
-
}
}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
index 7bf256b1cfd..a53d7f1638f 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -5,13 +5,13 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface.Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: CORONA/Keyhole-1.
+ description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface.Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.
Number of Contracts Completed: @index / @maxCompletions
Historical example: CORONA/Keyhole-1.
- synopsis = Launch another dedicated imagery satellite.
+ synopsis = Launch dedicated imagery satellites for longer missions.
- completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
+ completedMessage = Longterm imagery satellites are now a proven technology.
- sortKey = 402
+ sortKey = 403
cancellable = true
declinable = false
@@ -98,14 +98,21 @@ CONTRACT_TYPE
PARAMETER
{
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have Electric Charge for two days
- hideChildren = true
+ name = PartValidation
+ type = PartValidation
+
+ VALIDATE
+ {
+ MODULE
+ {
+ name = Experiment
+ experimentID = RP0photos2
+ }
+ }
+
+ title = Has orbital cameras
}
-
+
PARAMETER
{
name = Orbit
@@ -125,24 +132,14 @@ CONTRACT_TYPE
duration = 183d
preWaitText = Remain in orbit
waitingText = Exposing film...
- completionText = Orbit period complete, return film
+ completionText = Orbit period complete
}
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0photos2
- fractionComplete = 0.25
- title = Return the film package from Low Earth Orbit to the surface
PARAMETER
{
name = ReturnHome
type = RP1ReturnHome
- title = Return home safely
+ title = Return the film for processing
hideChildren = true
completeInSequence = true
}
From 3a675634ce7ef3317320d4230633499bda5a1044 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 21:31:05 -0700
Subject: [PATCH 060/109] Nav Network contracts added
---
.../EarlyNavNetwork3.cfg | 230 ++++++++++++++
.../EarlyNavNetwork4.cfg | 300 ++++++++++++++++++
2 files changed, 530 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
new file mode 100644
index 00000000000..d431acd581d
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
@@ -0,0 +1,230 @@
+CONTRACT_TYPE
+{
+ name = EarlyNavNetwork3
+ title = Early Navigation Network (3 Satellites)
+ group = CommApp
+
+
+ description = Program: Early Commercial Applications
Type: Required
The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudemnatary satellite navigation network.&br;&br;Build a navigation network with three NavSats that provide more frequent revisit rates than the single previous satellite.&br;&br;NOTE: You may choose only the 3-satellite or 4-satellite contract.
+
+ synopsis = Launch a 3-satellite Navigation etwork
+
+ completedMessage = Congratulations! The network is up and transmitting, and our shakedown testing is complete!
+
+ sortKey = 901
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+ targetBody = HomeWorld()
+
+ // ************ 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 = EarlyCommApp
+ }
+
+ REQUIREMENT
+ {
+ name = Any
+ type = Any
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstNavSat-CA
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = EarlyNavNetwork3
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyNavNetwork3
+ invertRequirement = true
+ }
+
+ // NavSat I
+ PARAMETER
+ {
+ name = NavSat1
+ type = VesselParameterGroup
+
+ define = NavSat I
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat II
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat III
+ }
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = HasNavSatPayload
+ type = HasResource
+ resource = NavSatPayload
+ minQuantity = 49.9
+ title = Have a NavSatPayload of at least 50 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ minPeA = 900000
+ minInclination = 89
+ maxInclination = 91
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+ // NavSat II
+ PARAMETER
+ {
+ name = NavSat2
+ type = VesselParameterGroup
+
+ define = NavSat II
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat III
+ }
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = HasNavSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 49.9
+ title = Have a ComSatPayload of at least 50 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ minPeA = 900000
+ minInclination = 89
+ maxInclination = 91
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+ // NavSat III
+ PARAMETER
+ {
+ name = NavSat3
+ type = VesselParameterGroup
+
+ define = NavSat III
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat I
+ }
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = HasNavSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 49.9
+ title = Have a ComSatPayload of at least 50 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ minPeA = 900000
+ minInclination = 89
+ maxInclination = 91
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2d
+
+ preWaitText = Testing time after network up
+ waitingText = Performing shakedown testing
+ completionText = Shakedown testing completed
+ }
+}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
new file mode 100644
index 00000000000..89f8dc40202
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
@@ -0,0 +1,300 @@
+CONTRACT_TYPE
+{
+ name = EarlyNavNetwork4
+ title = Early Navigation Network (4 Satellites)
+ group = CommApp
+
+
+ description = Program: Early Commercial Applications
Type: Required
The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudemnatary satellite navigation network.&br;&br;Build a navigation network with three NavSats that provide more frequent revisit rates than the single previous satellite.&br;&br;NOTE: You may choose only the 3-satellite or 4-satellite contract.
+
+ synopsis = Launch a 4-satellite Navigation etwork
+
+ completedMessage = Congratulations! The network is up and transmitting, and our shakedown testing is complete!
+
+ sortKey = 901
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 200
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ REQUIREMENT
+ {
+ name = Any
+ type = Any
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstNavSat-CA
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = EarlyNavNetwork4
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyNavNetwork4
+ invertRequirement = true
+ }
+
+ // NavSat I
+ PARAMETER
+ {
+ name = NavSat1
+ type = VesselParameterGroup
+
+ define = NavSat I
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat II
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat III
+ }
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat IV
+ }
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = HasNavSatPayload
+ type = HasResource
+ resource = NavSatPayload
+ minQuantity = 49.9
+ title = Have a NavSatPayload of at least 50 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ minPeA = 900000
+ minInclination = 89
+ maxInclination = 91
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = NavSat2
+ type = VesselParameterGroup
+
+ define = NavSat II
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat III
+ }
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat IV
+ }
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = HasNavSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 49.9
+ title = Have a ComSatPayload of at least 50 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ minPeA = 900000
+ minInclination = 89
+ maxInclination = 91
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = NavSat3
+ type = VesselParameterGroup
+
+ define = NavSat III
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat I
+ }
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat IV
+ }
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = HasNavSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 49.9
+ title = Have a ComSatPayload of at least 50 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ minPeA = 900000
+ minInclination = 89
+ maxInclination = 91
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = NavSat4
+ type = VesselParameterGroup
+
+ define = NavSat IV
+ disableOnStateChange = false
+
+ PARAMETER
+ {
+ name = IsNotVessel
+ type = IsNotVessel
+
+ vessel = NavSat II
+ }
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after one day
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = HasNavSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = 49.9
+ title = Have a ComSatPayload of at least 50 units on the craft
+ disableOnStateChange = false
+ }
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ disableOnStateChange = false
+ minPeA = 900000
+ minInclination = 89
+ maxInclination = 91
+ // Pretty close to circular
+ maxEccentricity = 0.004
+ }
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2d
+
+ preWaitText = Testing time after network up
+ waitingText = Performing shakedown testing
+ completionText = Shakedown testing completed
+ }
+}
From 9f52d44808014dc8e84e5253b419293bb5e59e1d Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 23:37:09 -0500
Subject: [PATCH 061/109] Update Programs.cfg - removed Geo, Tundra, added Nav
Network
---
GameData/RP-1/Programs/Programs.cfg | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index 54ddee12d03..99459eaa044 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -308,6 +308,13 @@ RP0_PROGRAM
complete_program = EarlySatellites
complete_program = EarlySatellites-Heavy
}
+ ANY
+ {
+ active_program = CrewedOrbit
+ active_program = CrewedOrbitEarly
+ complete_program = CrewedOrbit
+ complete_program = CrewedOrbitEarly
+ }
}
OBJECTIVES
@@ -358,10 +365,12 @@ RP0_PROGRAM
{
complete_contract = FirstNavSat-CA
complete_contract = FirstComSat-CA
- complete_contract = FirstGEOSat-CA
- complete_contract = FirstMolniyaSat
- complete_contract = FirstTundraSat
-
+ complete_contract = FirstMolniyaSat-CA
+ ANY
+ {
+ complete_contract = EarlyNavNetwork3
+ complete_contract = EarlyNavNetwork4
+ }
ANY
{
complete_contract = EarlyComNetwork3
@@ -373,15 +382,9 @@ RP0_PROGRAM
{
EarlyComSat-CA = true
EarlyNavSat-CA = true
+ EarlyMolniyaSat = true
}
- CONFIDENCECOSTS
- {
- Normal = 200
- Fast = 400
- }
-}
-
RP0_PROGRAM
{
name = CommNetwork
From 06c3c9b63aa38932e55b3c07577a6963d2a0a1cf Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 21:43:02 -0700
Subject: [PATCH 062/109] Added Molniya repeatable
---
.../EarlyMolniyaSat.cfg | 184 ++++++++++++++++++
1 file changed, 184 insertions(+)
create mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
new file mode 100644
index 00000000000..dc5afd37b1a
--- /dev/null
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
@@ -0,0 +1,184 @@
+CONTRACT_TYPE
+{
+ name = EarlyMolniyaSat
+ title = Molniya Communications Satellite (Early)
+ group = CommApp
+
+ description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Some customers want satellites that dwell longer over the higher latitudes using Molniya orbits. Launch new communications satellites with the required specifications into the specified orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
+
+ synopsis = Launch a customer communication satellite into a Molniya orbit.
+
+ completedMessage = Success! The communications satellite was launched into the proper orbit. Your customer is very happy.
+
+ sortKey = 499
+
+ cancellable = true
+ declinable = true
+ autoAccept = false
+ minExpiry = 1
+ maxExpiry = 1
+ maxCompletions = 0
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardFunds = 0
+ rewardScience = 0
+ rewardReputation = Round(55 * Pow(@EarlyComSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
+ failureReputation = 0 // was @rewardReputation
+ failureFunds = 0
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
+ }
+
+ REQUIREMENT
+ {
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstMolniyaSat-CA
+ title = Complete First Molniya Satellite contract
+ }
+
+ DATA
+ {
+ type = int
+ index = $EarlyComSat_Count + 0
+ }
+
+ BEHAVIOUR
+ {
+ name = IncrementTheCount
+ type = Expression
+
+ CONTRACT_OFFERED
+ {
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
+ }
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ EarlyComSat_Count = $EarlyComSat_Count + 1
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ DATA
+ {
+ type = int
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
+ }
+
+ DATA
+ {
+ type = float
+ elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
+ rewardFactorPercent = Round(@rewardFactor * 100, 1)
+ }
+
+ DATA
+ {
+ type = float
+ payload = Round(Random(150,500),1)
+ }
+
+ // ************ PARAMETERS ************
+
+ PARAMETER
+ {
+ name = EarlyComSat
+ type = VesselParameterGroup
+ define = EarlyComSatellite
+ dissassociateVesselsOnContractCompletion = true
+ title = Molniya Satellite
+
+ 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 = HasComSatPayload
+ type = HasResource
+ resource = ComSatPayload
+ minQuantity = @/payload-0.1
+ title = Have a ComSatPayload of at least @/payload units on the craft
+ hideChildren = true
+ }
+ PARAMETER
+ {
+ name = ReachOrbit
+ type = Orbit
+ title = Reach the correct orbit within the parameters. Note, the argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
+ minInclination = 61.4
+ maxInclination = 65.4
+ minEccentricity = 0.7
+ minArgumentOfPeriapsis = 220
+ maxArgumentOfPeriapsis = 320
+ minPeA = 500000
+ minPeriod = 11h 56m 2s
+ maxPeriod = 12h 00m 2s
+ disableOnStateChange = true
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+
+ duration = 2m
+
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+ }
+ }
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = EarlyComSatellite
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ }
+ }
+ }
+}
From 16270a0c59b05982c987aa412d268cb86156eabd Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 23:46:00 -0500
Subject: [PATCH 063/109] Silly close braces...
---
GameData/RP-1/Programs/Programs.cfg | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index 99459eaa044..503a29fd9b3 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -367,7 +367,7 @@ RP0_PROGRAM
complete_contract = FirstComSat-CA
complete_contract = FirstMolniyaSat-CA
ANY
- {
+ {
complete_contract = EarlyNavNetwork3
complete_contract = EarlyNavNetwork4
}
@@ -384,6 +384,7 @@ RP0_PROGRAM
EarlyNavSat-CA = true
EarlyMolniyaSat = true
}
+}
RP0_PROGRAM
{
From 9e2757ae21148851df7252328122d4c2269d4a5e Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 23:48:59 -0500
Subject: [PATCH 064/109] Delete GameData/RP-1/Contracts/Commercial
Applications 1/FirstGEOSat-CA.cfg
---
.../FirstGEOSat-CA.cfg | 135 ------------------
1 file changed, 135 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
deleted file mode 100644
index bbb7cdcb991..00000000000
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstGEOSat-CA.cfg
+++ /dev/null
@@ -1,135 +0,0 @@
-CONTRACT_TYPE
-{
- name = FirstGEOSat-CA
- title = First Geostationary Satellite
- group = CommApp
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Commercial Applications
Type: Required
A geostationary orbit is a circular orbit approximately 35,790 km above the Earth's equator and following the direction of the Earth's rotation. An object in such an orbit has an orbital period equal to the Earth's rotational period (23 hours, 56 minutes, and 4.1 seconds) and thus will appear motionless at a fixed position in the sky to ground observers. Include solar panels to produce electrical power while in orbit.
Historical example: Syncom 3 (68kg, Delta).
-
- synopsis = Launch the first satellite into a geostationary orbit
-
- completedMessage = Success! The Geostationary orbit is the most commonly used orbit for communications satellites and other observation satellites.
-
- sortKey = 503
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 1
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 80
- failureReputation = 0 // was @rewardReputation
-
-
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
- }
-
- DATA
- {
- type = float
- payload = 25
- }
-
- PARAMETER
- {
- name = GeostationarySat
- type = VesselParameterGroup
- title = Geostationary Satellite
- define = Geostationary
-
- 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 = HasComSatPayload
- type = HasResource
- resource = ComSatPayload
- minQuantity = @/payload-0.1
- title = Have a ComSatPayload of at least @/payload units on the craft
- hideChildren = true
- }
- PARAMETER
- {
- name = HasSolarPower
- title = Can generate solar power
- type = PartValidation
- hideChildren = true
- partModule = ModuleDeployableSolarPanel
- minCount = 1
- }
- PARAMETER
- {
- name = ReachSpecificOrbit
- type = ReachSpecificOrbit
- displayNotes = true
- index = 0
- title = Achieve geostationary orbit
- deviationWindow = 5.0
-
- PARAMETER
- {
- name = Duration
- type = Duration
- duration = 1d
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- PARAMETER
- {
- name = GenerateEC
- title = Have positive energy balance
- type = ResourceConsumption
- resource = ElectricCharge
- minRate = -1000000
- maxRate = 0.00001
- }
- }
- }
-
- BEHAVIOUR
- {
- name = GeostationaryOrbit
- type = OrbitGenerator
- RANDOM_ORBIT
- {
- type = STATIONARY
- }
- }
-}
From 4a5287c85e6b0baf649fd3ba121c1c333c6a0ca7 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Thu, 21 Sep 2023 22:09:04 -0700
Subject: [PATCH 065/109] Changed all ComSat to Molniya
---
.../EarlyMolniyaSat.cfg | 20 +++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
index dc5afd37b1a..a95c4efb436 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
@@ -4,7 +4,7 @@ CONTRACT_TYPE
title = Molniya Communications Satellite (Early)
group = CommApp
- description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Some customers want satellites that dwell longer over the higher latitudes using Molniya orbits. Launch new communications satellites with the required specifications into the specified orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Some customers want satellites that dwell longer over the higher latitudes using Molniya orbits. Launch new communications satellites with the required specifications into the specified orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyMolniya
Number of Contracts Completed: @index / unlimited
genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
synopsis = Launch a customer communication satellite into a Molniya orbit.
@@ -30,7 +30,7 @@ CONTRACT_TYPE
advanceFunds = 0
rewardFunds = 0
rewardScience = 0
- rewardReputation = Round(55 * Pow(@EarlyComSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyComSat/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
+ rewardReputation = Round(55 * Pow(@EarlyMolniya/Orbit/minPeA / 6000000, 0.5) * Pow((@EarlyMolniya/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
failureReputation = 0 // was @rewardReputation
failureFunds = 0
@@ -54,7 +54,7 @@ CONTRACT_TYPE
DATA
{
type = int
- index = $EarlyComSat_Count + 0
+ index = $EarlyMolniya_Count + 0
}
BEHAVIOUR
@@ -64,11 +64,11 @@ CONTRACT_TYPE
CONTRACT_OFFERED
{
- RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyMolniya * 86400) : ($RepeatSat_Completion + 0)
}
CONTRACT_COMPLETED_SUCCESS
{
- EarlyComSat_Count = $EarlyComSat_Count + 1
+ EarlyMolniya_Count = $EarlyMolniya_Count + 1
RepeatSat_Completion = UniversalTime()
}
}
@@ -76,14 +76,14 @@ CONTRACT_TYPE
DATA
{
type = int
- antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyMolniya * 86400) : $RepeatSat_Completion
}
DATA
{
type = float
elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
- rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyMolniya * 20 - 9, 1), 2) / 3.46
rewardFactorPercent = Round(@rewardFactor * 100, 1)
}
@@ -97,9 +97,9 @@ CONTRACT_TYPE
PARAMETER
{
- name = EarlyComSat
+ name = EarlyMolniya
type = VesselParameterGroup
- define = EarlyComSatellite
+ define = EarlyMolniyaSatellite
dissassociateVesselsOnContractCompletion = true
title = Molniya Satellite
@@ -162,7 +162,7 @@ CONTRACT_TYPE
name = TransferVessel
type = DestroyVessel
onState = CONTRACT_SUCCESS
- vessel = EarlyComSatellite
+ vessel = EarlyMolniyaSatellite
}
BEHAVIOUR
From f1f0f75e265123c97bda860bfa46102d7df7fec0 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Fri, 22 Sep 2023 01:03:42 -0500
Subject: [PATCH 066/109] Update Cherenkov.cfg
---
GameData/RP-1/Science/Experiments/Cherenkov.cfg | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/GameData/RP-1/Science/Experiments/Cherenkov.cfg b/GameData/RP-1/Science/Experiments/Cherenkov.cfg
index 14aa14ef435..02fc42fa335 100644
--- a/GameData/RP-1/Science/Experiments/Cherenkov.cfg
+++ b/GameData/RP-1/Science/Experiments/Cherenkov.cfg
@@ -5,7 +5,7 @@
EXPERIMENT_DEFINITION
{
id = RP0Cherenkov
- title = Cherekov Detector
+ title = Cherenkov Detector
baseValue = 20
scienceCap = 20
dataScale = 5 //
@@ -63,7 +63,7 @@ EXPERIMENT_DEFINITION
// General Science Module //
//==========================================//
-@PART[RP0Cherenkov|RO-GeigerMuller|FASAProbeGeigerCounter]:FOR[RP-0]
+@PART[RP0Cherenkov]:FOR[RP-0]
{
MODULE
{
@@ -111,7 +111,7 @@ EXPERIMENT_DEFINITION
// Part: Bluedog Geiger Counter, FASA Geiger Counter
//====================================================================================
-@PART[RP0Cherenkov|RO-GeigerMuller|FASAProbeGeigerCounter]:AFTER[RP-0]
+@PART[RP0Cherenkov]:AFTER[RP-0]
{
@MODULE[DMModuleScienceAnimateGeneric]
{
@@ -122,7 +122,7 @@ EXPERIMENT_DEFINITION
// ============================================================================
// Add experiment to parts
// ============================================================================
-@PART[RP0Cherenkov|RO-GeigerMuller|FASAProbeGeigerCounter]:BEFORE[RP-0-Kerbalism]
+@PART[RP0Cherenkov]:BEFORE[RP-0-Kerbalism]
{
!MODULE[DMModuleScienceAnimateGeneric]:HAS[#experimentID[RP0Cherenkov]] {}
MODULE
From 3e93a6f6ca2f308b3570b75b056a5a5819e23d44 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Fri, 22 Sep 2023 01:06:22 -0500
Subject: [PATCH 067/109] Update TREE-Parts.cfg - wrong required tech picked
---
GameData/RP-1/Tree/TREE-Parts.cfg | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/GameData/RP-1/Tree/TREE-Parts.cfg b/GameData/RP-1/Tree/TREE-Parts.cfg
index 53d64863367..ed94ffea294 100644
--- a/GameData/RP-1/Tree/TREE-Parts.cfg
+++ b/GameData/RP-1/Tree/TREE-Parts.cfg
@@ -39696,7 +39696,7 @@
}
@PART[RP0Cherenkov]:FOR[xxxRP0]
{
- %TechRequired = scienceHuman
+ %TechRequired = basicScience
%cost = 200
%entryCost =
RP0conf = true
@@ -39704,4 +39704,4 @@
%MODULE[ModuleTagList] { tag = Instruments }
-}
\ No newline at end of file
+}
From 80a9e5560b59a3f29e19368d0ad2456ac66e413f Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Fri, 22 Sep 2023 00:09:29 -0700
Subject: [PATCH 068/109] Added cherenkov part
---
.../data/RP_1__Bluedog_Model.json | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
index 419f0ccd16b..a00fc980495 100644
--- a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
+++ b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
@@ -512,5 +512,28 @@
"entry_cost_mods": "7500,RO-IRIS",
"identical_part_name": "",
"module_tags": []
+ },
+ {
+ "name": "RP0Cherenkov",
+ "title": "CR01_5 - Cherenkov Detector",
+ "description": "",
+ "mod": "RP-1 (Bluedog Model)",
+ "cost": "200",
+ "entry_cost": "",
+ "category": "SCIENCE",
+ "info": "Cosmic Ray",
+ "year": "1963",
+ "technology": "scienceHuman",
+ "ro": true,
+ "orphan": false,
+ "rp0_conf": true,
+ "spacecraft": "",
+ "engine_config": "",
+ "upgrade": false,
+ "entry_cost_mods": "Cherenkov",
+ "identical_part_name": "Cherenkov",
+ "module_tags": [
+ "Instruments"
+ ]
}
]
\ No newline at end of file
From 8cef49c61feb0ab6938450e9e65794893bbf9014 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Fri, 22 Sep 2023 11:07:03 -0700
Subject: [PATCH 069/109] Update Cherenkov.cfg - removed extra @PART leftover
from CR1
---
GameData/RP-1/Science/Experiments/Cherenkov.cfg | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/GameData/RP-1/Science/Experiments/Cherenkov.cfg b/GameData/RP-1/Science/Experiments/Cherenkov.cfg
index 02fc42fa335..f6ac275226d 100644
--- a/GameData/RP-1/Science/Experiments/Cherenkov.cfg
+++ b/GameData/RP-1/Science/Experiments/Cherenkov.cfg
@@ -109,16 +109,6 @@ EXPERIMENT_DEFINITION
// Cherenkov Detector
// Based on the Geiger-Muller Counters used on many spacecraft.
// Part: Bluedog Geiger Counter, FASA Geiger Counter
-//====================================================================================
-
-@PART[RP0Cherenkov]:AFTER[RP-0]
-{
- @MODULE[DMModuleScienceAnimateGeneric]
- {
- @totalScienceLevel = 0.375
- }
-}
-
// ============================================================================
// Add experiment to parts
// ============================================================================
From 9f4c32983f70efc1b469c2e0d4406194bd24abdb Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Sun, 24 Sep 2023 01:34:21 -0700
Subject: [PATCH 070/109] Updated all CA1 contracts per comments
---
.../EarlyComSat-CA.cfg | 14 ++--
.../EarlyMolniyaSat.cfg | 8 +-
.../EarlyNavNetwork3.cfg | 59 ++++++++-----
.../EarlyNavNetwork4.cfg | 83 +++++++++++--------
.../EarlyNavSat-CA.cfg | 58 +++++++++----
.../FirstComSat-CA.cfg | 26 +++++-
.../FirstMolniyaSat-CA.cfg | 31 ++++++-
.../FirstNavSat-CA.cfg | 27 +++++-
8 files changed, 222 insertions(+), 84 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
index 6f5ff9fc4c4..3a4e499dac0 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
@@ -90,7 +90,7 @@ CONTRACT_TYPE
DATA
{
type = float
- payload = Round(Random(150,500),1)
+ payload = 200
}
// ************ PARAMETERS ************
@@ -99,7 +99,7 @@ CONTRACT_TYPE
{
name = EarlyComSat
type = VesselParameterGroup
- define = EarlyComSatellite
+ define = EarlyComSat
dissassociateVesselsOnContractCompletion = true
title = Communications Satellite (Early)
@@ -133,9 +133,9 @@ CONTRACT_TYPE
name = Orbit
type = Orbit
minInclination = Round(Random(30, 31))
- minPeA = Round(Random(700000, 1000000), 1000)
- minApA = Round(Random(3000000, 10000000), 1000)
- maxApA = Round(Random(10000000, 30000000), 1000)
+ minPeA = Round(Random(700000, 1000000), 10000)
+ minApA = Round(Random(3000000, 10000000), 10000)
+ maxApA = Round(Random(10000000, 30000000), 10000)
disableOnStateChange = true
title = Achieve orbit within the parameters
@@ -144,7 +144,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 2m
+ duration = 30d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
@@ -158,7 +158,7 @@ CONTRACT_TYPE
name = TransferVessel
type = DestroyVessel
onState = CONTRACT_SUCCESS
- vessel = EarlyComSatellite
+ vessel = EarlyComSat
}
BEHAVIOUR
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
index a95c4efb436..f4518a0ed92 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
@@ -90,7 +90,7 @@ CONTRACT_TYPE
DATA
{
type = float
- payload = Round(Random(150,500),1)
+ payload = 40
}
// ************ PARAMETERS ************
@@ -99,7 +99,7 @@ CONTRACT_TYPE
{
name = EarlyMolniya
type = VesselParameterGroup
- define = EarlyMolniyaSatellite
+ define = EarlyMolniyaSat
dissassociateVesselsOnContractCompletion = true
title = Molniya Satellite
@@ -148,7 +148,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 2m
+ duration = 30d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
@@ -162,7 +162,7 @@ CONTRACT_TYPE
name = TransferVessel
type = DestroyVessel
onState = CONTRACT_SUCCESS
- vessel = EarlyMolniyaSatellite
+ vessel = EarlyMolniyaSat
}
BEHAVIOUR
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
index d431acd581d..719e362cd80 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
@@ -43,8 +43,6 @@ CONTRACT_TYPE
REQUIREMENT
{
- name = Any
- type = Any
name = CompleteContract
type = CompleteContract
contractType = FirstNavSat-CA
@@ -54,7 +52,7 @@ CONTRACT_TYPE
{
name = CompleteContract
type = CompleteContract
- contractType = EarlyNavNetwork3
+ contractType = EarlyNavNetwork4
invertRequirement = true
}
@@ -62,7 +60,7 @@ CONTRACT_TYPE
{
name = AcceptContract
type = AcceptContract
- contractType = EarlyNavNetwork3
+ contractType = EarlyNavNetwork4
invertRequirement = true
}
@@ -71,7 +69,6 @@ CONTRACT_TYPE
{
name = NavSat1
type = VesselParameterGroup
-
define = NavSat I
disableOnStateChange = false
@@ -79,7 +76,6 @@ CONTRACT_TYPE
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat II
}
@@ -95,7 +91,7 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 1.0
+ minQuantity = 2d
title = Craft must have ElectricCharge after one day
hideChildren = true
}
@@ -114,10 +110,10 @@ CONTRACT_TYPE
name = Orbit
type = Orbit
disableOnStateChange = false
- minPeA = 900000
+ minPeA = 700000
+ maxApA = 1200000
minInclination = 89
maxInclination = 91
- // Pretty close to circular
maxEccentricity = 0.004
}
}
@@ -126,7 +122,6 @@ CONTRACT_TYPE
{
name = NavSat2
type = VesselParameterGroup
-
define = NavSat II
disableOnStateChange = false
@@ -134,7 +129,6 @@ CONTRACT_TYPE
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat III
}
PARAMETER
@@ -142,7 +136,7 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 1.0
+ minQuantity = 2d
title = Craft must have ElectricCharge after one day
hideChildren = true
}
@@ -161,10 +155,10 @@ CONTRACT_TYPE
name = Orbit
type = Orbit
disableOnStateChange = false
- minPeA = 900000
+ minPeA = 700000
+ maxApA = 1200000
minInclination = 89
maxInclination = 91
- // Pretty close to circular
maxEccentricity = 0.004
}
}
@@ -173,7 +167,6 @@ CONTRACT_TYPE
{
name = NavSat3
type = VesselParameterGroup
-
define = NavSat III
disableOnStateChange = false
@@ -181,7 +174,6 @@ CONTRACT_TYPE
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat I
}
PARAMETER
@@ -189,7 +181,7 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 1.0
+ minQuantity = 2d
title = Craft must have ElectricCharge after one day
hideChildren = true
}
@@ -208,10 +200,10 @@ CONTRACT_TYPE
name = Orbit
type = Orbit
disableOnStateChange = false
- minPeA = 900000
+ minPeA = 700000
+ maxApA = 1200000
minInclination = 89
maxInclination = 91
- // Pretty close to circular
maxEccentricity = 0.004
}
}
@@ -223,8 +215,35 @@ CONTRACT_TYPE
duration = 2d
- preWaitText = Testing time after network up
+ preWaitText = Testing time after network launch
waitingText = Performing shakedown testing
completionText = Shakedown testing completed
}
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = NavSat I
+ vessel = NavSat II
+ vessel = NavSat III
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ }
+ }
+ }
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
index 89f8dc40202..b7620693536 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
@@ -36,25 +36,24 @@ CONTRACT_TYPE
REQUIREMENT
{
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
}
REQUIREMENT
{
- name = Any
- type = Any
- name = CompleteContract
- type = CompleteContract
- contractType = FirstNavSat-CA
+
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstNavSat-CA
}
REQUIREMENT
{
name = CompleteContract
type = CompleteContract
- contractType = EarlyNavNetwork4
+ contractType = EarlyNavNetwork3
invertRequirement = true
}
@@ -62,7 +61,7 @@ CONTRACT_TYPE
{
name = AcceptContract
type = AcceptContract
- contractType = EarlyNavNetwork4
+ contractType = EarlyNavNetwork3
invertRequirement = true
}
@@ -71,7 +70,6 @@ CONTRACT_TYPE
{
name = NavSat1
type = VesselParameterGroup
-
define = NavSat I
disableOnStateChange = false
@@ -79,7 +77,6 @@ CONTRACT_TYPE
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat II
}
@@ -87,7 +84,6 @@ CONTRACT_TYPE
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat III
}
@@ -95,7 +91,6 @@ CONTRACT_TYPE
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat IV
}
PARAMETER
@@ -103,7 +98,7 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 1.0
+ minQuantity = 2d
title = Craft must have ElectricCharge after one day
hideChildren = true
}
@@ -122,10 +117,10 @@ CONTRACT_TYPE
name = Orbit
type = Orbit
disableOnStateChange = false
- minPeA = 900000
+ minPeA = 700000
+ maxApA = 1200000
minInclination = 89
maxInclination = 91
- // Pretty close to circular
maxEccentricity = 0.004
}
}
@@ -134,7 +129,6 @@ CONTRACT_TYPE
{
name = NavSat2
type = VesselParameterGroup
-
define = NavSat II
disableOnStateChange = false
@@ -142,14 +136,12 @@ CONTRACT_TYPE
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat III
}
PARAMETER
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat IV
}
PARAMETER
@@ -157,7 +149,7 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 1.0
+ minQuantity = 2d
title = Craft must have ElectricCharge after one day
hideChildren = true
}
@@ -176,10 +168,10 @@ CONTRACT_TYPE
name = Orbit
type = Orbit
disableOnStateChange = false
- minPeA = 900000
+ minPeA = 700000
+ maxApA = 1200000
minInclination = 89
maxInclination = 91
- // Pretty close to circular
maxEccentricity = 0.004
}
}
@@ -188,7 +180,6 @@ CONTRACT_TYPE
{
name = NavSat3
type = VesselParameterGroup
-
define = NavSat III
disableOnStateChange = false
@@ -196,14 +187,12 @@ CONTRACT_TYPE
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat I
}
PARAMETER
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat IV
}
PARAMETER
@@ -211,7 +200,7 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 1.0
+ minQuantity = 2d
title = Craft must have ElectricCharge after one day
hideChildren = true
}
@@ -230,10 +219,10 @@ CONTRACT_TYPE
name = Orbit
type = Orbit
disableOnStateChange = false
- minPeA = 900000
+ minPeA = 700000
+ maxApA = 1200000
minInclination = 89
maxInclination = 91
- // Pretty close to circular
maxEccentricity = 0.004
}
}
@@ -242,7 +231,6 @@ CONTRACT_TYPE
{
name = NavSat4
type = VesselParameterGroup
-
define = NavSat IV
disableOnStateChange = false
@@ -250,7 +238,6 @@ CONTRACT_TYPE
{
name = IsNotVessel
type = IsNotVessel
-
vessel = NavSat II
}
@@ -278,10 +265,10 @@ CONTRACT_TYPE
name = Orbit
type = Orbit
disableOnStateChange = false
- minPeA = 900000
+ minPeA = 700000
+ maxApA = 1200000
minInclination = 89
maxInclination = 91
- // Pretty close to circular
maxEccentricity = 0.004
}
}
@@ -293,8 +280,36 @@ CONTRACT_TYPE
duration = 2d
- preWaitText = Testing time after network up
+ preWaitText = Testing time after network launch
waitingText = Performing shakedown testing
completionText = Shakedown testing completed
}
+
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = NavSat I
+ vessel = NavSat II
+ vessel = NavSat III
+ vessel = NavSat IV
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ }
+ }
+ }
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
index cb37bf39ac5..0f1c9fc6a50 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
@@ -4,7 +4,7 @@ CONTRACT_TYPE
title = Commercial Navigation Satellite (Early)
group = CommApp
- description = Program: Early Commercial Applications
Type: Optional
The first Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
Number of Contracts Completed: @index / @maxCompletions
+ description = Program: Early Commercial Applications
Type: Optional
The first Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyNavSat
Number of Contracts Completed: @index / unlimited
genericDescription = Put a satellite with the required amount of navigation satellite payload into the desired orbit.
synopsis = Launch a Navigation Satellite for a customer.
@@ -30,7 +30,7 @@ CONTRACT_TYPE
advanceFunds = 0
rewardFunds = 0
rewardScience = 0
- rewardReputation = 20
+ rewardReputation = Round(55 * Pow(@EarlyNavSat/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyNavSat/HasNavSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
failureReputation = 0 // was @rewardReputation
failureFunds = 0
@@ -38,9 +38,9 @@ CONTRACT_TYPE
REQUIREMENT
{
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
}
REQUIREMENT
@@ -62,13 +62,42 @@ CONTRACT_TYPE
name = IncrementTheCount
type = Expression
- EarlyNavSat_Count = $EarlyNavSat_Count + 1
+ CONTRACT_OFFERED
+ {
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyNavSat * 86400) : ($RepeatSat_Completion + 0)
+ }
+ CONTRACT_COMPLETED_SUCCESS
+ {
+ EarlyNavSat_Count = $EarlyNavSat_Count + 1
+ RepeatSat_Completion = UniversalTime()
+ }
+ }
+
+ DATA
+ {
+ type = int
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyNavSat * 86400) : $RepeatSat_Completion
+ }
+
+ DATA
+ {
+ type = float
+ elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyNavSat * 20 - 9, 1), 2) / 3.46
+ rewardFactorPercent = Round(@rewardFactor * 100, 1)
}
DATA
{
type = float
- payload = 200
+ payload = Round(Random(150,350),1)
+ }
+
+
+ DATA
+ {
+ type = int
+ minimumApA = Round(Random(500000, 1000000), 10000)
}
// ************ PARAMETERS ************
@@ -77,7 +106,7 @@ CONTRACT_TYPE
{
name = EarlyNavSat
type = VesselParameterGroup
- define = EarlyNavSatellite
+ define = EarlyNavSat
dissassociateVesselsOnContractCompletion = true
title = Navigation Satellite (Early)
@@ -110,10 +139,11 @@ CONTRACT_TYPE
{
name = Orbit
type = Orbit
- minInclination = Round(Random(30, 90))
- minPeA = Round(Random(300000, 400000), 1000)
- minApA = Round(Random(500000, 1000000), 1000)
- maxApA = Round(Random(1000000, 3000000), 1000)
+ minInclination = 89
+ maxInclination = 91
+ minPeA = Round(Random(300000, 400000), 10000)
+ minApA = @/minimumAPA
+ maxApA = @minApA + 50000
disableOnStateChange = true
title = Achieve orbit within the parameters
@@ -122,7 +152,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 2m
+ duration = 30d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
@@ -136,7 +166,7 @@ CONTRACT_TYPE
name = TransferVessel
type = DestroyVessel
onState = CONTRACT_SUCCESS
- vessel = EarlyNavSatellite
+ vessel = EarlyNavSat
}
BEHAVIOUR
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
index e7dffc2a163..5e1649d77a1 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
@@ -96,7 +96,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 2m
+ duration = 30d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
@@ -104,4 +104,28 @@ CONTRACT_TYPE
}
}
}
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = FirstComSat
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ }
+ }
+ }
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
index ada08e93028..8ccc30217b1 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
@@ -76,15 +76,16 @@ CONTRACT_TYPE
DATA
{
type = float
- payload = 85
+ payload = 20
}
PARAMETER
{
name = VesselGroup
type = VesselParameterGroup
+ define = FirstMolniyaSat
title = Molniya Satellite
- define = MolniyaSatellite
+
PARAMETER
{
@@ -130,7 +131,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 2m
+ duration = 30d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
@@ -138,5 +139,29 @@ CONTRACT_TYPE
}
}
+ }
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = FirstMolniyaSat
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ }
+ }
}
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
index 48e0b5d28db..d030a19a882 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
@@ -81,6 +81,7 @@ CONTRACT_TYPE
type = Orbit
minInclination = 50
minPeA = 350000
+ maxEccentricity = 0.26
disableOnStateChange = true
title = Achieve orbit with a minimum inclination of 50 degrees and a minimum perigee of 350 km
@@ -89,7 +90,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 2m
+ duration = 30d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
@@ -97,4 +98,28 @@ CONTRACT_TYPE
}
}
}
+ BEHAVIOUR
+ {
+ name = TransferVessel
+ type = DestroyVessel
+ onState = CONTRACT_SUCCESS
+ vessel = FirstNavSat
+ }
+
+ BEHAVIOUR
+ {
+ name = VesselDestroyed
+ type = DialogBox
+ DIALOG_BOX
+ {
+ title = Vessel Ownership Transferred
+ condition = CONTRACT_SUCCESS
+ position = CENTER
+ width = 0.5
+ TEXT
+ {
+ text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ }
+ }
+ }
}
From 652536e9013a171dfcbb2588adf7ffeb774a8b42 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Mon, 25 Sep 2023 00:10:05 -0700
Subject: [PATCH 071/109] Updated per comments
---
.../Earth Crewed/FirstOrbitRecovery.cfg | 7 ++++
.../Earth Observation 1/EOSCherenkov.cfg | 19 +++------
.../Earth Observation 1/EOSCosmicRay1.cfg | 22 +++-------
.../Earth Observation 1/EOSGrav1.cfg | 16 ++------
.../Earth Observation 1/EOSIRRad1.cfg | 17 ++------
.../Earth Observation 1/EOSMagScan1.cfg | 26 +++++-------
.../Earth Satellites/FirstMolniyaSat.cfg | 40 +++++--------------
.../Earth Satellites/FirstTundraSat.cfg | 40 +++++--------------
...vCounter.cfg => CD01-CherenkovCounter.cfg} | 4 +-
GameData/RP-1/Programs/Programs.cfg | 10 +----
.../RP-1/Science/Experiments/Cherenkov.cfg | 3 +-
11 files changed, 58 insertions(+), 146 deletions(-)
rename GameData/RP-1/Parts/Science/{CR01_5-CherenkovCounter.cfg => CD01-CherenkovCounter.cfg} (91%)
diff --git a/GameData/RP-1/Contracts/Earth Crewed/FirstOrbitRecovery.cfg b/GameData/RP-1/Contracts/Earth Crewed/FirstOrbitRecovery.cfg
index d1e5098f4e4..fcdc2fa08bb 100644
--- a/GameData/RP-1/Contracts/Earth Crewed/FirstOrbitRecovery.cfg
+++ b/GameData/RP-1/Contracts/Earth Crewed/FirstOrbitRecovery.cfg
@@ -56,6 +56,13 @@ CONTRACT_TYPE
type = ProgramActive
program = CrewedOrbit
}
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
}
REQUIREMENT
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
index ce4801bac05..a0b5bd525ad 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos.&br;&br;Make sure your craft contains a Cherenkov Counter and returns 1-week's worth of science from High Earth Orbit.&br;&br;Real life examples: Explorer 11.
+ description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos. &br;&br;Make sure your craft contains a Cherenkov Counter and returns 50% of the available science from High Earth Orbit. Science does not have to be collected in only 1 flight.&br;&br;Real life examples: Explorer 11.
synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
@@ -73,16 +73,6 @@ CONTRACT_TYPE
type = Sequence
title = Survive in orbit for a day and transmit science
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
PARAMETER
{
name = Orbit
@@ -90,6 +80,7 @@ CONTRACT_TYPE
minEccentricity = 0.085
maxEccentricity = 0.200
minPeA = 200000
+ maxPeA = 500000
disableOnStateChange = true
title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
}
@@ -98,7 +89,7 @@ CONTRACT_TYPE
{
name = Duration
type = Duration
- duration = 1w
+ duration = 45d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
@@ -111,8 +102,8 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceHigh
experiment = RP0Cherenkov
- fractionComplete = 0.07
- title = Transmit 7 day's worth (7%) of Cherenkov science from High Earth Orbit
+ fractionComplete = 0.5
+ title = Transmit 50% of Cherenkov science from High Earth Orbit
}
}
}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
index 48388f4669f..40176359377 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-week's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Real life examples: Explorer 6.
+ description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth. Early scientific satellites also contained still-frame and video cameras to take photos of Earth from entirely new perspectives.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-week's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Historical example: Explorer 6.
synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
@@ -73,16 +73,6 @@ CONTRACT_TYPE
type = Sequence
title = Survive in orbit for a day and transmit science
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
PARAMETER
{
name = Orbit
@@ -97,7 +87,7 @@ CONTRACT_TYPE
{
name = Duration
type = Duration
- duration = 1w
+ duration = 45d
preWaitText = Check for stable orbit
waitingText = Collecting science...
completionText = Science collected.
@@ -110,8 +100,8 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceHigh
experiment = RP0cosmicRay1
- fractionComplete = 0.07
- title = Transmit 1 week's worth (7%) of Cosmic Ray Science from High Earth Orbit.
+ fractionComplete = 0.5
+ title = Transmit 50% of Cosmic Ray Science from High Earth Orbit.
}
PARAMETER
{
@@ -120,8 +110,8 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceHigh
experiment = RP0visibleImaging1
- fractionComplete = 1
- title = Transmit video images from High Orbit.
+ fractionComplete = .5
+ title = Transmit video images from High Earth Orbit.
}
}
}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
index 25ee06afcad..baa1f979600 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 1-months worth of science.&br;&br;Real life examples: ANNA 1B
+ description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 1-months worth of science.&br;&br;Historical example: ANNA 1B
synopsis = Launch the first dedicated geodetic satellite.
@@ -73,16 +73,6 @@ CONTRACT_TYPE
type = Sequence
title = Survive in orbit for one month and transmit science
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
PARAMETER
{
name = Orbit
@@ -112,9 +102,9 @@ CONTRACT_TYPE
type = RP1CollectScience
targetBody = HomeWorld()
situation = InSpaceLow
- fractionComplete = 0.0083
+ fractionComplete = 0.016
experiment = RP0orbitalPurturbation1
- title = Transmit 1 month's worth (0.8%) of Orbital Perturbation science from Low Earth Orbit
+ title = Transmit 2 month's worth (1.6%) of Orbital Perturbation science from Low Earth Orbit
}
}
}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
index a96cdf2a3db..9f6649ea519 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Real life examples: TIROS-1.
+ description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Historical example: TIROS-1.
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
@@ -73,16 +73,6 @@ CONTRACT_TYPE
type = Sequence
title = Survive in orbit for a day and transmit science
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
PARAMETER
{
name = Orbit
@@ -111,7 +101,8 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0infraredRad1
- title = Transmit infrared weather data from low orbit
+ fractionComplete = .5
+ title = Transmit 50% of infrared weather data from low orbit
}
PARAMETER
{
@@ -120,7 +111,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0visibleImaging1
- fractionComplete = 1
+ fractionComplete = .1
title = Transmit corresponding video images from low orbit
}
}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
index 9aefaea4b8b..4dddca5dc6a 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Real life examples: IMP-A.
+ description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Historical example: IMP-A.
synopsis = Launch the first dedicated magnetometry satellite.
@@ -73,30 +73,22 @@ CONTRACT_TYPE
type = Sequence
title = Survive in orbit for a day and transmit science
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
-
PARAMETER
{
name = Orbit
type = Orbit
+ maxPeA = 500000
minApA = 36000000
+ maxApA = 250000000
disableOnStateChange = true
- title = Achieve an elliptical orbit with min apoapsis of 36,000km.
+ title = Achieve an elliptical orbit with min periapsis of 500km and min apoapsis of 36,000km.
}
PARAMETER
{
name = Duration
type = Duration
- duration = 1d
+ duration = 14d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
@@ -108,9 +100,9 @@ CONTRACT_TYPE
type = RP1CollectScience
targetBody = HomeWorld()
situation = InSpaceLow
- fractionComplete = 0.03
+ fractionComplete = 0.5
experiment = RP0magScan1
- title = Transmit 1 day's worth (3%) of Magnetic Scan science from Low Earth Orbit
+ title = Transmit 50% of Magnetic Scan science from Low Earth Orbit
}
PARAMETER
{
@@ -118,9 +110,9 @@ CONTRACT_TYPE
type = RP1CollectScience
targetBody = HomeWorld()
situation = InSpaceHigh
- fractionComplete = 0.03
+ fractionComplete = 0.5
experiment = RP0magScan1
- title = Transmit 1 day's worth (3%) of Magnetic Scan science from High Earth Orbit
+ title = Transmit 50% of Magnetic Scan science from High Earth Orbit
}
}
}
diff --git a/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg b/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg
index 6d72fe0fa47..f596ccdfbec 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg
@@ -7,7 +7,7 @@ CONTRACT_TYPE
tag = exclude_EarlySatellite
- description = Program: Early Commercial Applications or Targeted Satellites
Type: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+ description = Program: Targeted Satellites
Type: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
synopsis = Launch a satellite into a Molniya Orbit
@@ -42,40 +42,20 @@ CONTRACT_TYPE
REQUIREMENT
{
- name = Any
- type = Any
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
- }
}
REQUIREMENT
{
- name = Any
- type = Any
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
- }
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat-CA
- }
+
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+
+
}
BEHAVIOUR
diff --git a/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg b/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
index 3a3769004a6..8fb77cb0d5d 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
@@ -7,7 +7,7 @@ CONTRACT_TYPE
tag = exclude_EarlySatellite
- description = Program: Early Commercial Applications or Targeted Satellites
Type: Required
A Tundra orbit is a highly elliptical geosynchronous orbit (note: not geostationary orbit) with a high inclination (usually near 63.4) and an orbital period of one sidereal day. A satellite placed in this orbit spends most of its time over a chosen area of the Earth, a phenomenon known as apogee dwell. The ground track of a satellite in a tundra orbit is a closed figure eight. An extreme version of this orbit puts the perigee around 1000 km and the apogee around 70,000 km. The orbit in this contract is actually using data from the Sirius satellites, the only known satellites that used a Tundra orbit.&br;&br;Place a satellite into a Tundra orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+ description = Program: Targeted Satellites
Type: Required
A Tundra orbit is a highly elliptical geosynchronous orbit (note: not geostationary orbit) with a high inclination (usually near 63.4) and an orbital period of one sidereal day. A satellite placed in this orbit spends most of its time over a chosen area of the Earth, a phenomenon known as apogee dwell. The ground track of a satellite in a tundra orbit is a closed figure eight. An extreme version of this orbit puts the perigee around 1000 km and the apogee around 70,000 km. The orbit in this contract is actually using data from the Sirius satellites, the only known satellites that used a Tundra orbit.&br;&br;Place a satellite into a Tundra orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
synopsis = Launch a satellite into a Tundra Orbit
@@ -42,40 +42,18 @@ CONTRACT_TYPE
REQUIREMENT
{
- name = Any
- type = Any
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = TargetedSats
- }
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
- }
+ name = ProgramActive
+ type = ProgramActive
+ program = TargetedSats
+
}
REQUIREMENT
{
- name = Any
- type = Any
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat
- }
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = FirstComSat-CA
- }
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstComSat
+
}
BEHAVIOUR
diff --git a/GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg b/GameData/RP-1/Parts/Science/CD01-CherenkovCounter.cfg
similarity index 91%
rename from GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg
rename to GameData/RP-1/Parts/Science/CD01-CherenkovCounter.cfg
index ac89841b060..2924ac737cd 100644
--- a/GameData/RP-1/Parts/Science/CR01_5-CherenkovCounter.cfg
+++ b/GameData/RP-1/Parts/Science/CD01-CherenkovCounter.cfg
@@ -28,7 +28,7 @@ PART
cost = 250
category = Science
subcategory = 0
- title = CR01.5 - Cherenkov Cosmic Ray Detector
+ title = CD01 - Cherenkov Cosmic Ray Detector
manufacturer = Realism Overhaul
description = The Cherenkov detector is another type of high energy particle detector, using a Cherenkov detector in combination with a scintillation detector to further observe and characterize high-energy gamma rays. It measures the arrival directions and energies of gamma rays and highly-energetic charged particles from cosmic radiation. This detailed measurement can allow for more detailed analysis of the radiation environments in interplanetary space.
attachRules = 0,1,0,0,1
@@ -48,5 +48,5 @@ PART
@PART[RP0Cherenkov]:NEEDS[!Kerbalism]:AFTER[RP-0]
{
- @description ^=:$: \n\nLevel 1.5 Cosmic Ray Experiment Device. Can gather 100% of Cosmic Ray Science.
+ @description ^=:$: \n\nLevel 1 Cherenkov detector device. Can gather 100% of Cherenkov high-erergy particle science.
}
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index 503a29fd9b3..c19e4b1308b 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -308,13 +308,7 @@ RP0_PROGRAM
complete_program = EarlySatellites
complete_program = EarlySatellites-Heavy
}
- ANY
- {
- active_program = CrewedOrbit
- active_program = CrewedOrbitEarly
- complete_program = CrewedOrbit
- complete_program = CrewedOrbitEarly
- }
+ complete_contract = first_OrbitRecover
}
OBJECTIVES
@@ -347,7 +341,7 @@ RP0_PROGRAM
description = Although it was through government programs that the earliest satellites were launched, commercial use of them was always envisioned as well. Through this program, the earliest iterations of commercial-use satelites will be launched. With wildly varying needs, each satellite is dedicated to a specific requirement, typically far more focused than the earlier broad scientific satellites.
requirementsPrettyText = Complete Early Satellites program
objectivesPrettyText = Launch the first commercial-use satellites and build a satellite communication network.
- nominalDurationYears = 2
+ nominalDurationYears = 3
baseFunding = 280000
repDeltaOnCompletePerYearEarly = 110
repPenaltyPerYearLate = 110
diff --git a/GameData/RP-1/Science/Experiments/Cherenkov.cfg b/GameData/RP-1/Science/Experiments/Cherenkov.cfg
index f6ac275226d..1c419023b6b 100644
--- a/GameData/RP-1/Science/Experiments/Cherenkov.cfg
+++ b/GameData/RP-1/Science/Experiments/Cherenkov.cfg
@@ -1,5 +1,5 @@
//==================================================================================//
-// COSMIC RAY SCIENCE 1.5 //
+// Cherenkov Science 1 //
//==================================================================================//
EXPERIMENT_DEFINITION
@@ -105,7 +105,6 @@ EXPERIMENT_DEFINITION
}
-// COSMIC RAY LEVEL 1.5
// Cherenkov Detector
// Based on the Geiger-Muller Counters used on many spacecraft.
// Part: Bluedog Geiger Counter, FASA Geiger Counter
From 8f0800befe92237c6f3b0a68faa92e41ae90e7cf Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Mon, 25 Sep 2023 13:13:39 -0700
Subject: [PATCH 072/109] Corrected time frame requirements to match
---
GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
index baa1f979600..9b5bf875364 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 1-months worth of science.&br;&br;Historical example: ANNA 1B
+ description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 2-months worth of science.&br;&br;Historical example: ANNA 1B
synopsis = Launch the first dedicated geodetic satellite.
From a9ca3449a856bdc6d69039b52ddbbf2535c6d060 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Mon, 25 Sep 2023 13:15:14 -0700
Subject: [PATCH 073/109] Matched time frame to requirement
---
GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
index 4dddca5dc6a..bc7c7073724 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 1-days worth of science from both Low and High Earth Orbit.&br;&br;Historical example: IMP-A.
+ description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 2-weeks worth of science from both Low and High Earth Orbit.&br;&br;Historical example: IMP-A.
synopsis = Launch the first dedicated magnetometry satellite.
@@ -71,7 +71,7 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for a day and transmit science
+ title = Survive in orbit for 2 weeks and transmit science
PARAMETER
{
From fd95bdb4077a511b30443512c63167fce9822aeb Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Mon, 25 Sep 2023 13:49:47 -0700
Subject: [PATCH 074/109] Added follow-on contracts instead of repeatable,
tweaked science collection and rep rewards
---
.../Earth Observation 1/EOSIRRad1.cfg | 262 +++++++++++++++++-
1 file changed, 259 insertions(+), 3 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
index 9f6649ea519..11b9ac6ca64 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -11,7 +11,7 @@ CONTRACT_TYPE
completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
- sortKey = 402
+ sortKey = 401
cancellable = true
declinable = false
@@ -71,7 +71,7 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for a day and transmit science
+ title = Survive in orbit for 1 day and transmit science
PARAMETER
{
@@ -80,8 +80,9 @@ CONTRACT_TYPE
maxApA = 1000000
minPeA = 500000
maxEccentricity = 0.005
+ maxInclination = 45
disableOnStateChange = true
- title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity.
+ title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity and inclination lower than 50 degrees.
}
PARAMETER
@@ -117,3 +118,258 @@ CONTRACT_TYPE
}
}
}
+
+CONTRACT_TYPE
+{
+ name = EOSIRRad2
+ title = Infrared Radiometry Satellite
+ group = EOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Real life examples: TIROS-2 through TIROS-8.
+
+ synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 402
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 30
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ REQUIREMENT
+ { name = CompleteContract
+ type = CompleteContract
+ contractType = EOSIRRad1
+ title = Completed first weather satellite
+ }
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad
+ type = VesselParameterGroup
+ title = Additional weather satellite
+ define = ScienceSatIRRad
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for 2 days and transmit science
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 1000000
+ minPeA = 500000
+ maxEccentricity = 0.005
+ maxInclination = 75
+ disableOnStateChange = true
+ title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity and inclination lower than 75 degrees.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 2d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0infraredRad1
+ fractionComplete = .75
+ title = Transmit 75% of infrared weather data from low orbit
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0visibleImaging1
+ fractionComplete = .5
+ title = Transmit corresponding video images from low orbit
+ }
+ }
+ }
+}
+
+CONTRACT_TYPE
+{
+ name = EOSIRRad3
+ title = Infrared Radiometry Satellite
+ group = EOS
+ agent = Federation Aeronautique Internationale
+
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Real life examples: TIROS-2 through TIROS-8.
+
+ synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
+
+ completedMessage = Success! The images provided from this satellite have proven that weather satellites can be extremely effective in helping meteorologists predict the weather.
+
+ sortKey = 403
+
+ cancellable = true
+ declinable = false
+ autoAccept = false
+ minExpiry = 0
+ maxExpiry = 0
+ maxCompletions = 1
+ maxSimultaneous = 1
+ deadline = 0
+
+ targetBody = HomeWorld()
+
+ // ************ REWARDS ************
+ prestige = Trivial // 1.0x
+ advanceFunds = 0
+ rewardScience = 0
+ rewardFunds = 0
+ failureFunds = 0
+ rewardReputation = 15
+ failureReputation = 0 // was @rewardReputation
+
+ // ************ REQUIREMENTS ************
+
+ REQUIREMENT
+ {
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyEOS
+ }
+
+ REQUIREMENT
+ { name = CompleteContract
+ type = CompleteContract
+ contractType = EOSIRRad2
+ title = Completed first additional weather satellite
+ }
+
+ PARAMETER
+ {
+ name = ScienceSatIRRad
+ type = VesselParameterGroup
+ title = Additional weather satellite
+ define = ScienceSatIRRad
+
+ 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 = OrbitSequence
+ type = Sequence
+ title = Survive in orbit for 2 days and transmit science
+
+ PARAMETER
+ {
+ name = Orbit
+ type = Orbit
+ maxApA = 1000000
+ minPeA = 500000
+ maxEccentricity = 0.005
+ minInclination = 85
+ maxInclination = 95
+ disableOnStateChange = true
+ title = Achieve a polar orbit between 500km and 1,000km in altitude with no more than .005 eccentricity.
+ }
+
+ PARAMETER
+ {
+ name = Duration
+ type = Duration
+ duration = 2d
+ preWaitText = Check for stable orbit
+ waitingText = Checking for stable orbit
+ completionText = Stable orbit: Confirmed
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0infraredRad1
+ fractionComplete = 1
+ title = Transmit 100% of infrared weather data from low orbit
+ }
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0visibleImaging1
+ fractionComplete = 1
+ title = Transmit 100% of corresponding video images from low orbit
+ }
+ }
+ }
+}
\ No newline at end of file
From e33f55fa0b64b48d16462cff7e03b1150b82c407 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Mon, 25 Sep 2023 13:55:48 -0700
Subject: [PATCH 075/109] Update EOSIRRad1.cfg - minor tweaks to wording
---
GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
index 11b9ac6ca64..08f3bb31da9 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -126,7 +126,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Real life examples: TIROS-2 through TIROS-8.
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Real life examples: TIROS-2 through TIROS-8.
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
@@ -253,7 +253,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Real life examples: TIROS-2 through TIROS-8.
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Real life examples: TIROS-9.
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
@@ -372,4 +372,4 @@ CONTRACT_TYPE
}
}
}
-}
\ No newline at end of file
+}
From 7c2d54d7b8f14124eee187cd6c6cc39f2a221f50 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 00:12:05 -0700
Subject: [PATCH 076/109] Fixed antiGrind, added power req
---
.../EarlyComSat-CA.cfg | 22 ++++++++++-
.../EarlyMolniyaSat.cfg | 26 +++++++++++--
.../EarlyNavSat-CA.cfg | 39 ++++++++++++-------
.../data/RP_1__Bluedog_Model.json | 2 +-
4 files changed, 68 insertions(+), 21 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
index 3a4e499dac0..139dc2b8fe2 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
@@ -4,7 +4,7 @@ CONTRACT_TYPE
title = Commercial Communications Satellite (Early)
group = CommApp
- description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Every major Telecom now wants their own satellite capabilities tailored to their specific needs. Launch new communications satellites with the required specifications into the specified orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Every major Telecom now wants their own satellite capabilities tailored to their specific needs. Launch new communications satellites with the required specifications into the specified orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.
Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
synopsis = Launch a Communications Satellite for a customer.
@@ -90,7 +90,7 @@ CONTRACT_TYPE
DATA
{
type = float
- payload = 200
+ payload = Round(Random(100,300),10)
}
// ************ PARAMETERS ************
@@ -150,6 +150,24 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
+
+ PARAMETER
+ {
+ name = GenerateEC
+ title = Have positive energy balance
+ type = ResourceConsumption
+ resource = ElectricCharge
+ minRate = -1000000
+ maxRate = 0.00001
+ }
+
+ PARAMETER
+ {
+ name = HasEC
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 10
+ }
}
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
index f4518a0ed92..d99e7f67524 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
@@ -4,7 +4,7 @@ CONTRACT_TYPE
title = Molniya Communications Satellite (Early)
group = CommApp
- description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Some customers want satellites that dwell longer over the higher latitudes using Molniya orbits. Launch new communications satellites with the required specifications into the specified orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyMolniya
Number of Contracts Completed: @index / unlimited
+ description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Some customers want satellites that dwell longer over the higher latitudes using Molniya orbits. Launch a new communications satellite with the required specifications with the unique Molniya orbital parameters.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
synopsis = Launch a customer communication satellite into a Molniya orbit.
@@ -64,7 +64,7 @@ CONTRACT_TYPE
CONTRACT_OFFERED
{
- RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyMolniya * 86400) : ($RepeatSat_Completion + 0)
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
}
CONTRACT_COMPLETED_SUCCESS
{
@@ -76,14 +76,14 @@ CONTRACT_TYPE
DATA
{
type = int
- antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyMolniya * 86400) : $RepeatSat_Completion
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
}
DATA
{
type = float
elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
- rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyMolniya * 20 - 9, 1), 2) / 3.46
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
rewardFactorPercent = Round(@rewardFactor * 100, 1)
}
@@ -154,6 +154,24 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
+
+ PARAMETER
+ {
+ name = GenerateEC
+ title = Have positive energy balance
+ type = ResourceConsumption
+ resource = ElectricCharge
+ minRate = -1000000
+ maxRate = 0.00001
+ }
+
+ PARAMETER
+ {
+ name = HasEC
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 10
+ }
}
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
index 0f1c9fc6a50..b50db5b40b1 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
@@ -4,7 +4,7 @@ CONTRACT_TYPE
title = Commercial Navigation Satellite (Early)
group = CommApp
- description = Program: Early Commercial Applications
Type: Optional
The first Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyNavSat
Number of Contracts Completed: @index / unlimited
+ description = Program: Early Commercial Applications
Type: Optional
The first Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
genericDescription = Put a satellite with the required amount of navigation satellite payload into the desired orbit.
synopsis = Launch a Navigation Satellite for a customer.
@@ -18,7 +18,7 @@ CONTRACT_TYPE
autoAccept = false
minExpiry = 1
maxExpiry = 1
- maxCompletions = 6
+ maxCompletions = 0
maxSimultaneous = 1
deadline = 0
@@ -64,7 +64,7 @@ CONTRACT_TYPE
CONTRACT_OFFERED
{
- RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyNavSat * 86400) : ($RepeatSat_Completion + 0)
+ RepeatSat_Completion = ($RepeatSat_Completion + 0) == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : ($RepeatSat_Completion + 0)
}
CONTRACT_COMPLETED_SUCCESS
{
@@ -76,28 +76,21 @@ CONTRACT_TYPE
DATA
{
type = int
- antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyNavSat * 86400) : $RepeatSat_Completion
+ antiGrindCompletion = $RepeatSat_Completion == 0 ? (UniversalTime() - @RP0:expectedDays_EarlyComSat * 86400) : $RepeatSat_Completion
}
DATA
{
type = float
elapsedDays = Round((UniversalTime() - @antiGrindCompletion) / 86400.0)
- rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyNavSat * 20 - 9, 1), 2) / 3.46
+ rewardFactor = Log(Max(@elapsedDays / @RP0:expectedDays_EarlyComSat * 20 - 9, 1), 2) / 3.46
rewardFactorPercent = Round(@rewardFactor * 100, 1)
}
DATA
{
type = float
- payload = Round(Random(150,350),1)
- }
-
-
- DATA
- {
- type = int
- minimumApA = Round(Random(500000, 1000000), 10000)
+ payload = Round(Random(100,300),10)
}
// ************ PARAMETERS ************
@@ -126,6 +119,7 @@ CONTRACT_TYPE
title = Uncrewed
hideChildren = true
}
+
PARAMETER
{
name = HasNavSatPayload
@@ -142,7 +136,7 @@ CONTRACT_TYPE
minInclination = 89
maxInclination = 91
minPeA = Round(Random(300000, 400000), 10000)
- minApA = @/minimumAPA
+ minApA = Round(Random(500000, 1000000), 10000)
maxApA = @minApA + 50000
disableOnStateChange = true
title = Achieve orbit within the parameters
@@ -158,6 +152,23 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
+ PARAMETER
+ {
+ name = GenerateEC
+ title = Have positive energy balance
+ type = ResourceConsumption
+ resource = ElectricCharge
+ minRate = -1000000
+ maxRate = 0.00001
+ }
+
+ PARAMETER
+ {
+ name = HasEC
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 10
+ }
}
}
diff --git a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
index a00fc980495..a6aaadd8bed 100644
--- a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
+++ b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
@@ -515,7 +515,7 @@
},
{
"name": "RP0Cherenkov",
- "title": "CR01_5 - Cherenkov Detector",
+ "title": "CD01 - Cherenkov Detector",
"description": "",
"mod": "RP-1 (Bluedog Model)",
"cost": "200",
From 5cc6dc902250fbddd98e7499d523e4b856b63893 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 00:23:25 -0700
Subject: [PATCH 077/109] Added historical refs
---
.../Contracts/Commercial Applications 1/FirstComSat-CA.cfg | 2 +-
.../Commercial Applications 1/FirstMolniyaSat-CA.cfg | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
index 5e1649d77a1..ca7cec7065b 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = CommApp
agent = Federation Aeronautique Internationale
- description = Program: Early Commercial Applications
Type: Required
Our communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
+ description = Program: Early Commercial Applications
Type: Required
Our communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
Historical example: Telstar 1 (78kg, Thor-Delta)
synopsis = Launch the first communication satellite
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
index 8ccc30217b1..509d39864e8 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
@@ -5,9 +5,9 @@ CONTRACT_TYPE
group = CommApp
agent = Federation Aeronautique Internationale
- description = Program: Early Commercial ApplicationsType: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+ description = Program: Early Commercial ApplicationsType: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.
There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
Historical example: Molniya 1-1 (1,600kg, Molniya)
- synopsis = Launch a satellite into a Molniya Orbit
+ synopsis = Launch a satellite into a Molniya orbit
completedMessage = Success! The Molniya orbit is highly eccentric and allows the satellite to spend most of its time over the high latitudes.
From 3048a9a67872f3845ce923f106861171a4520d6b Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 01:31:35 -0700
Subject: [PATCH 078/109] Updated per comments
---
.../EarlyNavNetwork3.cfg | 18 +-
.../EarlyNavNetwork4.cfg | 20 +--
.../Earth Observation 1/EOSGrav1.cfg | 8 +-
.../Earth Observation 1/EOSIRRad1.cfg | 35 ++--
.../Earth Observation 1/EOSIRRad1Rep.cfg | 160 ------------------
.../Earth Observation 1/EOSMagScan1.cfg | 3 +-
6 files changed, 42 insertions(+), 202 deletions(-)
delete mode 100644 GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
index 719e362cd80..ba7ad85e59a 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
@@ -5,9 +5,9 @@ CONTRACT_TYPE
group = CommApp
- description = Program: Early Commercial Applications
Type: Required
The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudemnatary satellite navigation network.&br;&br;Build a navigation network with three NavSats that provide more frequent revisit rates than the single previous satellite.&br;&br;NOTE: You may choose only the 3-satellite or 4-satellite contract.
+ description = Program: Early Commercial Applications
Type: Required
The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudimentary satellite navigation network.&br;&br;Build a navigation network with three NavSats that provide more frequent revisit rates than the single previous satellite. Try to phase the orbits so that each satellite provides equal revisit times.&br;&br;NOTE: You may choose only the 3-satellite or 4-satellite contract.
- synopsis = Launch a 3-satellite Navigation etwork
+ synopsis = Launch a 3-satellite navigation network
completedMessage = Congratulations! The network is up and transmitting, and our shakedown testing is complete!
@@ -91,8 +91,8 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 2d
- title = Craft must have ElectricCharge after one day
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after 2 days
hideChildren = true
}
PARAMETER
@@ -136,8 +136,8 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 2d
- title = Craft must have ElectricCharge after one day
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after 2 days
hideChildren = true
}
PARAMETER
@@ -181,8 +181,8 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 2d
- title = Craft must have ElectricCharge after one day
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after 2 days
hideChildren = true
}
PARAMETER
@@ -242,7 +242,7 @@ CONTRACT_TYPE
width = 0.5
TEXT
{
- text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ text = The contract has been completed successfully and the satellites have been transferred to the customer.
}
}
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
index b7620693536..43157145f0e 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
@@ -5,9 +5,9 @@ CONTRACT_TYPE
group = CommApp
- description = Program: Early Commercial Applications
Type: Required
The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudemnatary satellite navigation network.&br;&br;Build a navigation network with three NavSats that provide more frequent revisit rates than the single previous satellite.&br;&br;NOTE: You may choose only the 3-satellite or 4-satellite contract.
+ description = Program: Early Commercial Applications
Type: Required
The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudimentary satellite navigation network.&br;&br;Build a navigation network with three NavSats that provide more frequent revisit rates than the single previous satellite. Try to phase the orbits so that each satellite provides equal revisit times.&br;&br;NOTE: You may choose only the 3-satellite or 4-satellite contract.
- synopsis = Launch a 4-satellite Navigation etwork
+ synopsis = Launch a 4-satellite navigation network
completedMessage = Congratulations! The network is up and transmitting, and our shakedown testing is complete!
@@ -98,8 +98,8 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 2d
- title = Craft must have ElectricCharge after one day
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after 2 days
hideChildren = true
}
PARAMETER
@@ -149,8 +149,8 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 2d
- title = Craft must have ElectricCharge after one day
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after 2 days
hideChildren = true
}
PARAMETER
@@ -200,8 +200,8 @@ CONTRACT_TYPE
name = HasPower
type = HasResource
resource = ElectricCharge
- minQuantity = 2d
- title = Craft must have ElectricCharge after one day
+ minQuantity = 1.0
+ title = Craft must have ElectricCharge after 2 days
hideChildren = true
}
PARAMETER
@@ -247,7 +247,7 @@ CONTRACT_TYPE
type = HasResource
resource = ElectricCharge
minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
+ title = Craft must have ElectricCharge after 2 days
hideChildren = true
}
PARAMETER
@@ -308,7 +308,7 @@ CONTRACT_TYPE
width = 0.5
TEXT
{
- text = The contract has been completed successfully and the satellite has been transferred to the customer.
+ text = The contract has been completed successfully and the satellites have been transferred to the customer.
}
}
}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
index 9b5bf875364..f9bef03c441 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
@@ -71,14 +71,14 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for one month and transmit science
+ title = Survive in orbit for 2 months and transmit science
PARAMETER
{
name = Orbit
type = Orbit
- maxApA = 550000
- minPeA = 450000
+ maxApA = 1200000
+ minPeA = 1000000
minInclination = 48
maxInclination = 52
maxEccentricity = 0.003
@@ -90,7 +90,7 @@ CONTRACT_TYPE
{
name = Duration
type = Duration
- duration = 1m
+ duration = 60d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
index 08f3bb31da9..3ea9f7dcdf7 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -71,7 +71,7 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for 1 day and transmit science
+ title = Survive in orbit for 7 days and transmit science
PARAMETER
{
@@ -80,16 +80,15 @@ CONTRACT_TYPE
maxApA = 1000000
minPeA = 500000
maxEccentricity = 0.005
- maxInclination = 45
disableOnStateChange = true
- title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity and inclination lower than 50 degrees.
+ title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity
}
PARAMETER
{
name = Duration
type = Duration
- duration = 1d
+ duration = 7d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
@@ -112,7 +111,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0visibleImaging1
- fractionComplete = .1
+ fractionComplete = .5
title = Transmit corresponding video images from low orbit
}
}
@@ -126,7 +125,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Real life examples: TIROS-2 through TIROS-8.
+ description = Program: Early Earth Observation Satellites
Type: Required
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Historical examples: TIROS-2 through TIROS-8.
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
@@ -151,7 +150,7 @@ CONTRACT_TYPE
rewardScience = 0
rewardFunds = 0
failureFunds = 0
- rewardReputation = 30
+ rewardReputation = 65
failureReputation = 0 // was @rewardReputation
// ************ REQUIREMENTS ************
@@ -198,7 +197,7 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for 2 days and transmit science
+ title = Survive in orbit for 2 weeks and transmit science
PARAMETER
{
@@ -207,16 +206,16 @@ CONTRACT_TYPE
maxApA = 1000000
minPeA = 500000
maxEccentricity = 0.005
- maxInclination = 75
+ minInclination = 50
disableOnStateChange = true
- title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity and inclination lower than 75 degrees.
+ title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity and inclination of at least 50 degrees.
}
PARAMETER
{
name = Duration
type = Duration
- duration = 2d
+ duration = 14d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
@@ -239,7 +238,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0visibleImaging1
- fractionComplete = .5
+ fractionComplete = .7
title = Transmit corresponding video images from low orbit
}
}
@@ -253,7 +252,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Real life examples: TIROS-9.
+ description = Program: Early Earth Observation Satellites
Type: Required
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Historical example: TIROS-9.
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
@@ -278,7 +277,7 @@ CONTRACT_TYPE
rewardScience = 0
rewardFunds = 0
failureFunds = 0
- rewardReputation = 15
+ rewardReputation = 70
failureReputation = 0 // was @rewardReputation
// ************ REQUIREMENTS ************
@@ -325,7 +324,7 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for 2 days and transmit science
+ title = Survive in orbit for 30 days and transmit science
PARAMETER
{
@@ -344,7 +343,7 @@ CONTRACT_TYPE
{
name = Duration
type = Duration
- duration = 2d
+ duration = 30d
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
@@ -367,8 +366,8 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0visibleImaging1
- fractionComplete = 1
- title = Transmit 100% of corresponding video images from low orbit
+ fractionComplete = .9
+ title = Transmit 90% of corresponding video images from low orbit
}
}
}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
deleted file mode 100644
index b54dc06299c..00000000000
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1Rep.cfg
+++ /dev/null
@@ -1,160 +0,0 @@
-CONTRACT_TYPE
-{
- name = EOSIRRad1Rep
- title = Additional Infrared Radiometry Satellites
- group = EOS
- agent = Federation Aeronautique Internationale
-
- description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch additional weather satellites to fulfill the Weather Bureau's request.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of satellite control to the customer.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera.
Number of Contracts Completed: @index / @maxCompletions
Real life examples: TIROS-2 through TIROS-8.
-
- synopsis = Launch additional weather satellites with the Infrared Radiometry experiment and an Early TV camera.
-
- completedMessage = Congratulations on another succesful launch. Our use of satellites to better understand the impacts of weather phenomena and improve forecasting capabilities continues to improve with every launch.
-
- sortKey = 402
-
- cancellable = true
- declinable = false
- autoAccept = false
- minExpiry = 0
- maxExpiry = 0
- maxCompletions = 7
- maxSimultaneous = 1
- deadline = 0
-
- targetBody = HomeWorld()
-
- // ************ REWARDS ************
- prestige = Trivial // 1.0x
- advanceFunds = 0
- rewardScience = 0
- rewardFunds = 0
- failureFunds = 0
- rewardReputation = 20
- failureReputation = 0 // was @rewardReputation
-
- // ************ REQUIREMENTS ************
-
- REQUIREMENT
- {
- name = ProgramActive
- type = ProgramActive
- program = EarlyEOS
- }
-
- REQUIREMENT
- {
- name = CompleteContract
- type = CompleteContract
- contractType = ScienceSatIRRad1
- title = Complete first IR Radiometry satellite.
- }
-
- DATA
- {
- type = int
- index = $RepeatIRRadSats_Count + 0
- }
-
- BEHAVIOUR
- {
- name = IncrementTheCount
- type = Expression
-
- CONTRACT_COMPLETED_SUCCESS
- {
- RepeatIRRadSats_Count = $RepeatIRRadSats_Count + 1
- }
- }
-
- PARAMETER
- {
- name = ScienceSatIRRad1Repeat
- type = VesselParameterGroup
- title = Additional weather satellite
- define = ScienceSatIRRad1Repeat
-
- 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 = OrbitSequence
- type = Sequence
- title = Survive in orbit for a day and transmit science
-
- PARAMETER
- {
- name = HasPower
- type = HasResource
- resource = ElectricCharge
- minQuantity = 1.0
- title = Craft must have ElectricCharge after one day
- hideChildren = true
- }
- }
- PARAMETER
- {
- name = Orbit
- type = Orbit
- minInclination = Round(Random(30, 80))
- maxInclination = 95
- minPeA = Round(Random(500000, 1000000), 10000)
- maxEccentricity = 0.005
- disableOnStateChange = true
- title = Achieve orbit within the parameters
-
- PARAMETER
- {
- name = Duration
- type = Duration
-
- duration = 2m
-
- preWaitText = Check for stable orbit
- waitingText = Checking for stable orbit
- completionText = Stable orbit: Confirmed
- }
-
- }
- }
-
- BEHAVIOUR
- {
- name = TransferVessel
- type = DestroyVessel
- onState = CONTRACT_SUCCESS
- vessel = ScienceSatIRRad1Repeat
- }
-
- BEHAVIOUR
- {
- name = VesselDestroyed
- type = DialogBox
- DIALOG_BOX
- {
- title = Vessel Ownership Transferred
- condition = CONTRACT_SUCCESS
- position = CENTER
- width = 0.5
- TEXT
- {
- text = The launch was a success and satellite control has been transferred to the US Weather Bureau.
- }
- }
- }
-}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
index bc7c7073724..747ed02270e 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 2-weeks worth of science from both Low and High Earth Orbit.&br;&br;Historical example: IMP-A.
+ description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 2-weeks worth of science from both Low and High Earth Orbit.&br;&br;Historical example: IMP-A (138kg, Thor-Delta)
synopsis = Launch the first dedicated magnetometry satellite.
@@ -80,6 +80,7 @@ CONTRACT_TYPE
maxPeA = 500000
minApA = 36000000
maxApA = 250000000
+ minEccentricity = 0.75 //actual orbit was .89
disableOnStateChange = true
title = Achieve an elliptical orbit with min periapsis of 500km and min apoapsis of 36,000km.
}
From ecac25701b023c3ec9ffe23026aee56709c024b0 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 01:44:13 -0700
Subject: [PATCH 079/109] Updated per comments
---
.../Commercial Applications 1/EarlyMolniyaSat.cfg | 2 +-
.../Commercial Applications 1/EarlyNavSat-CA.cfg | 2 +-
.../Contracts/Earth Observation 1/EOSCherenkov.cfg | 13 ++++++-------
3 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
index d99e7f67524..7189b0550f9 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
@@ -148,7 +148,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 30d
+ duration = 2m
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
index b50db5b40b1..d1786a06c39 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
@@ -146,7 +146,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 30d
+ duration = 2m
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
index a0b5bd525ad..70a894a15cf 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
@@ -5,11 +5,11 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high energy particles like neutrinos. &br;&br;Make sure your craft contains a Cherenkov Counter and returns 50% of the available science from High Earth Orbit. Science does not have to be collected in only 1 flight.&br;&br;Real life examples: Explorer 11.
+ description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high-energy particles like neutrinos. &br;&br;Make sure your craft contains a Cherenkov Counter and returns 50% of the available science from High Earth Orbit. Science does not have to be collected in only 1 flight.&br;&br;Real life examples: Explorer 11.
- synopsis = Launch a Scientific Satellite into an elliptical orbit with Cherenkov Counter experiment.
+ synopsis = Launch a scientific satellite into an elliptical orbit with Cherenkov Counter experiment.
- completedMessage = Congratulations! The satellite you sent into orbit has returned extremely valuable data about solar wind and cosmic rays.
+ completedMessage = Congratulations! The satellite you sent into orbit has returned interesting results about the high-energy particle environment around Earth.
sortKey = 402
@@ -71,18 +71,17 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for a day and transmit science
+ title = Survive in orbit for at least 45 days and transmit science
PARAMETER
{
name = Orbit
type = Orbit
- minEccentricity = 0.085
- maxEccentricity = 0.200
+ minEccentricity = 0.75
minPeA = 200000
maxPeA = 500000
disableOnStateChange = true
- title = Achieve orbit with a minimum perigee of 200 km and eccentricity between .085 and .200.
+ title = Achieve orbit with a perigee between 200km and 500km and eccentricity of at least .75
}
PARAMETER
From 6ed67bd9f5d4261a4d1067c60deed6334ad3cb84 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 14:38:51 -0700
Subject: [PATCH 080/109] Updated Program.cfg to move orbit recovery to
objective
---
GameData/RP-1/Programs/Programs.cfg | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index c19e4b1308b..1fe51e5c3fd 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -308,7 +308,6 @@ RP0_PROGRAM
complete_program = EarlySatellites
complete_program = EarlySatellites-Heavy
}
- complete_contract = first_OrbitRecover
}
OBJECTIVES
@@ -317,12 +316,14 @@ RP0_PROGRAM
complete_contract = EOSCherenkov
complete_contract = EOSMagScan1
complete_contract = EOSIRRad1
+ complete_contract = EOSIRRad2
+ complete_contract = EOSIRRad3
complete_contract = EOSCorona
+ complete_contract = first_OrbitRecover
}
OPTIONALS
{
- EOSIRRad1Rep = true
EOSGrav1 = true
EOSCoronaRep = true
}
@@ -361,7 +362,7 @@ RP0_PROGRAM
complete_contract = FirstComSat-CA
complete_contract = FirstMolniyaSat-CA
ANY
- {
+ {
complete_contract = EarlyNavNetwork3
complete_contract = EarlyNavNetwork4
}
From eec07bf80d73abbb7e5e513fd50f0482f9f27698 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 16:07:33 -0700
Subject: [PATCH 081/109] Matched date requirements, adjusted rewards, added
historicals
---
.../Earth Observation 1/EOSCherenkov.cfg | 16 ++++++--
.../Earth Observation 1/EOSCosmicRay1.cfg | 16 ++++++--
.../Earth Observation 1/EOSGrav1.cfg | 14 ++++++-
.../Earth Observation 1/EOSIRRad1.cfg | 40 ++++++++++++++++---
.../Earth Observation 1/EOSMagScan1.cfg | 14 ++++++-
5 files changed, 85 insertions(+), 15 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
index 70a894a15cf..896c5150077 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high-energy particles like neutrinos. &br;&br;Make sure your craft contains a Cherenkov Counter and returns 50% of the available science from High Earth Orbit. Science does not have to be collected in only 1 flight.&br;&br;Real life examples: Explorer 11.
+ description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high-energy particles like neutrinos. &br;&br;Make sure your craft contains a Cherenkov Counter and returns 50% of the available science from High Earth Orbit. Science does not have to be collected in only 1 flight.&br;&br;Real life examples: Explorer 11 (37kg, Juno II)
synopsis = Launch a scientific satellite into an elliptical orbit with Cherenkov Counter experiment.
@@ -30,7 +30,7 @@ CONTRACT_TYPE
rewardScience = 0
rewardFunds = 0
failureFunds = 0
- rewardReputation = 60
+ rewardReputation = 40
failureReputation = 0 // was @rewardReputation
// ************ REQUIREMENTS ************
@@ -73,6 +73,16 @@ CONTRACT_TYPE
type = Sequence
title = Survive in orbit for at least 45 days and transmit science
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for 45 days
+ hideChildren = true
+ }
+
PARAMETER
{
name = Orbit
@@ -93,7 +103,7 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
-
+
PARAMETER
{
name = RP1CollectScience
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
index 40176359377..4bb172f026d 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth. Early scientific satellites also contained still-frame and video cameras to take photos of Earth from entirely new perspectives.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 1-week's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Historical example: Explorer 6.
+ description = Program: Early Earth Observation Satellites
Type: Required
The satellite launched in the Early Satellites program returned valuable data about the space near Earth. Send a satellite to High Earth Orbit to detect cosmic rays so that we may better ascertain the shape and strength of the cosmic ray environment around Earth. Early scientific satellites also contained still-frame and video cameras to take photos of Earth from entirely new perspectives.&br;&br;Make sure your craft contains a Cosmic Ray Science experiment (Geiger-Muller Counter or Scintillation Counter) and an Early TV camera and return 6-week's worth of Cosmic Ray Science from High Earth Orbit.&br;&br;Historical example: Explorer 6 (64kg, Thor-Able)
synopsis = Launch a Scientific Satellite into an eccentric orbit of Earth with Cosmic Ray Science experiment and an Early TV camera.
@@ -30,7 +30,7 @@ CONTRACT_TYPE
rewardScience = 0
rewardFunds = 0
failureFunds = 0
- rewardReputation = 60
+ rewardReputation = 40
failureReputation = 0 // was @rewardReputation
// ************ REQUIREMENTS ************
@@ -71,7 +71,17 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for a day and transmit science
+ title = Survive in orbit for 45 days and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for 45 days
+ hideChildren = true
+ }
PARAMETER
{
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
index f9bef03c441..e746f89347d 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 2-months worth of science.&br;&br;Historical example: ANNA 1B
+ description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 2-months worth of science.&br;&br;Historical example: ANNA 1B (161kg, Thor-Ablestar)
synopsis = Launch the first dedicated geodetic satellite.
@@ -30,7 +30,7 @@ CONTRACT_TYPE
rewardScience = 0
rewardFunds = 0
failureFunds = 0
- rewardReputation = 60
+ rewardReputation = 40
failureReputation = 0 // was @rewardReputation
// ************ REQUIREMENTS ************
@@ -73,6 +73,16 @@ CONTRACT_TYPE
type = Sequence
title = Survive in orbit for 2 months and transmit science
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for 60 days
+ hideChildren = true
+ }
+
PARAMETER
{
name = Orbit
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
index 3ea9f7dcdf7..6561a091074 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Historical example: TIROS-1.
+ description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Historical example: TIROS-1 (120kg, Thor-Able)
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
@@ -30,7 +30,7 @@ CONTRACT_TYPE
rewardScience = 0
rewardFunds = 0
failureFunds = 0
- rewardReputation = 60
+ rewardReputation = 40
failureReputation = 0 // was @rewardReputation
// ************ REQUIREMENTS ************
@@ -73,6 +73,16 @@ CONTRACT_TYPE
type = Sequence
title = Survive in orbit for 7 days and transmit science
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for 7 days
+ hideChildren = true
+ }
+
PARAMETER
{
name = Orbit
@@ -150,7 +160,7 @@ CONTRACT_TYPE
rewardScience = 0
rewardFunds = 0
failureFunds = 0
- rewardReputation = 65
+ rewardReputation = 40
failureReputation = 0 // was @rewardReputation
// ************ REQUIREMENTS ************
@@ -197,7 +207,17 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for 2 weeks and transmit science
+ title = Survive in orbit for 14 days and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for 14 days
+ hideChildren = true
+ }
PARAMETER
{
@@ -277,7 +297,7 @@ CONTRACT_TYPE
rewardScience = 0
rewardFunds = 0
failureFunds = 0
- rewardReputation = 70
+ rewardReputation = 40
failureReputation = 0 // was @rewardReputation
// ************ REQUIREMENTS ************
@@ -326,6 +346,16 @@ CONTRACT_TYPE
type = Sequence
title = Survive in orbit for 30 days and transmit science
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for 30 days
+ hideChildren = true
+ }
+
PARAMETER
{
name = Orbit
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
index 747ed02270e..542f88e21aa 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
@@ -30,7 +30,7 @@ CONTRACT_TYPE
rewardScience = 0
rewardFunds = 0
failureFunds = 0
- rewardReputation = 60
+ rewardReputation = 40
failureReputation = 0 // was @rewardReputation
// ************ REQUIREMENTS ************
@@ -71,7 +71,17 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for 2 weeks and transmit science
+ title = Survive in orbit for 14 days and transmit science
+
+ PARAMETER
+ {
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for 14 days
+ hideChildren = true
+ }
PARAMETER
{
From 6b48e8a2d882fa15461f6b05abec9ddfc1a18835 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 18:55:45 -0700
Subject: [PATCH 082/109] Fixed duration, reduced orbit variation
---
.../Contracts/Commercial Applications 1/EarlyComSat-CA.cfg | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
index 139dc2b8fe2..b1dc73d9bbf 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
@@ -132,8 +132,7 @@ CONTRACT_TYPE
{
name = Orbit
type = Orbit
- minInclination = Round(Random(30, 31))
- minPeA = Round(Random(700000, 1000000), 10000)
+ minPeA = 1000000
minApA = Round(Random(3000000, 10000000), 10000)
maxApA = Round(Random(10000000, 30000000), 10000)
disableOnStateChange = true
@@ -144,7 +143,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 30d
+ duration = 2m
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
From 58eaf9a1383d9114eb9cdc34a058ab917628f36e Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 21:15:30 -0500
Subject: [PATCH 083/109] Update FirstMolniyaSat.cfg - undoing minor incorrect
changes
---
GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg b/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg
index f596ccdfbec..c81ecfb58ae 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/FirstMolniyaSat.cfg
@@ -89,7 +89,7 @@ CONTRACT_TYPE
{
name = VesselGroup
type = VesselParameterGroup
- title = Molniya Satellite
+ title = Molniya satellite
define = MolniyaSatellite
PARAMETER
@@ -121,7 +121,7 @@ CONTRACT_TYPE
{
name = ReachOrbit
type = Orbit
- title = Reach the correct orbit within the parameters. Note, the argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
+ title = Reach the correct orbit within the parameters. Note: the argument of periapsis values mean that the apogee needs to be high in the northern latitudes.
minInclination = 61.4
maxInclination = 65.4
minEccentricity = 0.7
From 62fccfb1352fa075d0b9fae8238a2661749fd080 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 21:17:06 -0500
Subject: [PATCH 084/109] Update FirstTundraSat.cfg - undoing minor text
changes
---
GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg b/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
index 8fb77cb0d5d..1211daf45ed 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
@@ -87,7 +87,7 @@ CONTRACT_TYPE
{
name = VesselGroup
type = VesselParameterGroup
- title = Tundra Satellite
+ title = Tundra satellite
define = TundraSatellite
PARAMETER
@@ -119,7 +119,7 @@ CONTRACT_TYPE
{
name = ReachOrbit
type = Orbit
- title = Reach the correct orbit within the parameters. Note, the argument of periapsis values mean that the apogee needs to be high in the northern latitudes. Since you have already completed the Molniya Orbit, this is the same type of orbit, but with an orbital period the same as an Earth sidereal day.
+ Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes. This is like a Molniya orbit, but with an orbital period the same as an Earth sidereal day.
minInclination = 61.4
maxInclination = 65.4
minEccentricity = 0.3
From e3f2d8394653f368b74cd15bd263f21b7862f48e Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 21:18:32 -0500
Subject: [PATCH 085/109] Update EarlyNavNetwork4.cfg - minor text corrections
---
.../Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
index 43157145f0e..f4e12540420 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = CommApp
- description = Program: Early Commercial Applications
Type: Required
The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudimentary satellite navigation network.&br;&br;Build a navigation network with three NavSats that provide more frequent revisit rates than the single previous satellite. Try to phase the orbits so that each satellite provides equal revisit times.&br;&br;NOTE: You may choose only the 3-satellite or 4-satellite contract.
+ description = Program: Early Commercial Applications
Type: Required
The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudimentary satellite navigation network.&br;&br;Build a navigation network with four NavSats that provide more frequent revisit rates than the single previous satellite. Try to phase the orbits so that each satellite provides equal revisit times.&br;&br;NOTE: You may choose only the 3-satellite or 4-satellite contract.
synopsis = Launch a 4-satellite navigation network
From 003aabaeaeee9541858e2fa7470ce6b5e6b19f7b Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 21:19:49 -0500
Subject: [PATCH 086/109] Update EarlyNavSat-CA.cfg - minor text correction
---
.../RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
index d1786a06c39..4beb0e90663 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
@@ -4,7 +4,7 @@ CONTRACT_TYPE
title = Commercial Navigation Satellite (Early)
group = CommApp
- description = Program: Early Commercial Applications
Type: Optional
The first Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ description = Program: Early Commercial Applications
Type: Optional
The First Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
genericDescription = Put a satellite with the required amount of navigation satellite payload into the desired orbit.
synopsis = Launch a Navigation Satellite for a customer.
From b5f5e49a7a7fa6d6a55d87b567f00b221ae0dc11 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 21:22:03 -0500
Subject: [PATCH 087/109] Update FirstTundraSat.cfg - added missing title
---
GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg b/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
index 1211daf45ed..2c1143d1b31 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
@@ -119,7 +119,7 @@ CONTRACT_TYPE
{
name = ReachOrbit
type = Orbit
- Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes. This is like a Molniya orbit, but with an orbital period the same as an Earth sidereal day.
+ title = Reach the correct orbit within the parameters. Note: The argument of periapsis values mean that the apogee needs to be high in the northern latitudes. This is like a Molniya orbit, but with an orbital period the same as an Earth sidereal day.
minInclination = 61.4
maxInclination = 65.4
minEccentricity = 0.3
From 2bf9c7cf6a8a00ebcdef792eadef100a242280a5 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 20:59:05 -0700
Subject: [PATCH 088/109] Updated per comments
---
.../FirstComSat-CA.cfg | 3 +-
.../FirstMolniyaSat-CA.cfg | 2 +-
.../FirstNavSat-CA.cfg | 3 +-
.../Earth Observation 1/EOSCorona.cfg | 52 +++++++-------
.../Earth Observation 1/EOSCoronaRep.cfg | 67 +++++++++++--------
.../Earth Observation 1/EOSIRRad1.cfg | 4 +-
GameData/RP-1/Programs/Programs.cfg | 6 +-
7 files changed, 72 insertions(+), 65 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
index ca7cec7065b..f8fcf89697a 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
@@ -89,14 +89,13 @@ CONTRACT_TYPE
minPeA = 850000
minApA = 5000000
disableOnStateChange = true
- title = Achieve orbit with a minimum inclination of 40 degrees, a minimum perigee of 850 km, and an apogee of more than 5,000 km
PARAMETER
{
name = Duration
type = Duration
- duration = 30d
+ duration = 2m
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
index 509d39864e8..cc236c4d2bf 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
@@ -131,7 +131,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 30d
+ duration = 2m
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
index d030a19a882..0cde34d29b2 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
@@ -83,14 +83,13 @@ CONTRACT_TYPE
minPeA = 350000
maxEccentricity = 0.26
disableOnStateChange = true
- title = Achieve orbit with a minimum inclination of 50 degrees and a minimum perigee of 350 km
PARAMETER
{
name = Duration
type = Duration
- duration = 30d
+ duration = 2m
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
index 3773f1bc3c8..bdf73d3b1c0 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
@@ -5,9 +5,9 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images of Earth's surface from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals, but these types of satellites have numerous peaceful purposes as well, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.&br;&br;Real life examples: CORONA/Keyhole-1.
+ description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals, but these types of satellites have numerous peaceful purposes as well, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains a Basic Film Camera, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.&br;&br;Real life examples: Discoverer/Keyhole-1 (780kg, Thor-Agena)
- synopsis = Launch the first dedicated imagery satellite.
+ synopsis = Launch the first dedicated imagery satellites.
completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
@@ -77,7 +77,7 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Collect orbital imagery for 2 days and return it from orbit
+ title = Collect orbital imagery for 1 day and return it from orbit
PARAMETER
{
@@ -85,49 +85,45 @@ CONTRACT_TYPE
type = HasResource
resource = ElectricCharge
minQuantity = 1.0
- title = Craft must have Electric Charge for two days
+ title = Craft must have Electric Charge for one day
hideChildren = true
}
-
- PARAMETER
- {
- name = PartValidation
- type = PartValidation
-
- VALIDATE
- {
- MODULE
- {
- name = Experiment
- experimentID = RP0photos2
- }
- }
-
- title = Has orbital cameras
- }
PARAMETER
{
name = Orbit
type = Orbit
maxApA = 200000
- maxEccentricity = 0.035
minInclination = 80
maxInclination = 100
disableOnStateChange = true
- title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
+ title = Achieve a polar orbit no higher than 200km
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0photos1a
+ fractionComplete = 0.5
+ minSubjectsToComplete = 4
+ title = Collect at least 50% of available imagery from 4 biomes
}
PARAMETER
{
name = Duration
type = Duration
- duration = 2d
- preWaitText = Remain in orbit
- waitingText = Exposing film...
- completionText = Orbit period complete
- }
+ duration = 1d
+
+ preWaitText = Achieve desired orbit
+ waitingText = Collect imagery
+ completionText = Imagery collection complete
+ }
+
PARAMETER
{
name = ReturnHome
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
index a53d7f1638f..42aa67d3ed4 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface.Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing.
Number of Contracts Completed: @index / @maxCompletions
Historical example: CORONA/Keyhole-1.
+ description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface.Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.
Number of Contracts Completed: @index / @maxCompletions
Historical example: CORONA/Keyhole-4 (1,500kg, Thor-Agena)
synopsis = Launch dedicated imagery satellites for longer missions.
@@ -18,7 +18,7 @@ CONTRACT_TYPE
autoAccept = false
minExpiry = 0
maxExpiry = 0
- maxCompletions = 4
+ maxCompletions = 10
maxSimultaneous = 1
deadline = 0
@@ -65,12 +65,18 @@ CONTRACT_TYPE
RepeatCoronaSats_Count = $RepeatCoronaSats_Count + 1
}
}
+
+ DATA
+ {
+ type = int
+ requiredBiomes = @minSubjectsToComplete + @index
+ }
PARAMETER
{
name = Corona2
type = VesselParameterGroup
- title = High resolution imagery satellite
+ title = Higher resolution imagery satellite
define = Corona2
PARAMETER
@@ -94,45 +100,52 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Survive in orbit for 6 months and return science
-
+ title = Remain in orbit to gather imagery
+
PARAMETER
{
- name = PartValidation
- type = PartValidation
-
- VALIDATE
- {
- MODULE
- {
- name = Experiment
- experimentID = RP0photos2
- }
- }
-
- title = Has orbital cameras
+ name = HasPower
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 1.0
+ title = Craft must have Electric Charge for 4 days
+ hideChildren = true
}
-
+
PARAMETER
{
name = Orbit
type = Orbit
- maxApA = 200000
- maxEccentricity = 0.035
- minInclination = 80
+ minPeA = 200000
+ maxApA = 600000
+ maxEccentricity = 0.015 //based off KH-4 orbits
+ minInclination = 70
maxInclination = 100
disableOnStateChange = true
- title = Achieve a polar orbit no higher than 200km with less than 0.035 eccentricity
}
PARAMETER
{
name = Duration
type = Duration
- duration = 183d
- preWaitText = Remain in orbit
- waitingText = Exposing film...
- completionText = Orbit period complete
+
+ duration = 4d //reflects KH-4 mission length
+
+ preWaitText = Achieve desired orbit
+ waitingText = Collect imagery
+ completionText = Imagery collection complete
+ }
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0photos2
+ fractionComplete = 0.9
+ minSubjectsToComplete = 3
+ title = Collect 90% of the available imagery across @requiredBiomes biomes
}
PARAMETER
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
index 6561a091074..899df54eca1 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -135,7 +135,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Historical examples: TIROS-2 through TIROS-8.
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Historical examples: TIROS-2 through TIROS-8.
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
@@ -272,7 +272,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Historical example: TIROS-9.
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Historical example: TIROS-9.
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index 1fe51e5c3fd..dc2b4f9492e 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -316,8 +316,6 @@ RP0_PROGRAM
complete_contract = EOSCherenkov
complete_contract = EOSMagScan1
complete_contract = EOSIRRad1
- complete_contract = EOSIRRad2
- complete_contract = EOSIRRad3
complete_contract = EOSCorona
complete_contract = first_OrbitRecover
}
@@ -326,6 +324,8 @@ RP0_PROGRAM
{
EOSGrav1 = true
EOSCoronaRep = true
+ EOSIRRad2 = true
+ EOSIRRad3 = true
}
CONFIDENCECOSTS
@@ -343,7 +343,7 @@ RP0_PROGRAM
requirementsPrettyText = Complete Early Satellites program
objectivesPrettyText = Launch the first commercial-use satellites and build a satellite communication network.
nominalDurationYears = 3
- baseFunding = 280000
+ baseFunding = 420000
repDeltaOnCompletePerYearEarly = 110
repPenaltyPerYearLate = 110
slots = 1
From 84740425aab6f37d22b3a96cc78486a7e2044fab Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 23:03:53 -0500
Subject: [PATCH 089/109] Update EOSCoronaRep.cfg - corrected contract title
---
GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
index 42aa67d3ed4..157fb5103b6 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -1,7 +1,7 @@
CONTRACT_TYPE
{
name = EOSCoronaRep
- title = Earth Imaging Satellite, Long Duration
+ title = Improved Earth Imaging Satellite
group = EOS
agent = Federation Aeronautique Internationale
From 7ff56be742a19f3e3fea11ebec51e065b5afe295 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 26 Sep 2023 23:05:36 -0500
Subject: [PATCH 090/109] Update EOSCorona.cfg - tweaked contract description
---
GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
index bdf73d3b1c0..545106bca53 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals, but these types of satellites have numerous peaceful purposes as well, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains a Basic Film Camera, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.&br;&br;Real life examples: Discoverer/Keyhole-1 (780kg, Thor-Agena)
+ description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals. These types of satellites also have numerous peaceful purposes, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains a Basic Film Camera, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.&br;&br;Real life examples: Discoverer/Keyhole-1 (780kg, Thor-Agena)
synopsis = Launch the first dedicated imagery satellites.
From 70125c779cda07b9c00762ce65282ea2fa83f21b Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 00:01:57 -0500
Subject: [PATCH 091/109] Update EOSCoronaRep.cfg - Fixed? biome requirement
---
.../Contracts/Earth Observation 1/EOSCoronaRep.cfg | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
index 157fb5103b6..b2b6ca52d7a 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -66,12 +66,6 @@ CONTRACT_TYPE
}
}
- DATA
- {
- type = int
- requiredBiomes = @minSubjectsToComplete + @index
- }
-
PARAMETER
{
name = Corona2
@@ -144,8 +138,8 @@ CONTRACT_TYPE
situation = InSpaceLow
experiment = RP0photos2
fractionComplete = 0.9
- minSubjectsToComplete = 3
- title = Collect 90% of the available imagery across @requiredBiomes biomes
+ minSubjectsToComplete = 3 + @index
+ title = Collect 90% of the available imagery across @minSubjectsToComplete biomes
}
PARAMETER
From dc19b5fba6e26dfef67ec8e8a263f2c654ddd03b Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 09:11:11 -0700
Subject: [PATCH 092/109] Update EOSCoronaRep.cfg - updated completion req
math, lowered completions
This seems to work a little better. Start at 20% for 3 biomes, ramps up 10% and 1 biome per completion, ending at 10 biomes and 90%
---
.../RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
index b2b6ca52d7a..d4cb2effd34 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -18,7 +18,7 @@ CONTRACT_TYPE
autoAccept = false
minExpiry = 0
maxExpiry = 0
- maxCompletions = 10
+ maxCompletions = 8
maxSimultaneous = 1
deadline = 0
@@ -137,9 +137,9 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0photos2
- fractionComplete = 0.9
+ fractionComplete = 0.3 + @index * 0.1
minSubjectsToComplete = 3 + @index
- title = Collect 90% of the available imagery across @minSubjectsToComplete biomes
+ title = Collect @fractionComplete*100 % of the available imagery across @minSubjectsToComplete biomes
}
PARAMETER
From 4d4d64140377b7bb5d3d484bec8565a4f9449b4f Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 09:12:17 -0700
Subject: [PATCH 093/109] Update EOSCoronaRep.cfg - actually set it to what I
stated
---
GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
index d4cb2effd34..76adb76b566 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -137,7 +137,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0photos2
- fractionComplete = 0.3 + @index * 0.1
+ fractionComplete = 0.2 + @index * 0.1
minSubjectsToComplete = 3 + @index
title = Collect @fractionComplete*100 % of the available imagery across @minSubjectsToComplete biomes
}
From a39a5cc56d765bb30ddac1fcb4457f96e7b4ad00 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 09:19:17 -0700
Subject: [PATCH 094/109] Tweaked description wording
---
GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
index 545106bca53..908da232808 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals. These types of satellites also have numerous peaceful purposes, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains a Basic Film Camera, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.&br;&br;Real life examples: Discoverer/Keyhole-1 (780kg, Thor-Agena)
+ description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals. These types of satellites also have numerous peaceful purposes, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains Photography 1, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.&br;&br;Real life examples: Discoverer/Keyhole-1 (780kg, Thor-Agena)
synopsis = Launch the first dedicated imagery satellites.
@@ -117,7 +117,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 1d
+ duration = 1d //based on KH-1 mission length
preWaitText = Achieve desired orbit
waitingText = Collect imagery
From c004f83392014671962cd0faf949a0638992371d Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 09:57:18 -0700
Subject: [PATCH 095/109] Grammar, phrasing, units clean-up
---
.../Commercial Applications 1/EarlyMolniyaSat.cfg | 2 +-
.../Commercial Applications 1/EarlyNavNetwork4.cfg | 2 +-
.../Commercial Applications 1/EarlyNavSat-CA.cfg | 2 +-
.../Commercial Applications 1/FirstComSat-CA.cfg | 2 +-
.../Commercial Applications 1/FirstNavSat-CA.cfg | 2 +-
.../Contracts/Earth Observation 1/EOSCherenkov.cfg | 2 +-
.../RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg | 2 +-
.../Contracts/Earth Observation 1/EOSIRRad1.cfg | 13 ++++++-------
.../Contracts/Earth Observation 1/EOSMagScan1.cfg | 2 +-
9 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
index 7189b0550f9..8da9d1c0db6 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
@@ -4,7 +4,7 @@ CONTRACT_TYPE
title = Molniya Communications Satellite (Early)
group = CommApp
- description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Some customers want satellites that dwell longer over the higher latitudes using Molniya orbits. Launch a new communications satellite with the required specifications with the unique Molniya orbital parameters.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.Removal Condition: Completion of a Commercial Communications Satellite contract
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Some customers want satellites that dwell longer over the higher latitudes using Molniya orbits. Launch a new communications satellite with the required specifications with the unique Molniya orbital parameters.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
synopsis = Launch a customer communication satellite into a Molniya orbit.
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
index f4e12540420..24a2d260611 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = CommApp
- description = Program: Early Commercial Applications
Type: Required
The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudimentary satellite navigation network.&br;&br;Build a navigation network with four NavSats that provide more frequent revisit rates than the single previous satellite. Try to phase the orbits so that each satellite provides equal revisit times.&br;&br;NOTE: You may choose only the 3-satellite or 4-satellite contract.
+ description = Program: Early Commercial Applications
Type: Required
The previous launch of the first navigation satellite proved the theories that Doppler shift timing can be used to precisely locate a point or location on the surface of the Earth using satellites. Put that concept into operational use with the first rudimentary satellite navigation network.
Build a navigation network with four NavSats that provide more frequent revisit rates than the single previous satellite. Try to phase the orbits so that each satellite provides equal revisit times.
NOTE: You may choose only the 3-satellite or 4-satellite contract.
synopsis = Launch a 4-satellite navigation network
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
index 4beb0e90663..0b776bfec8a 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
@@ -4,7 +4,7 @@ CONTRACT_TYPE
title = Commercial Navigation Satellite (Early)
group = CommApp
- description = Program: Early Commercial Applications
Type: Optional
The First Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ description = Program: Early Commercial Applications
Type: Optional
The First Navigation Satellite contract proved that measuring signals from a satellite is an effective method for determining position data on the surface of the Earth. Expand on this capability to create the first rudimentary satellite-based precision location network. At least 3 satellites are required to locate a position on a sphere, with a fourth necessary to determine vertical position. Launch at least 4 more navigation satellites into polar orbits.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.
Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
genericDescription = Put a satellite with the required amount of navigation satellite payload into the desired orbit.
synopsis = Launch a Navigation Satellite for a customer.
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
index f8fcf89697a..bd7d1325497 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = CommApp
agent = Federation Aeronautique Internationale
- description = Program: Early Commercial Applications
Type: Required
Our communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
Historical example: Telstar 1 (78kg, Thor-Delta)
+ description = Program: Early Commercial Applications
Type: Required
Communications around the globe are limited to line of sight because of the curvature of Earth. If we can launch a communications satellite into orbit, we can use it to transmit information to the opposite side of the world.
Historical example: Telstar 1 (78kg, Thor-Delta)
synopsis = Launch the first communication satellite
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
index 0cde34d29b2..093d7bba68a 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = CommApp
agent = Federation Aeronautique Internationale
- description = Program: Early Commercial Applications
Type: Required
Through measuring the Doppler shift of radio signals transmitted from a satellite in a known orbit, it is possible for a receiver on the ground to establish their location, which would have many applications both civilian and military. To test the principle and develop receiver equipment, it is necessary to have a test navigational satellite in orbit. Be sure to include solar panels to generate power.
Historically, the first experiments in satellite navigation were made with Transit 1B (119 kg, Thor-Ablestar).
+ description = Program: Early Commercial Applications
Type: Required
Through measuring the Doppler shift of radio signals transmitted from a satellite in a known orbit, it is possible for a receiver on the ground to establish their location, which would have many applications both civilian and military. To test the principle and develop receiver equipment, it is necessary to have a test navigational satellite in orbit.
Historical example: Transit 1B (119 kg, Thor-Ablestar).
synopsis = Launch the first navigation satellite
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
index 896c5150077..ae6997bd9e6 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high-energy particles like neutrinos. &br;&br;Make sure your craft contains a Cherenkov Counter and returns 50% of the available science from High Earth Orbit. Science does not have to be collected in only 1 flight.&br;&br;Real life examples: Explorer 11 (37kg, Juno II)
+ description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high-energy particles like neutrinos.
Make sure your craft contains a Cherenkov Counter and return 50% of the available science from High Earth Orbit. Science does not have to be collected in only 1 flight.
Historical example: Explorer 11 (37kg, Juno II)
synopsis = Launch a scientific satellite into an elliptical orbit with Cherenkov Counter experiment.
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
index e746f89347d..74ec91c8509 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.&br;&br;Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 2-months worth of science.&br;&br;Historical example: ANNA 1B (161kg, Thor-Ablestar)
+ description = Program: Early Earth Observation Satellites
Type: Optional
In this program satellites have been launched to measure numerous types of experimental data, observing Earth and the surrounding space environment. Launch a new satellite to measure the gravimetric field of earth and its effect on orbiting satellites.
Make sure your craft contains an Orbital Perturbation experiment. Launch it into an inclined orbit and return 2-months worth of science.
Historical example: ANNA 1B (161kg, Thor-Ablestar)
synopsis = Launch the first dedicated geodetic satellite.
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
index 899df54eca1..1e3faa4caa8 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.&br;&br;Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.&br;&br;Historical example: TIROS-1 (120kg, Thor-Able)
+ description = Program: Early Earth Observation Satellites
Type: Required
Weather forecasting today would be impossible without the numerous weather satellites constantly observing our atmosphere from orbit. Launch the very first dedicated weather satellite to measure temperatures in the atmosphere and correlate those with real-time video.
Make sure your craft contains an Infrared Radiometer 1 experiment and an Early TV camera.
Historical example: TIROS-1 (120kg, Thor-Able)
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
@@ -131,11 +131,11 @@ CONTRACT_TYPE
CONTRACT_TYPE
{
name = EOSIRRad2
- title = Infrared Radiometry Satellite
+ title = Infrared Radiometry Satellite, Follow-On
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Historical examples: TIROS-2 through TIROS-8.
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Historical examples: TIROS-2 through TIROS-8.
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
@@ -228,7 +228,6 @@ CONTRACT_TYPE
maxEccentricity = 0.005
minInclination = 50
disableOnStateChange = true
- title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity and inclination of at least 50 degrees.
}
PARAMETER
@@ -258,7 +257,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0visibleImaging1
- fractionComplete = .7
+ fractionComplete = .75
title = Transmit corresponding video images from low orbit
}
}
@@ -268,11 +267,11 @@ CONTRACT_TYPE
CONTRACT_TYPE
{
name = EOSIRRad3
- title = Infrared Radiometry Satellite
+ title = Infrared Radiometry Satellite, Follow-On
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Historical example: TIROS-9.
+ description = Program: Early Earth Observation Satellites
Type: Optional
After the success of your first weather satellite, the US Weather Bureau wants additional satellites available for more timely weather observations with better coverage of Earth. Launch an additional weather satellite to fulfill the Weather Bureau's request.
<Make sure your craft contains an Infrared Radiometry 1 experiment and an Early TV camera. Science requirements can be met over multiple launches.
Historical example: TIROS-9.
synopsis = Launch the first weather satellite with the Infrared Radiometry experiment and an Early TV camera.
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
index 542f88e21aa..3be818c268f 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.&br;&br;Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 2-weeks worth of science from both Low and High Earth Orbit.&br;&br;Historical example: IMP-A (138kg, Thor-Delta)
+ description = Program: Early Earth Observation Satellites
Type: Required
Anyone that has ever used a compass is familiar with the magnetic fields that encapsulate Earth. Launch a satellite to better charaterize the strength and direction of the magnetic field, and determine how far into space its influence is felt.
Make sure your craft contains a Magnetic Scan experiment. Launch it into an elliptical orbit and return 2-weeks worth of science from both Low and High Earth Orbit.
Historical example: IMP-A (138kg, Thor-Delta)
synopsis = Launch the first dedicated magnetometry satellite.
From 2e8378dd90dab7e60abd77cde6aee8b5e0926d93 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 14:34:06 -0700
Subject: [PATCH 096/109] Added missing power requirement from first CA sats
---
.../FirstComSat-CA.cfg | 18 ++++++++++++++++++
.../FirstMolniyaSat-CA.cfg | 18 ++++++++++++++++++
.../FirstNavSat-CA.cfg | 18 ++++++++++++++++++
3 files changed, 54 insertions(+)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
index bd7d1325497..dd3bb002600 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
@@ -101,6 +101,24 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
+
+ PARAMETER
+ {
+ name = GenerateEC
+ title = Have positive energy balance
+ type = ResourceConsumption
+ resource = ElectricCharge
+ minRate = -1000000
+ maxRate = 0.00001
+ }
+
+ PARAMETER
+ {
+ name = HasEC
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 10
+ }
}
}
BEHAVIOUR
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
index cc236c4d2bf..62dcc0cc1e1 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
@@ -137,6 +137,24 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
+
+ PARAMETER
+ {
+ name = GenerateEC
+ title = Have positive energy balance
+ type = ResourceConsumption
+ resource = ElectricCharge
+ minRate = -1000000
+ maxRate = 0.00001
+ }
+
+ PARAMETER
+ {
+ name = HasEC
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 10
+ }
}
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
index 093d7bba68a..d572979c1ee 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
@@ -95,6 +95,24 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
+
+ PARAMETER
+ {
+ name = GenerateEC
+ title = Have positive energy balance
+ type = ResourceConsumption
+ resource = ElectricCharge
+ minRate = -1000000
+ maxRate = 0.00001
+ }
+
+ PARAMETER
+ {
+ name = HasEC
+ type = HasResource
+ resource = ElectricCharge
+ minQuantity = 10
+ }
}
}
BEHAVIOUR
From 04ba3a286133470ee085232ddb766f8d3f97674f Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 17:31:14 -0700
Subject: [PATCH 097/109] Removing CA power reqs per Discord comment
---
.../EarlyComSat-CA.cfg | 18 ------------------
.../EarlyMolniyaSat.cfg | 18 ------------------
.../EarlyNavSat-CA.cfg | 19 +------------------
.../FirstComSat-CA.cfg | 19 +------------------
.../FirstMolniyaSat-CA.cfg | 18 ------------------
.../FirstNavSat-CA.cfg | 18 ------------------
6 files changed, 2 insertions(+), 108 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
index b1dc73d9bbf..2b8e11ad47f 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
@@ -149,24 +149,6 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
-
- PARAMETER
- {
- name = GenerateEC
- title = Have positive energy balance
- type = ResourceConsumption
- resource = ElectricCharge
- minRate = -1000000
- maxRate = 0.00001
- }
-
- PARAMETER
- {
- name = HasEC
- type = HasResource
- resource = ElectricCharge
- minQuantity = 10
- }
}
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
index 8da9d1c0db6..dc52b467ca1 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
@@ -154,24 +154,6 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
-
- PARAMETER
- {
- name = GenerateEC
- title = Have positive energy balance
- type = ResourceConsumption
- resource = ElectricCharge
- minRate = -1000000
- maxRate = 0.00001
- }
-
- PARAMETER
- {
- name = HasEC
- type = HasResource
- resource = ElectricCharge
- minQuantity = 10
- }
}
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
index 0b776bfec8a..6f089832242 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
@@ -151,24 +151,7 @@ CONTRACT_TYPE
preWaitText = Check for stable orbit
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
- }
- PARAMETER
- {
- name = GenerateEC
- title = Have positive energy balance
- type = ResourceConsumption
- resource = ElectricCharge
- minRate = -1000000
- maxRate = 0.00001
- }
-
- PARAMETER
- {
- name = HasEC
- type = HasResource
- resource = ElectricCharge
- minQuantity = 10
- }
+ }
}
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
index dd3bb002600..6dc52fcc823 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
@@ -101,24 +101,7 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
-
- PARAMETER
- {
- name = GenerateEC
- title = Have positive energy balance
- type = ResourceConsumption
- resource = ElectricCharge
- minRate = -1000000
- maxRate = 0.00001
- }
-
- PARAMETER
- {
- name = HasEC
- type = HasResource
- resource = ElectricCharge
- minQuantity = 10
- }
+
}
}
BEHAVIOUR
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
index 62dcc0cc1e1..cc236c4d2bf 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
@@ -137,24 +137,6 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
-
- PARAMETER
- {
- name = GenerateEC
- title = Have positive energy balance
- type = ResourceConsumption
- resource = ElectricCharge
- minRate = -1000000
- maxRate = 0.00001
- }
-
- PARAMETER
- {
- name = HasEC
- type = HasResource
- resource = ElectricCharge
- minQuantity = 10
- }
}
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
index d572979c1ee..093d7bba68a 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstNavSat-CA.cfg
@@ -95,24 +95,6 @@ CONTRACT_TYPE
waitingText = Checking for stable orbit
completionText = Stable orbit: Confirmed
}
-
- PARAMETER
- {
- name = GenerateEC
- title = Have positive energy balance
- type = ResourceConsumption
- resource = ElectricCharge
- minRate = -1000000
- maxRate = 0.00001
- }
-
- PARAMETER
- {
- name = HasEC
- type = HasResource
- resource = ElectricCharge
- minQuantity = 10
- }
}
}
BEHAVIOUR
From 7d652fb182b693d788084cf951f8850f88b198f8 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 23:15:13 -0500
Subject: [PATCH 098/109] Update FirstTundraSat.cfg - set back to original
---
GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg b/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
index 2c1143d1b31..ba66260cf05 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/FirstTundraSat.cfg
@@ -7,7 +7,7 @@ CONTRACT_TYPE
tag = exclude_EarlySatellite
- description = Program: Targeted Satellites
Type: Required
A Tundra orbit is a highly elliptical geosynchronous orbit (note: not geostationary orbit) with a high inclination (usually near 63.4) and an orbital period of one sidereal day. A satellite placed in this orbit spends most of its time over a chosen area of the Earth, a phenomenon known as apogee dwell. The ground track of a satellite in a tundra orbit is a closed figure eight. An extreme version of this orbit puts the perigee around 1000 km and the apogee around 70,000 km. The orbit in this contract is actually using data from the Sirius satellites, the only known satellites that used a Tundra orbit.&br;&br;Place a satellite into a Tundra orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
+ description = Program: Targeted Satellites
Type: CAPSTONE
A Tundra orbit is a highly elliptical geosynchronous orbit (note: not geostationary orbit) with a high inclination (usually near 63.4) and an orbital period of one sidereal day. A satellite placed in this orbit spends most of its time over a chosen area of the Earth, a phenomenon known as apogee dwell. The ground track of a satellite in a tundra orbit is a closed figure eight. An extreme version of this orbit puts the perigee around 1000 km and the apogee around 70,000 km. The orbit in this contract is actually using data from the Sirius satellites, the only known satellites that used a Tundra orbit.&br;&br;Place a satellite into a Tundra orbit.&br;&br;There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
synopsis = Launch a satellite into a Tundra Orbit
@@ -52,7 +52,7 @@ CONTRACT_TYPE
{
name = CompleteContract
type = CompleteContract
- contractType = FirstComSat
+ contractType = FirstMolniyaSat
}
From 754c547cca62ad0e05dc773ae7eaa405d762e40a Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 23:16:42 -0500
Subject: [PATCH 099/109] Update RP_1__Bluedog_Model.json - corrected tech
level for Cherenkov
---
Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
index a6aaadd8bed..392f73d89c7 100644
--- a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
+++ b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
@@ -523,7 +523,7 @@
"category": "SCIENCE",
"info": "Cosmic Ray",
"year": "1963",
- "technology": "scienceHuman",
+ "technology": "basicScience",
"ro": true,
"orphan": false,
"rp0_conf": true,
@@ -536,4 +536,4 @@
"Instruments"
]
}
-]
\ No newline at end of file
+]
From ac8714cf9f96ea51277d676725da29dc5dc698de Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 21:57:59 -0700
Subject: [PATCH 100/109] Fixed Cherenkov tech node
---
GameData/RP-1/Tree/TREE-Parts.cfg | 2 +-
Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/GameData/RP-1/Tree/TREE-Parts.cfg b/GameData/RP-1/Tree/TREE-Parts.cfg
index ed94ffea294..46e25f194fa 100644
--- a/GameData/RP-1/Tree/TREE-Parts.cfg
+++ b/GameData/RP-1/Tree/TREE-Parts.cfg
@@ -39696,7 +39696,7 @@
}
@PART[RP0Cherenkov]:FOR[xxxRP0]
{
- %TechRequired = basicScience
+ %TechRequired = scienceHuman
%cost = 200
%entryCost =
RP0conf = true
diff --git a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
index 392f73d89c7..2cdab6e8481 100644
--- a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
+++ b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
@@ -523,7 +523,7 @@
"category": "SCIENCE",
"info": "Cosmic Ray",
"year": "1963",
- "technology": "basicScience",
+ "technology": "scienceHuman",
"ro": true,
"orphan": false,
"rp0_conf": true,
From 1e98e3ed9dcd3968ea9c4f05c5c0c64f15263d08 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 22:12:20 -0700
Subject: [PATCH 101/109] Missed science config
---
GameData/RP-1/Science/Configure.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GameData/RP-1/Science/Configure.cfg b/GameData/RP-1/Science/Configure.cfg
index 856e3c4b2ca..b0c55f4ada6 100644
--- a/GameData/RP-1/Science/Configure.cfg
+++ b/GameData/RP-1/Science/Configure.cfg
@@ -228,7 +228,7 @@
}
SETUP
{
- name = Radiation Detector 1.5
+ name = Cherenkov Detector 1
mass = 0.00055
cost = 58
tech = scienceHuman
From 7c285c5e3cfa76bcff28e1ac541b42ee519cb6c3 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Wed, 27 Sep 2023 22:54:57 -0700
Subject: [PATCH 102/109] Minor tweaks
---
.../Commercial Applications 1/EarlyMolniyaSat.cfg | 2 +-
.../Contracts/Earth Observation 1/EOSCosmicRay1.cfg | 2 +-
.../RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg | 10 +++++-----
GameData/RP-1/Tree/TREE-Parts.cfg | 2 +-
.../Parts Browser/data/RP_1__Bluedog_Model.json | 4 ++--
5 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
index dc52b467ca1..f1fa3a3e914 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
@@ -30,7 +30,7 @@ CONTRACT_TYPE
advanceFunds = 0
rewardFunds = 0
rewardScience = 0
- rewardReputation = Round(55 * Pow(@EarlyMolniya/Orbit/minPeA / 6000000, 0.5) * Pow((@EarlyMolniya/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
+ rewardReputation = Round(55 * Pow(@EarlyMolniya/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyMolniya/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
failureReputation = 0 // was @rewardReputation
failureFunds = 0
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
index 4bb172f026d..be4e969cac5 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
@@ -120,7 +120,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceHigh
experiment = RP0visibleImaging1
- fractionComplete = .5
+ fractionComplete = 0.5
title = Transmit video images from High Earth Orbit.
}
}
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
index 1e3faa4caa8..de09d6cb94c 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -111,7 +111,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0infraredRad1
- fractionComplete = .5
+ fractionComplete = 0.5
title = Transmit 50% of infrared weather data from low orbit
}
PARAMETER
@@ -121,7 +121,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0visibleImaging1
- fractionComplete = .5
+ fractionComplete = 0.5
title = Transmit corresponding video images from low orbit
}
}
@@ -247,7 +247,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0infraredRad1
- fractionComplete = .75
+ fractionComplete = 0.75
title = Transmit 75% of infrared weather data from low orbit
}
PARAMETER
@@ -257,7 +257,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0visibleImaging1
- fractionComplete = .75
+ fractionComplete = 0.75
title = Transmit corresponding video images from low orbit
}
}
@@ -395,7 +395,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0visibleImaging1
- fractionComplete = .9
+ fractionComplete = 0.9
title = Transmit 90% of corresponding video images from low orbit
}
}
diff --git a/GameData/RP-1/Tree/TREE-Parts.cfg b/GameData/RP-1/Tree/TREE-Parts.cfg
index 46e25f194fa..2b611dc6078 100644
--- a/GameData/RP-1/Tree/TREE-Parts.cfg
+++ b/GameData/RP-1/Tree/TREE-Parts.cfg
@@ -39698,7 +39698,7 @@
{
%TechRequired = scienceHuman
%cost = 200
- %entryCost =
+ %entryCost = 0
RP0conf = true
@description ^=:$: From RP-1 (Bluedog Model) mod
diff --git a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
index 2cdab6e8481..28ab803320c 100644
--- a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
+++ b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
@@ -519,7 +519,7 @@
"description": "",
"mod": "RP-1 (Bluedog Model)",
"cost": "200",
- "entry_cost": "",
+ "entry_cost": "0",
"category": "SCIENCE",
"info": "Cosmic Ray",
"year": "1963",
@@ -527,7 +527,7 @@
"ro": true,
"orphan": false,
"rp0_conf": true,
- "spacecraft": "",
+ "spacecraft": "CD-1",
"engine_config": "",
"upgrade": false,
"entry_cost_mods": "Cherenkov",
From 4661f8f2cdafdbabc09ff9afff1897c8843143ba Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Sat, 30 Sep 2023 21:42:18 -0700
Subject: [PATCH 103/109] Corrected CC errors
---
.../EarlyMolniyaSat.cfg | 2 +-
.../Earth Observation 1/EOSCoronaRep.cfg | 21 +++++++++++++++----
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
index f1fa3a3e914..05dde2cb3c6 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
@@ -30,7 +30,7 @@ CONTRACT_TYPE
advanceFunds = 0
rewardFunds = 0
rewardScience = 0
- rewardReputation = Round(55 * Pow(@EarlyMolniya/Orbit/minApA / 6000000, 0.5) * Pow((@EarlyMolniya/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
+ rewardReputation = Round(55 * Pow(@EarlyMolniya/ReachOrbit/minPeA / 6000000, 0.5) * Pow((@EarlyMolniya/HasComSatPayload/minQuantity / 325), 0.5) * @rewardFactor, 1)
failureReputation = 0 // was @rewardReputation
failureFunds = 0
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
index 76adb76b566..1a03ed494c1 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -46,13 +46,13 @@ CONTRACT_TYPE
{ name = CompleteContract
type = CompleteContract
contractType = EOSCorona
- title = Completed Earth Imaging Satellite
+ title = Completed Dedicated Earth Imaging Satellite
}
DATA
{
type = int
- index = $RepeatCoronaSats_Count + 0
+ index = $RepeatCoronaSats_Count
}
BEHAVIOUR
@@ -66,6 +66,19 @@ CONTRACT_TYPE
}
}
+ DATA
+ {
+ type = float
+ reqFraction = 0.2 + @/index * 0.1
+ }
+
+ DATA
+ {
+ type = int
+ reqBiomes = 3 + @/index
+ }
+
+ //************* PARAMETERS ***************
PARAMETER
{
name = Corona2
@@ -137,8 +150,8 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0photos2
- fractionComplete = 0.2 + @index * 0.1
- minSubjectsToComplete = 3 + @index
+ fractionComplete = @/reqFraction
+ minSubjectsToComplete = @/reqBiomes
title = Collect @fractionComplete*100 % of the available imagery across @minSubjectsToComplete biomes
}
From 3ef378d2ba31057fafefc265bda60b1d573ecff6 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Sun, 1 Oct 2023 22:55:52 -0700
Subject: [PATCH 104/109] "Final?" updates - EOS contracts adjusted, CC errors
fixed, formatted all text/descriptions
---
.../EarlyComSat-CA.cfg | 16 ++++++++++
.../EarlyNavNetwork3.cfg | 21 +++++++++----
.../EarlyNavNetwork4.cfg | 11 ++++++-
.../EarlyNavSat-CA.cfg | 16 ++++++++++
.../FirstComSat-CA.cfg | 2 +-
.../Earth Observation 1/EOSCherenkov.cfg | 10 +++++--
.../Earth Observation 1/EOSCorona.cfg | 30 +++++++++----------
.../Earth Observation 1/EOSCoronaRep.cfg | 15 +++++++---
.../Earth Observation 1/EOSCosmicRay1.cfg | 6 ++--
.../Earth Observation 1/EOSGrav1.cfg | 5 ++--
.../Earth Observation 1/EOSIRRad1.cfg | 5 ++--
.../Earth Observation 1/EOSMagScan1.cfg | 13 +++++---
.../Earth Satellites/EarlyComNetwork3.cfg | 8 +++++
.../Earth Satellites/EarlyComNetwork4.cfg | 7 +++++
GameData/RP-1/Programs/Programs.cfg | 2 +-
GameData/RP-1/Tree/ECM-Parts.cfg | 1 -
GameData/RP-1/Tree/TREE-Parts.cfg | 2 +-
.../data/RP_1__Bluedog_Model.json | 6 ++--
18 files changed, 129 insertions(+), 47 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
index 2b8e11ad47f..a377efda3d0 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyComSat-CA.cfg
@@ -51,6 +51,22 @@ CONTRACT_TYPE
title = Complete First Communication Satellite contract
}
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyComNetwork3
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyComNetwork4
+ invertRequirement = true
+ }
+
DATA
{
type = int
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
index ba7ad85e59a..db46f7fafad 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
@@ -36,20 +36,29 @@ CONTRACT_TYPE
REQUIREMENT
{
- name = ProgramActive
- type = ProgramActive
- program = EarlyCommApp
+ name = ProgramActive
+ type = ProgramActive
+ program = EarlyCommApp
}
REQUIREMENT
{
- name = CompleteContract
- type = CompleteContract
- contractType = FirstNavSat-CA
+ name = CompleteContract
+ type = CompleteContract
+ contractType = FirstNavSat-CA
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyNavSat-CA
+ invertRequirement = true
}
REQUIREMENT
{
+
name = CompleteContract
type = CompleteContract
contractType = EarlyNavNetwork4
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
index 24a2d260611..bec93d69f86 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
@@ -11,7 +11,7 @@ CONTRACT_TYPE
completedMessage = Congratulations! The network is up and transmitting, and our shakedown testing is complete!
- sortKey = 901
+ sortKey = 902
cancellable = true
declinable = true
@@ -51,6 +51,15 @@ CONTRACT_TYPE
REQUIREMENT
{
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyNavSat-CA
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+
name = CompleteContract
type = CompleteContract
contractType = EarlyNavNetwork3
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
index 6f089832242..f2ffbd1488c 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavSat-CA.cfg
@@ -51,6 +51,22 @@ CONTRACT_TYPE
title = Complete First Navigation Satellite contract
}
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyNavNetwork3
+ invertRequirement = true
+ }
+
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyNavNetwork4
+ invertRequirement = true
+ }
+
DATA
{
type = int
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
index 6dc52fcc823..879911da036 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstComSat-CA.cfg
@@ -87,7 +87,7 @@ CONTRACT_TYPE
type = Orbit
minInclination = 40
minPeA = 850000
- minApA = 5000000
+ minApA = 2500000
disableOnStateChange = true
PARAMETER
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
index ae6997bd9e6..4a877020d53 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCherenkov.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high-energy particles like neutrinos.
Make sure your craft contains a Cherenkov Counter and return 50% of the available science from High Earth Orbit. Science does not have to be collected in only 1 flight.
Historical example: Explorer 11 (37kg, Juno II)
+ description = Program: Early Earth Observation Satellites
Type: Required
Launch a satellite into an elliptical orbit with a new cosmic ray detector called a Cherenkov counter. This device is a different type of cosmic ray detector specifically calibrated for high-energy particles like neutrinos.
Make sure your craft contains a Cherenkov Counter and return 50% of the available science from High Earth Orbit. Science does not have to be collected in only 1 flight.
Historical example: Explorer 11 (37kg, Juno II)
synopsis = Launch a scientific satellite into an elliptical orbit with Cherenkov Counter experiment.
@@ -42,6 +42,12 @@ CONTRACT_TYPE
program = EarlyEOS
}
+ REQUIREMENT
+ { name = CompleteContract
+ type = CompleteContract
+ contractType = EOSCosmicRay1
+ title = Completed first cosmic ray satellite
+ }
PARAMETER
{
@@ -87,11 +93,11 @@ CONTRACT_TYPE
{
name = Orbit
type = Orbit
+ title = Orbit requirements
minEccentricity = 0.75
minPeA = 200000
maxPeA = 500000
disableOnStateChange = true
- title = Achieve orbit with a perigee between 200km and 500km and eccentricity of at least .75
}
PARAMETER
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
index 908da232808..0ae96f9d0c5 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
@@ -1,11 +1,11 @@
CONTRACT_TYPE
{
name = EOSCorona
- title = Earth Imaging Satellite
+ title = Dedicated Earth Imaging Satellite
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals. These types of satellites also have numerous peaceful purposes, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains Photography 1, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.&br;&br;Real life examples: Discoverer/Keyhole-1 (780kg, Thor-Agena)
+ description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals. These types of satellites also have numerous peaceful purposes, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains Photography 1, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.
Real life examples: Discoverer/Keyhole-1 (780kg, Thor-Agena)
synopsis = Launch the first dedicated imagery satellites.
@@ -97,19 +97,7 @@ CONTRACT_TYPE
minInclination = 80
maxInclination = 100
disableOnStateChange = true
- title = Achieve a polar orbit no higher than 200km
- }
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0photos1a
- fractionComplete = 0.5
- minSubjectsToComplete = 4
- title = Collect at least 50% of available imagery from 4 biomes
+ title = Orbit requirements
}
PARAMETER
@@ -123,6 +111,18 @@ CONTRACT_TYPE
waitingText = Collect imagery
completionText = Imagery collection complete
}
+
+ PARAMETER
+ {
+ name = RP1CollectScience
+ type = RP1CollectScience
+ targetBody = HomeWorld()
+ situation = InSpaceLow
+ experiment = RP0photos1
+ fractionComplete = 0.5
+ minSubjectsToComplete = 4
+ title = Collect at least 50% of available imagery from 4 biomes
+ }
PARAMETER
{
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
index 1a03ed494c1..4154dba58e9 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface.Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.
Number of Contracts Completed: @index / @maxCompletions
Historical example: CORONA/Keyhole-4 (1,500kg, Thor-Agena)
+ description = Program: Early Earth Observation Satellites
Type: Optional
With orbital imagery now a proven capability, send up a follow-on early-generation imagery satellite for a longer duration in orbit. This will allow the opportunity to collect far more data with repeat passes over the same points on the surface. Make sure your craft contains an Improved Film Camera, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.
Number of Contracts Completed: @index / @maxCompletions
Historical example: CORONA/Keyhole-4 (1,500kg, Thor-Agena)
synopsis = Launch dedicated imagery satellites for longer missions.
@@ -69,15 +69,21 @@ CONTRACT_TYPE
DATA
{
type = float
- reqFraction = 0.2 + @/index * 0.1
+ reqFraction = Round(0.2 + @index * 0.1, 0.1)
}
DATA
{
type = int
- reqBiomes = 3 + @/index
+ reqBiomes = 3 + @index
}
+ DATA
+ {
+ type = float
+ missionPercent = Round(@reqFraction * 100, 1.0)
+ }
+
//************* PARAMETERS ***************
PARAMETER
{
@@ -123,6 +129,7 @@ CONTRACT_TYPE
{
name = Orbit
type = Orbit
+ title = Orbit requirements
minPeA = 200000
maxApA = 600000
maxEccentricity = 0.015 //based off KH-4 orbits
@@ -152,7 +159,7 @@ CONTRACT_TYPE
experiment = RP0photos2
fractionComplete = @/reqFraction
minSubjectsToComplete = @/reqBiomes
- title = Collect @fractionComplete*100 % of the available imagery across @minSubjectsToComplete biomes
+ title = Collect @/missionPercent% of the available imagery across @minSubjectsToComplete biomes
}
PARAMETER
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
index be4e969cac5..455cd7383e8 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCosmicRay1.cfg
@@ -90,7 +90,7 @@ CONTRACT_TYPE
minApA = 36000000
minPeA = 200000
disableOnStateChange = true
- title = Achieve orbit with a minimum apogee of 36,000 km and a perigee higher than 200km.
+ title = Orbit requirements
}
PARAMETER
@@ -110,8 +110,8 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceHigh
experiment = RP0cosmicRay1
- fractionComplete = 0.5
- title = Transmit 50% of Cosmic Ray Science from High Earth Orbit.
+ fractionComplete = 0.25
+ title = Transmit 25% of Cosmic Ray Science from High Earth Orbit.
}
PARAMETER
{
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
index 74ec91c8509..0624d80d3b4 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSGrav1.cfg
@@ -89,11 +89,10 @@ CONTRACT_TYPE
type = Orbit
maxApA = 1200000
minPeA = 1000000
- minInclination = 48
- maxInclination = 52
+ minInclination = 50
maxEccentricity = 0.003
disableOnStateChange = true
- title = Achieve an inclined circular orbit with less than .003 eccentricity
+ title = Orbit requirements
}
PARAMETER
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
index de09d6cb94c..5b4b7c87cd0 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -91,7 +91,7 @@ CONTRACT_TYPE
minPeA = 500000
maxEccentricity = 0.005
disableOnStateChange = true
- title = Achieve orbit between 500km and 1,000km in altitude with no more than .005 eccentricity
+ title = Orbit requirements
}
PARAMETER
@@ -228,6 +228,7 @@ CONTRACT_TYPE
maxEccentricity = 0.005
minInclination = 50
disableOnStateChange = true
+ title = Orbit requirements
}
PARAMETER
@@ -365,7 +366,7 @@ CONTRACT_TYPE
minInclination = 85
maxInclination = 95
disableOnStateChange = true
- title = Achieve a polar orbit between 500km and 1,000km in altitude with no more than .005 eccentricity.
+ title = Orbit requirements
}
PARAMETER
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
index 3be818c268f..f96b31be36e 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSMagScan1.cfg
@@ -42,6 +42,12 @@ CONTRACT_TYPE
program = EarlyEOS
}
+ REQUIREMENT
+ { name = CompleteContract
+ type = CompleteContract
+ contractType = EOSCosmicRay1
+ title = Completed first cosmic ray satellite
+ }
PARAMETER
{
@@ -87,12 +93,11 @@ CONTRACT_TYPE
{
name = Orbit
type = Orbit
- maxPeA = 500000
- minApA = 36000000
+ minPeA = 3000000
maxApA = 250000000
minEccentricity = 0.75 //actual orbit was .89
disableOnStateChange = true
- title = Achieve an elliptical orbit with min periapsis of 500km and min apoapsis of 36,000km.
+ title = Orbit requirements
}
PARAMETER
@@ -123,7 +128,7 @@ CONTRACT_TYPE
situation = InSpaceHigh
fractionComplete = 0.5
experiment = RP0magScan1
- title = Transmit 50% of Magnetic Scan science from High Earth Orbit
+ title = Transmit 25% of Magnetic Scan science from High Earth Orbit
}
}
}
diff --git a/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork3.cfg b/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork3.cfg
index cf621440d38..6d025182cef 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork3.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork3.cfg
@@ -72,6 +72,14 @@ CONTRACT_TYPE
}
}
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyComSat-CA
+ invertRequirement = true
+ }
+
REQUIREMENT
{
name = CompleteContract
diff --git a/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork4.cfg b/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork4.cfg
index 88087abf642..fa23b485083 100644
--- a/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork4.cfg
+++ b/GameData/RP-1/Contracts/Earth Satellites/EarlyComNetwork4.cfg
@@ -76,6 +76,13 @@ CONTRACT_TYPE
}
}
+ REQUIREMENT
+ {
+ name = AcceptContract
+ type = AcceptContract
+ contractType = EarlyComSat-CA
+ invertRequirement = true
+ }
REQUIREMENT
{
diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg
index dc2b4f9492e..f08829c61a0 100644
--- a/GameData/RP-1/Programs/Programs.cfg
+++ b/GameData/RP-1/Programs/Programs.cfg
@@ -292,7 +292,7 @@ RP0_PROGRAM
{
name = EarlyEOS
title = Early Earth Observation Satellites
- description = Now that you have proven the ability to send satellites into orbit, the next step is to send them into more useful orbits with beneficial payloads. The goal of this program is to put satellites with different payload requirements into specific and more challenging orbits.
+ description = Now that you have proven the ability to send satellites into orbit, the next step is to send them into more useful orbits with beneficial payloads. This program will focus on satellites intended for observing the Earth and the local space environment around it, advancing scientific knowledge of not just physical processes within our atmosphere but also those in space that influence our lives here on Earth.
requirementsPrettyText = Complete Early Satellites program
objectivesPrettyText = Launch satellites to analyze weather, measure solar wind and cosmic rays, and determine the extent of the Magnetosphere.
nominalDurationYears = 3
diff --git a/GameData/RP-1/Tree/ECM-Parts.cfg b/GameData/RP-1/Tree/ECM-Parts.cfg
index b1a909f1420..3fe8fc61954 100644
--- a/GameData/RP-1/Tree/ECM-Parts.cfg
+++ b/GameData/RP-1/Tree/ECM-Parts.cfg
@@ -2236,5 +2236,4 @@
xmonkeyreptarx = Merlin1A
xndsport1x = NASADock
zerocockpit = 1
- RP0Cherenkov = Cherenkov
}
\ No newline at end of file
diff --git a/GameData/RP-1/Tree/TREE-Parts.cfg b/GameData/RP-1/Tree/TREE-Parts.cfg
index 2b611dc6078..7d8f145fdc3 100644
--- a/GameData/RP-1/Tree/TREE-Parts.cfg
+++ b/GameData/RP-1/Tree/TREE-Parts.cfg
@@ -39698,7 +39698,7 @@
{
%TechRequired = scienceHuman
%cost = 200
- %entryCost = 0
+ %entryCost = 2500
RP0conf = true
@description ^=:$: From RP-1 (Bluedog Model) mod
diff --git a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
index 28ab803320c..f2218567dd2 100644
--- a/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
+++ b/Source/Tech Tree/Parts Browser/data/RP_1__Bluedog_Model.json
@@ -519,7 +519,7 @@
"description": "",
"mod": "RP-1 (Bluedog Model)",
"cost": "200",
- "entry_cost": "0",
+ "entry_cost": "2500",
"category": "SCIENCE",
"info": "Cosmic Ray",
"year": "1963",
@@ -530,10 +530,10 @@
"spacecraft": "CD-1",
"engine_config": "",
"upgrade": false,
- "entry_cost_mods": "Cherenkov",
+ "entry_cost_mods": "",
"identical_part_name": "Cherenkov",
"module_tags": [
"Instruments"
]
}
-]
+]
\ No newline at end of file
From 7e2b9689569dbfcaabb3d3fae10f7a60bc26c27b Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Sun, 1 Oct 2023 23:00:17 -0700
Subject: [PATCH 105/109] Forgot to change it back to photos1a
---
GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
index 0ae96f9d0c5..497c430b9e9 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
@@ -118,7 +118,7 @@ CONTRACT_TYPE
type = RP1CollectScience
targetBody = HomeWorld()
situation = InSpaceLow
- experiment = RP0photos1
+ experiment = RP0photos1a
fractionComplete = 0.5
minSubjectsToComplete = 4
title = Collect at least 50% of available imagery from 4 biomes
From ab74210bfafec92f2d024aa7f9fc47503cda5cd4 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 3 Oct 2023 00:57:55 -0700
Subject: [PATCH 106/109] Updated IRRad completion requirements
---
.../Earth Observation 1/EOSIRRad1.cfg | 62 ++++++++++++-------
1 file changed, 38 insertions(+), 24 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
index 5b4b7c87cd0..291ebc055a7 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSIRRad1.cfg
@@ -218,7 +218,22 @@ CONTRACT_TYPE
title = Craft must have Electric Charge for 14 days
hideChildren = true
}
-
+ PARAMETER
+ {
+ name = PartValidation
+ type = PartValidation
+
+ VALIDATE
+ {
+ MODULE
+ {
+ name = Experiment
+ experimentID = RP0visibleImaging1
+ }
+ }
+ title = Carry an Early TV camera
+ }
+
PARAMETER
{
name = Orbit
@@ -249,17 +264,8 @@ CONTRACT_TYPE
situation = InSpaceLow
experiment = RP0infraredRad1
fractionComplete = 0.75
- title = Transmit 75% of infrared weather data from low orbit
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0visibleImaging1
- fractionComplete = 0.75
- title = Transmit corresponding video images from low orbit
+ minSubjectsToComplete = 4
+ title = Transmit 75% of LEO infrared radiometry data from at least 4 biomes
}
}
}
@@ -355,7 +361,22 @@ CONTRACT_TYPE
title = Craft must have Electric Charge for 30 days
hideChildren = true
}
-
+ PARAMETER
+ {
+ name = PartValidation
+ type = PartValidation
+
+ VALIDATE
+ {
+ MODULE
+ {
+ name = Experiment
+ experimentID = RP0visibleImaging1
+ }
+ }
+ title = Carry an Early TV camera
+ }
+
PARAMETER
{
name = Orbit
@@ -386,19 +407,12 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0infraredRad1
- fractionComplete = 1
- title = Transmit 100% of infrared weather data from low orbit
- }
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0visibleImaging1
fractionComplete = 0.9
- title = Transmit 90% of corresponding video images from low orbit
+ minSubjectsToComplete = 8
+ title = Transmit 90% of LEO infrared radiometry data from at least 8 biomes
}
+
+
}
}
}
From a3d5ecd857862511c08f1b2a50e30ae80ef72581 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 3 Oct 2023 01:39:11 -0700
Subject: [PATCH 107/109] Updated Corona completion requirements, fixed text
formatting
---
.../EarlyMolniyaSat.cfg | 2 +-
.../FirstMolniyaSat-CA.cfg | 2 +-
.../Contracts/Earth Observation 1/EOSCorona.cfg | 16 +++++++---------
3 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
index 05dde2cb3c6..4df3c7f20b7 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyMolniyaSat.cfg
@@ -4,7 +4,7 @@ CONTRACT_TYPE
title = Molniya Communications Satellite (Early)
group = CommApp
- description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Some customers want satellites that dwell longer over the higher latitudes using Molniya orbits. Launch a new communications satellite with the required specifications with the unique Molniya orbital parameters.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
+ description = Program: Early Commercial Applications
Type: Optional
Now that satellite communications technology has been proven, launch more capable satellites to expand communication coverage further around Earth. Some customers want satellites that dwell longer over the higher latitudes using Molniya orbits. Launch a new communications satellite with the required specifications with the unique Molniya orbital parameters.
NOTE: The satellite will be destroyed upon completion of the contract. This simulates transfer of the payload back to the customer.
The reward of this contract will slowly increase over time but will be reset to 0 after each completion.&br;Current reward is at @rewardFactorPercent % of its nominal value. Elapsed/Expected Days: @elapsedDays / @RP0:expectedDays_EarlyComSat
Number of Contracts Completed: @index / unlimited
genericDescription = Put a satellite with the required amount of communications satellite payload into the desired orbit.
synopsis = Launch a customer communication satellite into a Molniya orbit.
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
index cc236c4d2bf..2372836fd7c 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/FirstMolniyaSat-CA.cfg
@@ -5,7 +5,7 @@ CONTRACT_TYPE
group = CommApp
agent = Federation Aeronautique Internationale
- description = Program: Early Commercial ApplicationsType: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.
There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
Historical example: Molniya 1-1 (1,600kg, Molniya)
+ description = Program: Early Commercial Applications
Type: Required
A Molniya orbit is a type of highly elliptical orbit with an inclination of 63.4 degrees, an argument of perigee of -90 degrees, and an orbital period of one half of a sidereal day. Place a satellite into a Molniya orbit.
There will be an orbit showing in the map view and tracking station. You do not have to place the satellite into this orbit, but it is instead meant to show you where your perigee and apogee should approximately be located, but more importantly, it shows the proper shape of the orbit.
Historical example: Molniya 1-1 (1,600kg, Molniya)
synopsis = Launch a satellite into a Molniya orbit
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
index 497c430b9e9..6a3c2bd7fca 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCorona.cfg
@@ -5,9 +5,9 @@ CONTRACT_TYPE
group = EOS
agent = Federation Aeronautique Internationale
- description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals. These types of satellites also have numerous peaceful purposes, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains Photography 1, and a system to return the film canister for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.
Real life examples: Discoverer/Keyhole-1 (780kg, Thor-Agena)
+ description = Program: Early Earth Observation Satellites
Type: Required
Taking photographic images from space, with a powerful enough lens, can provide highly detailed information about many things. When used for intelligence purposes, an eye in the sky is an invaluable tool for gathering information about geopolitical rivals. These types of satellites also have numerous peaceful purposes, including crop monitoring, observing deforestation, and providing indicators for areas requiring humanitarian aid. Make sure your craft contains an Early Film Camera, and a system to return the film for processing. Collection of all available science will require multiple launches due to film storage limitations onboard the vehicle.
Real life examples: Discoverer/Keyhole-1 (780kg, Thor-Agena)
- synopsis = Launch the first dedicated imagery satellites.
+ synopsis = Launch the first dedicated imagery satellite.
completedMessage = Well done! Never before has so much of the Earth been photographed at one time. This new capability will change the way the world is viewed forever.
@@ -77,7 +77,7 @@ CONTRACT_TYPE
{
name = OrbitSequence
type = Sequence
- title = Collect orbital imagery for 1 day and return it from orbit
+ title = Collect imagery from orbit
PARAMETER
{
@@ -85,7 +85,7 @@ CONTRACT_TYPE
type = HasResource
resource = ElectricCharge
minQuantity = 1.0
- title = Craft must have Electric Charge for one day
+ title = Craft must have Electric Charge for one hour
hideChildren = true
}
@@ -94,7 +94,7 @@ CONTRACT_TYPE
name = Orbit
type = Orbit
maxApA = 200000
- minInclination = 80
+ minInclination = 70
maxInclination = 100
disableOnStateChange = true
title = Orbit requirements
@@ -105,7 +105,7 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 1d //based on KH-1 mission length
+ duration = 1h
preWaitText = Achieve desired orbit
waitingText = Collect imagery
@@ -119,9 +119,7 @@ CONTRACT_TYPE
targetBody = HomeWorld()
situation = InSpaceLow
experiment = RP0photos1a
- fractionComplete = 0.5
- minSubjectsToComplete = 4
- title = Collect at least 50% of available imagery from 4 biomes
+ title = Collect a full reel of imagery from orbit
}
PARAMETER
From 1d7e65882aac2f2edc7ddda5c62acdff19806b7b Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 3 Oct 2023 01:50:23 -0700
Subject: [PATCH 108/109] Corrected resource req, min quantity
---
.../EarlyNavNetwork3.cfg | 14 ++++++-------
.../EarlyNavNetwork4.cfg | 20 +++++++++----------
2 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
index db46f7fafad..7b11d75b948 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork3.cfg
@@ -109,7 +109,7 @@ CONTRACT_TYPE
name = HasNavSatPayload
type = HasResource
resource = NavSatPayload
- minQuantity = 49.9
+ minQuantity = 50
title = Have a NavSatPayload of at least 50 units on the craft
disableOnStateChange = false
}
@@ -153,9 +153,9 @@ CONTRACT_TYPE
{
name = HasNavSatPayload
type = HasResource
- resource = ComSatPayload
- minQuantity = 49.9
- title = Have a ComSatPayload of at least 50 units on the craft
+ resource = NavSatPayload
+ minQuantity = 50
+ title = Have a NavSatPayload of at least 50 units on the craft
disableOnStateChange = false
}
@@ -198,9 +198,9 @@ CONTRACT_TYPE
{
name = HasNavSatPayload
type = HasResource
- resource = ComSatPayload
- minQuantity = 49.9
- title = Have a ComSatPayload of at least 50 units on the craft
+ resource = NavSatPayload
+ minQuantity = 50
+ title = Have a NavSatPayload of at least 50 units on the craft
disableOnStateChange = false
}
diff --git a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
index bec93d69f86..d428ef2ec98 100644
--- a/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
+++ b/GameData/RP-1/Contracts/Commercial Applications 1/EarlyNavNetwork4.cfg
@@ -116,7 +116,7 @@ CONTRACT_TYPE
name = HasNavSatPayload
type = HasResource
resource = NavSatPayload
- minQuantity = 49.9
+ minQuantity = 50
title = Have a NavSatPayload of at least 50 units on the craft
disableOnStateChange = false
}
@@ -166,9 +166,9 @@ CONTRACT_TYPE
{
name = HasNavSatPayload
type = HasResource
- resource = ComSatPayload
- minQuantity = 49.9
- title = Have a ComSatPayload of at least 50 units on the craft
+ resource = NavSatPayload
+ minQuantity = 50
+ title = Have a NavSatPayload of at least 50 units on the craft
disableOnStateChange = false
}
@@ -217,9 +217,9 @@ CONTRACT_TYPE
{
name = HasNavSatPayload
type = HasResource
- resource = ComSatPayload
- minQuantity = 49.9
- title = Have a ComSatPayload of at least 50 units on the craft
+ resource = NavSatPayload
+ minQuantity = 50
+ title = Have a NavSatPayload of at least 50 units on the craft
disableOnStateChange = false
}
@@ -263,9 +263,9 @@ CONTRACT_TYPE
{
name = HasNavSatPayload
type = HasResource
- resource = ComSatPayload
- minQuantity = 49.9
- title = Have a ComSatPayload of at least 50 units on the craft
+ resource = NavSatPayload
+ minQuantity = 50
+ title = Have a NavSatPayload of at least 50 units on the craft
disableOnStateChange = false
}
From 02db95fd9c684ec00e231ed5b3df620560007ac5 Mon Sep 17 00:00:00 2001
From: SierraHotel84 <141287350+SierraHotel84@users.noreply.github.com>
Date: Tue, 3 Oct 2023 02:16:46 -0700
Subject: [PATCH 109/109] Updated CoronaRep completion requirements
---
.../Earth Observation 1/EOSCoronaRep.cfg | 67 +++++++------------
1 file changed, 24 insertions(+), 43 deletions(-)
diff --git a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
index 4154dba58e9..afe98a02cc8 100644
--- a/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
+++ b/GameData/RP-1/Contracts/Earth Observation 1/EOSCoronaRep.cfg
@@ -65,24 +65,6 @@ CONTRACT_TYPE
RepeatCoronaSats_Count = $RepeatCoronaSats_Count + 1
}
}
-
- DATA
- {
- type = float
- reqFraction = Round(0.2 + @index * 0.1, 0.1)
- }
-
- DATA
- {
- type = int
- reqBiomes = 3 + @index
- }
-
- DATA
- {
- type = float
- missionPercent = Round(@reqFraction * 100, 1.0)
- }
//************* PARAMETERS ***************
PARAMETER
@@ -108,31 +90,45 @@ CONTRACT_TYPE
title = Uncrewed
hideChildren = true
}
-
+
PARAMETER
{
name = OrbitSequence
type = Sequence
title = Remain in orbit to gather imagery
-
+
PARAMETER
{
name = HasPower
type = HasResource
resource = ElectricCharge
minQuantity = 1.0
- title = Craft must have Electric Charge for 4 days
+ title = Carry Electric Charge for 2 days
hideChildren = true
}
-
+
+ PARAMETER
+ {
+ name = PartValidation
+ type = PartValidation
+
+ VALIDATE
+ {
+ MODULE
+ {
+ name = Experiment
+ experimentID = RP0photos2
+ }
+ }
+ title = Carry an Improved Film Camera
+ }
PARAMETER
{
name = Orbit
type = Orbit
title = Orbit requirements
- minPeA = 200000
- maxApA = 600000
- maxEccentricity = 0.015 //based off KH-4 orbits
+ maxApA = 445000
+ maxEccentricity = 0.035
minInclination = 70
maxInclination = 100
disableOnStateChange = true
@@ -143,34 +139,19 @@ CONTRACT_TYPE
name = Duration
type = Duration
- duration = 4d //reflects KH-4 mission length
+ duration = 2d //reflects KH-4 mission length
preWaitText = Achieve desired orbit
- waitingText = Collect imagery
+ waitingText = Commencing collection
completionText = Imagery collection complete
}
-
- PARAMETER
- {
- name = RP1CollectScience
- type = RP1CollectScience
- targetBody = HomeWorld()
- situation = InSpaceLow
- experiment = RP0photos2
- fractionComplete = @/reqFraction
- minSubjectsToComplete = @/reqBiomes
- title = Collect @/missionPercent% of the available imagery across @minSubjectsToComplete biomes
- }
-
+
PARAMETER
{
name = ReturnHome
type = RP1ReturnHome
title = Return the film for processing
- hideChildren = true
- completeInSequence = true
}
}
-
}
}