// Contract for setting up the initial Kerbin network. // Author: nightingale CONTRACT_TYPE:NEEDS[RemoteTech] { name = RT_KerbinRelay sortKey = 00.00.FirstRelay title = Create a network for @targetBody (3 satellites) description = 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 if we have any hope of truly exploring @targetBody.Children().First() and beyond. synopsis = Build a communication network with three commsats that has continuous connectivity to mission control.\n\nAlso, make sure to only accept either the three or four satellite version of this contract (it's impossible to complete both). completedMessage = The network is up and transmitting, and our shake-out testing is complete! notes = A three satellite network must have a minimum periapsis of @/CommSat1/Orbit/minPeA.Print() m. Note that this is the bare minimum numbers to have visibility, it is recommended to use higher orbits to give a larger margin of error. group = RemoteTech // Level 2 prestige prestige = Significant // This is definitely a Kerbin contract targetBody = HomeWorld() // Always offered by CommSat Group agent = Communication Satellite Group // Can only do this contract once maxCompletions = 1 // Contract rewards rewardReputation = 10.0 rewardFunds = @advanceFunds * 3.0 advanceFunds = 60000.0 PARAMETER { name = CommSat1 type = VesselParameterGroup define = CommSat I disableOnStateChange = false PARAMETER { name = KSCConnectivity type = KSCConnectivity } PARAMETER { name = IsNotVessel type = IsNotVessel vessel = CommSat II } PARAMETER { name = IsNotVessel type = IsNotVessel vessel = CommSat III } PARAMETER { name = Orbit type = Orbit // Minimum distance to have line of sight for 3 satellites for Kerbin. minPeA = @/targetBody.Radius() // Pretty close to circular maxEccentricity = 0.004 // Pretty close to equatorial maxInclination = 1 } } PARAMETER { name = CommSat2 type = VesselParameterGroup define = CommSat II disableOnStateChange = false PARAMETER { name = VesselConnectivity type = VesselConnectivity vessel = CommSat I } PARAMETER { name = IsNotVessel type = IsNotVessel vessel = CommSat III } PARAMETER { name = KSCConnectivity type = KSCConnectivity } PARAMETER { name = Orbit type = Orbit // Minimum distance to have line of sight for 3 satellites for Kerbin. minPeA = @/targetBody.Radius() // Pretty close to circular maxEccentricity = 0.004 // Pretty close to equatorial maxInclination = 1 } } PARAMETER { name = CommSat3 type = VesselParameterGroup define = CommSat III disableOnStateChange = false PARAMETER { name = IsNotVessel type = IsNotVessel vessel = CommSat I } PARAMETER { name = VesselConnectivity type = VesselConnectivity vessel = CommSat II } PARAMETER { name = KSCConnectivity type = KSCConnectivity } PARAMETER { name = Orbit type = Orbit // Minimum distance to have line of sight for 3 satellites for Kerbin. minPeA = @/targetBody.Radius() // Pretty close to circular maxEccentricity = 0.004 // Pretty close to equatorial maxInclination = 1 } } PARAMETER { name = Duration type = Duration duration = 2d preWaitText = Testing time after network up waitingText = Performing shake-out testing completionText = Shake-out testing completed } REQUIREMENT { name = CelestialBodyCoverage type = CelestialBodyCoverage minCoverage = 0.0 maxCoverage = 0.6 } REQUIREMENT { name = PartModuleTypeUnlocked type = PartModuleTypeUnlocked partModuleType = Antenna partModuleType = Generator } REQUIREMENT { name = AcceptContract type = AcceptContract invertRequirement = true contractType = RT_KerbinRelay_4sat } REQUIREMENT { name = CompleteContract type = CompleteContract invertRequirement = true contractType = RT_KerbinRelay_4sat } }