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