diff --git a/GameData/RP-1/Contracts/Great Observatories/GOCrewedServicing.cfg b/GameData/RP-1/Contracts/Great Observatories/GOCrewedServicing.cfg new file mode 100644 index 00000000000..faa215c0b15 --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOCrewedServicing.cfg @@ -0,0 +1,195 @@ +CONTRACT_TYPE +{ + name = GOCrewedServicing + title = @/targetVessel1 Crewed Servicing Mission + genericTitle = Space Telescope Crewed Servicing Mission + + group = Great Observatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: Required


One of our space telescopes is in need of component repairs and upgrades to continue operating optimally. Either launch a new crewed spacecraft or dock the telescope to a space station to allow crew to service it. + + synopsis = Send a crew to dock with and service instrumentation on the designated craft + + completedMessage = Mission success! The upgraded instrumentation is already producing scientific data. + + // sortKey = 1503 + + cancellable = true + declinable = true + autoAccept = false + minExpiry = 0 + maxExpiry = 0 + maxCompletions = 1 + maxSimultaneous = 1 + deadline = 0 + + targetBody = HomeWorld() + + prestige = Trivial // 1.0x + advanceFunds = 0 + rewardScience = 0 + rewardReputation = 250 + rewardFunds = 0 + failureReputation = 0 // was @rewardReputation + failureFunds = 0 + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = GreatObservatories + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOLargeSpaceTelescope + } + + REQUIREMENT + { + name = AtLeast + type = AtLeast + count = 2 + + REQUIREMENT + { + name = CompleteContract1 + type = CompleteContract + contractType = GOHeavySpaceTelescope + } + + REQUIREMENT + { + name = CompleteContract2 + type = CompleteContract + contractType = GOEllipticalSpaceTelescope + } + + REQUIREMENT + { + name = CompleteContract3 + type = CompleteContract + contractType = GOInfraredSpaceObservatory + } + + REQUIREMENT + { + name = CompleteContract4 + type = CompleteContract + contractType = GOFirstInfraredSpaceTelescope + } + } + + // ************ DATA ************ + + DATA + { + type = Vessel + requiredValue = true + targetVessel1 = LSTcraft // this is the craft that completed the Large Space Telescope contract + hidden = true + } + + BEHAVIOUR + { + name = ServicingReset + type = Expression + + CONTRACT_COMPLETED_SUCCESS + { + TelescopeLastServiced = @/targetVessel1 + FirstServicingTime = UniversalTime() + } + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = LSTServicingMission + type = VesselParameterGroup + title = Dock a spacecraft with a servicing crew to the @/targetvessel1 + genericTitle = Dock a spacecraft with a servicing crew to the space telescope + + PARAMETER + { + name = Crewmembers + type = HasCrew + minCrew = 3 + crewOnly = true + title = Bring a minimum crew of @minCrew + hideChildren = true + } + + PARAMETER + { + name = HasResource + type = HasResource + resource = ResearchPayload + minQuantity = 600 // WFPC2 + COSTAR was 571 kg + title = Bring @minQuantity units of ResearchPayload as replacement instruments + } + + PARAMETER + { + name = DockingSequence + type = Sequence + title = Dock with the @/targetVessel1 for 4 days to allow your engineers to service its instrumentation + genericTitle = Dock with the space telescope for 4 days to allow your engineers to service its instrumentation + + PARAMETER + { + name = Crewmembers + type = HasCrew + trait = Engineer + minCrew = 2 + crewOnly = true + title = Have at least 2 engineers on board to conduct servicing + hideChildren = true + } + PARAMETER + { + name = DockWithTelescope + type = Docking + vessel = @/targetVessel1 + title = Dock with @/targetVessel1 + genericTitle = Dock with the space telescope + } + + PARAMETER + { + name = Duration + type = Duration + duration = 4d + preWaitText = Service the space telescope + waitingText = Servicing instrumentation... + completionText = Servicing: Complete + disableOnStateChange = true + } + + } + + PARAMETER + { + name = ReturnHome + type = RP1ReturnHome + title = Undock and return the crew home safely + hideChildren = true + completeInSequence = true + } + + PARAMETER + { + name = RecoverKerbal + type = RecoverKerbal + } + + + } + +} diff --git a/GameData/RP-1/Contracts/Great Observatories/GOCrewedServicingRepeat.cfg b/GameData/RP-1/Contracts/Great Observatories/GOCrewedServicingRepeat.cfg new file mode 100644 index 00000000000..6890ed9fa5b --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOCrewedServicingRepeat.cfg @@ -0,0 +1,202 @@ +CONTRACT_TYPE +{ + name = GOCrewedServicingRepeat + title = @/targetVessel1 Crewed Servicing Mission + genericTitle = Space Telescope Crewed Servicing Mission + + group = Great Observatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: Required


Another one of our space telescopes is in need of component repairs and upgrades to continue operating optimally. Either launch a new crewed spacecraft or dock the telescope to a space station to allow crew to service it. + + synopsis = Send a crew to dock with and service instrumentation on the designated space telescope + + completedMessage = Mission success! The upgraded instrumentation is already producing scientific data. + + // sortKey = 1503 + + cancellable = true + declinable = true + autoAccept = false + minExpiry = 0 + maxExpiry = 0 + maxCompletions = 3 + maxSimultaneous = 1 + deadline = 0 + + targetBody = HomeWorld() + + prestige = Trivial // 1.0x + advanceFunds = 0 + rewardScience = 0 + rewardReputation = 200 + rewardFunds = 0 + failureReputation = 0 // was @rewardReputation + failureFunds = 0 + + // ************ REQUIREMENTS ************ + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = GreatObservatories + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOLargeSpaceTelescope + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOCrewedServicing + } + + REQUIREMENT + { + name = Expression + type = Expression + title = Must have been 90 days since completing the first crewed servicing mission + expression = $FirstServicingTime - $GOCurrentTime > 7776000 + } + + // ************ DATA ************ + + DATA + { + type = Vessel + requiredValue = true + targetVessel1 = $EarthST.Where(v => v.FreeDockingPorts()>0 && v.Vessel() != @index).Random() + title = Target must be a previously launched space telescope + hidden = true + } + + DATA + { + type = Vessel + index = $TelescopeLastServiced + } + + BEHAVIOUR + { + name = ServicingReset + type = Expression + + CONTRACT_COMPLETED_SUCCESS + { + TelescopeLastServiced = @/targetVessel1 + } + } + + BEHAVIOUR + { + name = ServicingDelayCheck + type = Expression + + CONTRACT_OFFERED + { + type = double + GOCurrentTime = UniversalTime() + } + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = LSTServicingMission + type = VesselParameterGroup + title = Dock a spacecraft with a servicing crew to the @/targetvessel1 + genericTitle = Dock a spacecraft with a servicing crew to the space telescope + + PARAMETER + { + name = Crewmembers + type = HasCrew + minCrew = 3 + crewOnly = true + title = Bring a minimum crew of @minCrew + hideChildren = true + } + + PARAMETER + { + name = HasDockingPort + type = PartValidation + partModule = ModuleDockingNode + title = Vessel must have a docking port + hideChildren = true + } + + PARAMETER + { + name = HasResource + type = HasResource + resource = ResearchPayload + inQuantity = 600 // WFPC2 + COSTAR was 571 kg + title = Bring @minQuantity units of ResearchPayload as replacement instruments + } + + PARAMETER + { + name = DockingSequence + type = Sequence + title = Dock with @/targetVessel1 for 4 days to allow your engineers to service its instrumentation + genericTitle = Dock with the space telescope for 4 days to allow your engineers to service its instrumentation + + PARAMETER + { + name = Crewmembers + type = HasCrew + trait = Engineer + minCrew = 2 + crewOnly = true + title = Have at least 2 engineers on board + hideChildren = true + } + + PARAMETER + { + name = DockWithTelescope + type = Docking + vessel = @/targetVessel1 + title = Dock with @/targetVessel1 + genericTitle = Dock with the space telescope + } + + PARAMETER + { + name = Duration + type = Duration + duration = 4d + preWaitText = Service the space telescope + waitingText = Servicing instrumentation... + completionText = Servicing: Complete + disableOnStateChange = true + } + + } + + PARAMETER + { + name = ReturnHome + type = RP1ReturnHome + title = Return the crew home safely + hideChildren = true + completeInSequence = true + } + + PARAMETER + { + name = RecoverKerbal + type = RecoverKerbal + } + + + } + +} diff --git a/GameData/RP-1/Contracts/Great Observatories/GOEarthTrailingInfraredTelescope.cfg b/GameData/RP-1/Contracts/Great Observatories/GOEarthTrailingInfraredTelescope.cfg new file mode 100644 index 00000000000..0db91d0a0a5 --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOEarthTrailingInfraredTelescope.cfg @@ -0,0 +1,136 @@ +CONTRACT_TYPE +{ + name = GOEarthTrailingInfraredTelescope + title = Interplanetary Space Infrared Telescope Facility + group = GreatObservatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: Required


With the success of the Infrared Space Observatory, scientists are eager for a more advanced, higher-precision follow-up. Launch an infrared space telescope to a cooler Earth-trailing orbit to study exoplanets, space dust, and spectra of various objects.

Make sure your craft arrives at a solar orbit that slowly moves away from Earth with an Infrared Space Telescope 3 experiment and enough liquid helium coolant to run it.

Historical example: Spitzer Space Telescope. + + synopsis = Launch the first infrared space telescope to solar orbit, and return at least 30 days of science observations. + + completedMessage = Success! The spacecraft has begun returning some of the first detailed observations of exoplanets. + + + + 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 = 220 + failureReputation = 0 // was @rewardReputation + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = GreatObservatories + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOInfraredSpaceObservatory + title = Completed Infrared Space Observatory + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = SpaceTelescopeInfrared + type = VesselParameterGroup + title = Infrared space observatory + define = InterplanetaryISTcraft + defineList = InfraST + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = OrbitSequence + type = Sequence + title = Achieve a solar orbit with a period slightly longer than Earth's (at least 366 days), and survive for 30 days. + + PARAMETER + { + name = HasPower + type = HasResource + resource = ElectricCharge + minQuantity = 1.0 + title = Craft must have Electric Charge for 30 days + hideChildren = true + } + + PARAMETER + { + name = PartValidation + type = PartValidation + disableOnStateChange = true + + VALIDATE + { + MODULE + { + name = Experiment + experiment_id = RP0InfraredSpaceTelescope3 + } + } + title = Craft must have an Advanced Infrared Space Telescope + } + + PARAMETER + { + name = Orbit + type = Orbit + targetBody = Sun + minPeriod = 366d + minPeA = 149000000000 + disableOnStateChange = true + title = Orbit requirements + } + + PARAMETER + { + name = Duration + type = Duration + duration = 30d + preWaitText = Check for stable orbit + waitingText = Checking for stable orbit + completionText = Stable orbit: Confirmed + } + } + PARAMETER + { + name = CollectIST + type = RP1CollectScience + targetBody = Sun + situation = InSpaceHigh + experiment = RP0InfraredSpaceTelescope3 + fractionComplete = 0.0041 + title = Transmit 30 days of science imagery + } + } +} diff --git a/GameData/RP-1/Contracts/Great Observatories/GOEllipticalSpaceTelescope.cfg b/GameData/RP-1/Contracts/Great Observatories/GOEllipticalSpaceTelescope.cfg new file mode 100644 index 00000000000..4be30adc5f6 --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOEllipticalSpaceTelescope.cfg @@ -0,0 +1,137 @@ +CONTRACT_TYPE +{ + name = GOEllipticalSpaceTelescope + title = Advanced X-ray Astrophysics Facility + group = GreatObservatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: Optional


With the success of the Large Space Telescope, planning began for a follow-up to study X-rays. Launch a space telescope into a highly elliptical orbit.

Make sure your craft contains a Space Telescope 2 experiment and has a high enough apoapsis and periapsis.

Historical example: Chandra X-ray Observatory. + + synopsis = Launch a space telescope into a highly elliptical orbit, and return the first 30 days of science observations. + + completedMessage = Congratulations! The first image has revealed the compact object, probably a neutron star or black hole, at the center of supernova remnant Cassiopeia A. + + + + 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 = 120 + failureReputation = 0 // was @rewardReputation + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = GreatObservatories + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOLargeSpaceTelescope + title = Completed Large Space Telescope + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = SpaceTelescopeBasic + type = VesselParameterGroup + title = Advanced X-ray Astrophysics Facility + define = ESTcraft + defineList = EarthST + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = OrbitSequence + 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 = Has Telescope + type = PartValidation + disableOnStateChange = true + + VALIDATE + { + MODULE + { + name = Experiment + experiment_id = RP0BasicSpaceTelescope2 + } + } + title = Craft must have an Improved Space Telescope + } + + PARAMETER + { + name = Orbit + type = Orbit + targetBody = HomeWorld() + minPeA = 14300000 // 14,300 km + minApA = 134500000 // 134,500 km + disableOnStateChange = true + title = Orbit requirements + } + + PARAMETER + { + name = Duration + type = Duration + duration = 30d + preWaitText = Check for stable orbit + waitingText = Checking for stable orbit + completionText = Stable orbit: Confirmed + } + + } + PARAMETER + { + name = CollectBST + type = RP1CollectScience + targetBody = HomeWorld() + situation = InSpaceHigh + experiment = RP0BasicSpaceTelescope2 + fractionComplete = 0.0041 + title = Transmit 30 days of science imagery from space high above Earth + } + } +} diff --git a/GameData/RP-1/Contracts/Great Observatories/GOFirstInfraredSpaceTelescope.cfg b/GameData/RP-1/Contracts/Great Observatories/GOFirstInfraredSpaceTelescope.cfg new file mode 100644 index 00000000000..f7db2f3e766 --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOFirstInfraredSpaceTelescope.cfg @@ -0,0 +1,143 @@ +CONTRACT_TYPE +{ + name = GOFirstInfraredSpaceTelescope + title = First Infrared Space Telescope + group = GreatObservatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: Required


Earth's thick atmosphere washes out infrared signals, but an orbital telescope cooled by liquid helium could catalog them for the first time. Launch the first infrared space telescope to a sun-synchronous Earth orbit to make it a reality.

Make sure your craft has an Early Infrared Space Telescope experiment and contains enough liquid helium coolant to run it for at least 30 days.

Historical example: the Infrared Astronomical Satellite (IRAS). + + synopsis = Launch the first infrared space telescope, and return the at least 30 days of science data. + + completedMessage = Success! Astronomers are racing to analyze all the new data, and have even discovered several new comets. + + + + 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 = GreatObservatories + } + + // this req commented out for now until EOS 2 is developed and EOSFirstSpaceTelescope can be placed in it + // REQUIREMENT + // { + // name = CompleteContract + // type = CompleteContract + // contractType = EOSFirstSpaceTelescope + // title = Completed first space telescope + // } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = SpaceTelescopeInfrared + type = VesselParameterGroup + title = First infrared space telescope + define = ISTcraft + defineList = EarthST + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = OrbitSequence + 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 = PartValidation + type = PartValidation + disableOnStateChange = true + + VALIDATE + { + MODULE + { + name = Experiment + experiment_id = RP0InfraredSpaceTelescope1 + } + } + title = Craft must have an Early Infrared Space Telescope + } + + PARAMETER + { + name = Orbit + type = Orbit + targetBody = HomeWorld() + minPeA = 880000 + maxApA = 950000 // must be below the Van Allen belts to avoid radiation interfering with the electronics + maxEccentricity = 0.005 + minInclination = 95 + maxInclination = 99 + disableOnStateChange = true + title = Orbit requirements + } + + PARAMETER + { + name = Duration + type = Duration + duration = 30d + preWaitText = Check for stable orbit + waitingText = Checking for stable orbit + completionText = Stable orbit: Confirmed + } + } + + PARAMETER + { + name = CollectIST + type = RP1CollectScience + targetBody = HomeWorld() + situation = InSpaceLow + experiment = RP0InfraredSpaceTelescope1 + fractionComplete = 0.0164000000 + title = Transmit 30 days of science imagery + } + } + } + +} diff --git a/GameData/RP-1/Contracts/Great Observatories/GOHeavySpaceTelescope.cfg b/GameData/RP-1/Contracts/Great Observatories/GOHeavySpaceTelescope.cfg new file mode 100644 index 00000000000..9cc1e2a7f8b --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOHeavySpaceTelescope.cfg @@ -0,0 +1,150 @@ +CONTRACT_TYPE +{ + name = GOHeavySpaceTelescope + title = Gamma Ray Observatory + group = GreatObservatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: Optional


After the success of your first space telescope, complement it with a heavier gamma ray telescope with additional instrumentation.

Make sure your craft contains a Space Telescope 2 experiment, carries X units of TelescopePayload, and has an apoapsis below 1000 km.

Historical example: Compton Gamma Ray Observatory. + + synopsis = Launch a second, heavier LEO space telescope with additional instrumentation, and return the first 30 days of science observations. + + completedMessage = Well done! Early observations have revealed that most gamma-ray bursts are from faraway galaxies, and therefore must be extraordinarily energetic. + + + + 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 = 120 + failureReputation = 0 // was @rewardReputation + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = GreatObservatories + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOLargeSpaceTelescope + title = Completed Large Space Telescope + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = SpaceTelescopeHeavy + type = VesselParameterGroup + title = Gamma Ray Observatory + define = HeavySTcraft + defineList = EarthST + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = OrbitSequence + 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 = HasTelescopePayload + type = HasResource + resource = TelescopePayload + minQuantity = 5000 // 5200 kg mass difference between Compton and Hubble + title = Craft must carry @minQuantity units of ResearchPayload as additional instrumentation. + hideChildren = true + disableOnStateChange = true + } + + PARAMETER + { + name = Has Telescope + type = PartValidation + disableOnStateChange = true + + VALIDATE + { + MODULE + { + name = Experiment + experiment_id = RP0BasicSpaceTelescope2 + } + } + title = Craft must have an Improved Space Telescope + } + + PARAMETER + { + name = Orbit + type = Orbit + targetBody = HomeWorld() + minPeA = 450000 // 360 km + maxApA = 950000 // must stay below Van Allen belts to avoid interference + disableOnStateChange = true + title = Orbit requirements + } + + PARAMETER + { + name = Duration + type = Duration + duration = 30d + preWaitText = Check for stable orbit + waitingText = Checking for stable orbit + completionText = Stable orbit: Confirmed + } + + + } + PARAMETER + { + name = CollectBST + type = RP1CollectScience + targetBody = HomeWorld() + situation = InSpaceLow + experiment = RP0BasicSpaceTelescope2 + fractionComplete = 0.0041 + title = Transmit 30 days of science imagery + } + } + +} diff --git a/GameData/RP-1/Contracts/Great Observatories/GOInfraredServicing.cfg b/GameData/RP-1/Contracts/Great Observatories/GOInfraredServicing.cfg new file mode 100644 index 00000000000..c9036b0ddba --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOInfraredServicing.cfg @@ -0,0 +1,138 @@ +CONTRACT_TYPE +{ + name = GOInfraredServicing + title = @/targetVessel1 Coolant Servicing + genericTitle = Infrared Space Telescope Coolant Servicing + group = GreatObservatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: Optional


The liquid helium coolant on one of our infrared space telescopes is getting rather low. If it drops to zero, the telescope will be forced to deactivate. Design, build, and launch a servicing craft to dock with the observatory and refill its coolant tanks to continue operations. Note: you may want to bring more coolant than you need to mitigate boiloff concerns. + + synopsis = Send a vessel to resupply the liquid helium coolant on the designated infrared space telescope + + completedMessage = Mission Success! The vessel has more than enough coolant for now. Be sure to monitor your telescopes to keep them functional. + + // sortKey = 1507 + + cancellable = true + declinable = true + autoAccept = false + minExpiry = 0 + maxExpiry = 0 + maxCompletions = 1 + maxSimultaneous = 1 + deadline = 0 + + targetBody = @/targetBody1 + + prestige = Trivial // 1.0x + advanceFunds = 0 + rewardScience = 0 + rewardReputation = 180 + rewardFunds = 0 + failureReputation = 0 // was @rewardReputation + failureFunds = 0 + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = GreatObservatories + } + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOInfraredSpaceObservatory + title = Completed Infrared Space Observatory + } + + // ************ DATA ************ + + DATA + { + type = Vessel + requiredValue = true + targetVessel1 = $InfraST.Where(v => v.FreeDockingPorts()>0 && v.ResourceCapacity(LqdHelium) / v.ResourceQuantity(LqdHelium)>0.26).Random() + title = Target vessel must be an infrared space telescope with 25% or less of its liquid helium coolant remaining and an open docking port + } + DATA + { + type = int + coolantSpace = Round(@/targetVessel1.ResourceCapacity(LqdHelium) - @/targetVessel1.ResourceQuantity(LqdHelium)) + title = Get empty space for coolant + } + DATA + { + type = CelestialBody + requiredValue = true + targetBody1 = @/targetVessel1.CelestialBody() + hidden = true + } + + BEHAVIOUR + { + name = ServicingReset + type = Expression + + CONTRACT_COMPLETED_SUCCESS + { + TelescopeLastServiced = @/targetVessel1 + } + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = ISTServicingMission + type = VesselParameterGroup + title = Launch a servicing craft to refill the coolant tanks on @/targetVessel1 + genericTitle = Launch a servicing craft to refill the coolant tanks on one of your infrared space telescopes + disableOnStateChange = true + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = AllResources + type = All + title = Dock with enough liquid helium coolant to fully refill the cooling tanks on @/targetVessel1 + genericTitle = Dock with enough liquid helium coolant to fully refill the cooling tanks on your infrared space telescope + notes = This is the amount of coolant that would fill the telescope up + + + PARAMETER + { + name = CoolantResupply + type = HasResource + title = Bring at least @/coolantSpace liquid helium coolant + genericTitle = Bring enough liquid helium coolant to refill the tanks + resource = LqdHelium + minQuantity = @/coolantSpace + hideChildren = true + } + + PARAMETER + { + name = DockWithTelescope + type = Docking + vessel = @/targetVessel1 + title = Dock the servicing craft with @/targetVessel1 + genericTitle = Dock the servicing craft with the infrared space telescope + hideChildren = true + disableOnStateChange = true + } + } + } + + +} diff --git a/GameData/RP-1/Contracts/Great Observatories/GOInfraredServicingRepeat.cfg b/GameData/RP-1/Contracts/Great Observatories/GOInfraredServicingRepeat.cfg new file mode 100644 index 00000000000..11fda6ac86e --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOInfraredServicingRepeat.cfg @@ -0,0 +1,146 @@ +CONTRACT_TYPE +{ + name = GOInfraredServicingRepeat + title = @/targetVessel1 Coolant Servicing + genericTitle = Infrared Space Telescope Coolant Servicing + group = GreatObservatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: Optional


The coolant on another one of our infrared space telescopes is getting rather low. If it drops to zero, the telescope will be forced to deactivate. Design, build, and launch another servicing craft to dock with the observatory and refill the coolant tanks and continue operations. Note: you may want to bring more coolant than you need to mitigate boiloff concerns. + + synopsis = Send a vessel to resupply the liquid helium coolant on the designated infrared space telescope + + completedMessage = Mission Success! The vessel has more than enough coolant for now. Be sure to monitor your telescopes to keep them functional. + + // sortKey = 1507 + + cancellable = true + declinable = true + autoAccept = false + minExpiry = 0 + maxExpiry = 0 + maxCompletions = 2 + maxSimultaneous = 1 + deadline = 0 + + targetBody = @/targetBody1 + + prestige = Trivial // 1.0x + advanceFunds = 0 + rewardScience = 0 + rewardReputation = 180 + rewardFunds = 0 + failureReputation = 0 // was @rewardReputation + failureFunds = 0 + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = GreatObservatories + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOInfraredSpaceObservatory + title = Completed Infrared Space Observatory + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOInfraredServicing + title = Completed Infrared Servicing Mission + } + + // ************ DATA ************ + + DATA + { + type = Vessel + requiredValue = true + targetVessel1 = $InfraST.Where(v => v.FreeDockingPorts()>0 && v.ResourceCapacity(LqdHelium) / v.ResourceQuantity(LqdHelium)>0.26).Random() + title = Target vessel must be an infrared space telescope with 25% or less of its liquid helium coolant remaining and an open docking port + } + + DATA + { + type = int + coolantSpace = Round(@/targetVessel1.ResourceCapacity(LqdHelium) - @/targetVessel1.ResourceQuantity(LqdHelium)) + title = Get empty space for coolant + } + + DATA + { + type = CelestialBody + requiredValue = true + targetBody1 = @/targetVessel1.CelestialBody() + hidden = true + } + + BEHAVIOUR + { + name = ServicingReset + type = Expression + + CONTRACT_COMPLETED_SUCCESS + { + TelescopeLastServiced = @/targetVessel1 + } + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = ISTServicingMissionRepeat + type = VesselParameterGroup + title = Launch a servicing vessel to @/targetVessel1 + genericTitle = Launch a servicing vessel to the target infrared space telescope + disableOnStateChange = true + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = AllResources + type = All + title = Dock with enough liquid helium coolant to fully refill the cooling tanks on @/targetVessel1 + genericTitle = Dock with enough liquid helium coolant to fully refill the cooling tanks on your infrared space telescope + notes = This is the amount of coolant that would fill the telescope up + + + PARAMETER + { + name = CoolantResupply + title = Bring at least @/coolantSpace liquid helium coolant + type = HasResource + resource = LqdHelium + minQuantity = @/coolantSpace + hideChildren = true + } + PARAMETER + { + name = DockWithTelescope + type = Docking + vessel = @/targetVessel1 + title = Dock the servicing craft with @/targetVessel1 + genericTitle = Dock the servicing craft with the target infrared space telescope + hideChildren = true + disableOnStateChange = true + } + } + } + +} diff --git a/GameData/RP-1/Contracts/Great Observatories/GOInfraredSpaceObservatory.cfg b/GameData/RP-1/Contracts/Great Observatories/GOInfraredSpaceObservatory.cfg new file mode 100644 index 00000000000..55ee128983e --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOInfraredSpaceObservatory.cfg @@ -0,0 +1,144 @@ +CONTRACT_TYPE +{ + name = GOInfraredSpaceObservatory + title = Infrared Space Observatory + group = GreatObservatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: Required


Since the launch of the first infrared space telescope, astronomers have clamored for larger observatories. Launch a large infrared space telescope to learn more about various objects' composition.

Make sure your craft contains an Infrared Space Telescope 2 experiment and carries enough liquid helium coolant to run it.

Historical example: Infrared Space Observatory. + + synopsis = Launch the first large-scale infrared space telescope, and return the first 30 days of science observations from space high above Earth. + + completedMessage = Success! Science data returned has already led to the discovery of cosmic dust in the void between galaxies. + + + + 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 = 135 + failureReputation = 0 // was @rewardReputation + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = GreatObservatories + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOLargeSpaceTelescope + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOFirstInfraredSpaceTelescope + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = SpaceTelescopeInfrared + type = VesselParameterGroup + title = Infrared space observatory + define = ISOcraft + defineList = EarthST + defineList = InfraST + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = OrbitSequence + 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 = PartValidation + type = PartValidation + disableOnStateChange = true + + VALIDATE + { + MODULE + { + name = Experiment + experiment_id = RP0InfraredSpaceTelescope2 + } + } + title = Craft must have an Improved Infrared Space Telescope + } + + PARAMETER + { + name = Orbit + type = Orbit + targetBody = HomeWorld() + minPeA = 1000000 // 1000 km + minApA = 70600000 // 70,600 km + disableOnStateChange = true + title = Orbit requirements + } + + PARAMETER + { + name = Duration + type = Duration + duration = 30d + preWaitText = Check for stable orbit + waitingText = Checking for stable orbit + completionText = Stable orbit: Confirmed + } + + } + PARAMETER + { + name = CollectIST + type = RP1CollectScience + targetBody = HomeWorld() + situation = InSpaceHigh + experiment = RP0InfraredSpaceTelescope2 + fractionComplete = 0.0082 + title = Transmit 30 days of science imagery from space high above Earth + } + } +} diff --git a/GameData/RP-1/Contracts/Great Observatories/GOLargeSpaceTelescope.cfg b/GameData/RP-1/Contracts/Great Observatories/GOLargeSpaceTelescope.cfg new file mode 100644 index 00000000000..d3e59541b70 --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOLargeSpaceTelescope.cfg @@ -0,0 +1,168 @@ +CONTRACT_TYPE +{ + name = GOLargeSpaceTelescope + title = Large Space Telescope + group = GreatObservatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: Required


Since the launch of the first early-series space telescopes, astronomers have clamored for larger observatories. Launch a large, visible-light space telescope to study the heavens with unprecedented clarity.

Make sure your craft contains a Space Telescope 2 experiment and has a docking port to allow for future servicing missions.

Historical example: Hubble Space Telescope. + + synopsis = Launch the first large-scale space telescope, and return the first 30 days of science observations. + + completedMessage = Success! Images from the first Great Observatory have been a boon to all manner of astronomical research, and have caused a popular sensation as well. + + + + 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 = 120 + failureReputation = 0 // was @rewardReputation + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = GreatObservatories + } + + // ************ DATA ************ + + BEHAVIOUR + { + name = ServicingReset + type = Expression + + CONTRACT_COMPLETED_SUCCESS + { + TelescopeLastServiced = LSTcraft + } + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = SpaceTelescopeBasic + type = VesselParameterGroup + title = First large space telescope + define = LSTcraft + defineList = EarthST + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = Crewmembers + type = HasCrew + minCrew = 0 + maxCrew = 0 + title = Uncrewed // vibrations from crew would interfere with the precision-pointing of the telescope + hideChildren = true + } + + PARAMETER + { + name = OrbitSequence + type = Sequence + title = Reach the target orbit and survive for 30 days + + PARAMETER + { + name = HasPower + type = HasResource + resource = ElectricCharge + minQuantity = 1.0 + title = Craft must have positive Electric Charge + hideChildren = true + } + + PARAMETER + { + name = Has Docking Port + type = PartValidation + disableOnStateChange = true + + VALIDATE + { + MODULE + { + name = ModuleDockingNode + } + } + title = Craft must have a docking port + } + + PARAMETER + { + name = Has Telescope + type = PartValidation + disableOnStateChange = true + + VALIDATE + { + MODULE + { + name = Experiment + experiment_id = RP0BasicSpaceTelescope2 + } + } + title = Craft must have an Improved Space Telescope + } + + PARAMETER + { + name = Orbit + type = Orbit + targetBody = HomeWorld() + minPeA = 500000 + maxApA = 950000 // must stay below Van Allen belts to avoid interference + maxEccentricity = 0.005 + disableOnStateChange = true + } + + PARAMETER + { + name = Duration + type = Duration + duration = 30d + preWaitText = Check for stable orbit + waitingText = Checking for stable orbit... + completionText = Stable orbit: Confirmed + } + + } + PARAMETER + { + name = CollectBST + type = RP1CollectScience + targetBody = HomeWorld() + situation = InSpaceLow + experiment = RP0BasicSpaceTelescope2 + fractionComplete = 0.0041 + title = Transmit 30 days of science imagery + } + } +} diff --git a/GameData/RP-1/Contracts/Great Observatories/GOSpaceTelescopeL2.cfg b/GameData/RP-1/Contracts/Great Observatories/GOSpaceTelescopeL2.cfg new file mode 100644 index 00000000000..3cf931aa5e5 --- /dev/null +++ b/GameData/RP-1/Contracts/Great Observatories/GOSpaceTelescopeL2.cfg @@ -0,0 +1,175 @@ +CONTRACT_TYPE +{ + name = GOSpaceTelescopeL2 + title = L2 Space Telescope + group = GreatObservatories + agent = Federation Aeronautique Internationale + + description = Program: Great Observatories
Type: CAPSTONE


With the continued success of our recent space telescopes, scientists are eager for further missions to new orbits. Launch an advanced space telescope to an orbit equivalent to the Earth-Sun Lagrange Point 2.

Make sure your craft contains either a Space Telescope 3 or an Infrared Space Telescope 3 experiment and arrives at an orbit with the given parameters.

Historical example: WMAP, the Wilkinson Microwave Anisotropy Probe. + + synopsis = Launch a space telescope of any kind to near the Earth-Sun L2 point, and transmit at least 30 days of scientific imagery. + + completedMessage = Success! The spacecraft has begun assembling an extremely detailed catalog of astronomical objects, including some newly-discovered exoplanets! + + + + 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 = 300 + failureReputation = 0 // was @rewardReputation + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = GreatObservatories + } + + REQUIREMENT + { + name = CompleteContract + type = CompleteContract + contractType = GOInfraredSpaceObservatory + title = Completed Infrared Space Observatory + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = SpaceTelescopeL2 + type = VesselParameterGroup + title = Launch a space telescope of either type to an orbit matching the Earth-Sun L2 point. + define = LagrangeSTcraft + + PARAMETER + { + name = NewVessel + type = NewVessel + title = Launch a new vessel + hideChildren = true + } + + PARAMETER + { + name = OrbitSequence + type = Sequence + title = Bring the telescope to a solar orbit approximately 1.5 million kilometers beyond the Earth's orbit + + PARAMETER + { + name = HasPower + type = HasResource + resource = ElectricCharge + minQuantity = 1.0 + title = Craft must have Electric Charge for 30 days + hideChildren = true + } + + PARAMETER + { + name = Any + type = Any + title = Craft must carry a space telescope experiment + + PARAMETER + { + name = PartValidation + type = PartValidation + + VALIDATE + { + MODULE + { + name = Experiment + experiment_id = RP0BasicSpaceTelescope3 + } + } + } + + PARAMETER + { + name = PartValidation + type = PartValidation + + VALIDATE + { + MODULE + { + name = Experiment + experiment_id = RP0InfraredSpaceTelescope3 + } + } + } + } + + PARAMETER + { + name = Orbit + type = Orbit + targetBody = Sun + minPeA = 151004639000 + maxPeA = 151904639000 + minApA = 151004639000 + maxApA = 151904639000 + disableOnStateChange = true + } + + PARAMETER + { + name = Duration + type = Duration + duration = 1d + preWaitText = Check for stable orbit + waitingText = Checking for stable orbit + completionText = Stable orbit: Confirmed + } + + } + + PARAMETER + { + name = Any + type = Any + title = Transmit 30 days of science imagery. + + PARAMETER + { + name = CollectIST + type = RP1CollectScience + targetBody = Sun + situation = InSpaceHigh + experiment = RP0InfraredSpaceTelescope3 + fractionComplete = 0.0041 + } + + PARAMETER + { + name = CollectBST + type = RP1CollectScience + targetBody = Sun + situation = InSpaceHigh + experiment = RP0SpaceTelescope3 + fractionComplete = 0.0041 + } + + } + } +} diff --git a/GameData/RP-1/Contracts/Groups.cfg b/GameData/RP-1/Contracts/Groups.cfg index 594945cf8a9..72dc6c096d6 100644 --- a/GameData/RP-1/Contracts/Groups.cfg +++ b/GameData/RP-1/Contracts/Groups.cfg @@ -208,11 +208,19 @@ CONTRACT_GROUP agent = Exploration } CONTRACT_GROUP + { + name = GreatObservatories + displayName = Great Observatories + minVersion = 1.12.2 + sortKey = 34 + agent = Satellites + } + CONTRACT_GROUP { name = JupiterObservation displayName = Jupiter Observation minVersion = 1.12.2 - sortKey = 34 + sortKey = 35 agent = Exploration } CONTRACT_GROUP @@ -220,7 +228,7 @@ CONTRACT_GROUP name = JupiterMoonLandings displayName = Jovian Moon Landings minVersion = 1.12.2 - sortKey = 35 + sortKey = 36 agent = Surveys } CONTRACT_GROUP @@ -228,7 +236,7 @@ CONTRACT_GROUP name = SaturnObservation displayName = Saturn Observation minVersion = 1.12.2 - sortKey = 36 + sortKey = 37 agent = Exploration } CONTRACT_GROUP @@ -236,7 +244,7 @@ CONTRACT_GROUP name = SaturnMoonLandings displayName = Saturine Moon Landings minVersion = 1.12.2 - sortKey = 37 + sortKey = 38 agent = Surveys } CONTRACT_GROUP @@ -244,7 +252,7 @@ CONTRACT_GROUP name = OuterPlanetFlyby displayName = Outer Planet Flybys minVersion = 1.12.2 - sortKey = 38 + sortKey = 39 agent = Exploration } CONTRACT_GROUP @@ -252,7 +260,7 @@ CONTRACT_GROUP name = OuterGasGiantSurvey displayName = Outer Gas Giant Survey minVersion = 1.12.2 - sortKey = 39 + sortKey = 40 agent = Surveys } CONTRACT_GROUP @@ -260,7 +268,7 @@ CONTRACT_GROUP name = PlutoLandings displayName = Plutonian Landings minVersion = 1.12.2 - sortKey = 40 + sortKey = 41 agent = Surveys } CONTRACT_GROUP @@ -268,7 +276,7 @@ CONTRACT_GROUP name = LunarHabitation displayName = Lunar Habitation minVersion = 1.12.2 - sortKey = 41 + sortKey = 42 agent = Base Construction } CONTRACT_GROUP @@ -276,7 +284,7 @@ CONTRACT_GROUP name = CrewedMarsExp displayName = Crewed Mars Exploration minVersion = 1.12.2 - sortKey = 42 + sortKey = 43 agent = Exploration } CONTRACT_GROUP @@ -284,7 +292,7 @@ CONTRACT_GROUP name = CrewedVenusExp displayName = Crewed Venus Exploration minVersion = 1.12.2 - sortKey = 43 + sortKey = 44 agent = Exploration } CONTRACT_GROUP @@ -292,7 +300,7 @@ CONTRACT_GROUP name = CrewedExploration displayName = Crewed Solar System Exploration minVersion = 1.12.2 - sortKey = 44 + sortKey = 45 agent = Exploration } CONTRACT_GROUP @@ -300,7 +308,7 @@ CONTRACT_GROUP name = Records displayName = Records minVersion = 1.12.2 - sortKey = 45 + sortKey = 46 agent = Federation Aeronautique Internationale } CONTRACT_GROUP @@ -308,7 +316,7 @@ CONTRACT_GROUP name = HumanRecords displayName = Human Records minVersion = 1.12.2 - sortKey = 46 + sortKey = 47 agent = Federation Aeronautique Internationale } @@ -355,6 +363,8 @@ CONTRACT_GROUP expectedDays_XPlanesHighAltitudeOptional = 120 expectedDays_XPlanesSuborbital = 120 expectedDays_XPlanesSupersonicOptional = 120 + expectedDays_GOCrewedServicingRepeat = 180 + expectedDays_GOInfraredServicingRepeat = 120 } // SCANsat Data diff --git a/GameData/RP-1/Contracts/Z Disabled Contracts/EOSFirstSpaceTelescope.cfg.disabled b/GameData/RP-1/Contracts/Z Disabled Contracts/EOSFirstSpaceTelescope.cfg.disabled new file mode 100644 index 00000000000..6378c07324e --- /dev/null +++ b/GameData/RP-1/Contracts/Z Disabled Contracts/EOSFirstSpaceTelescope.cfg.disabled @@ -0,0 +1,124 @@ +CONTRACT_TYPE +{ + name = EOSFirstSpaceTelescope + title = First Space Telescope + group = EOS + agent = Federation Aeronautique Internationale + + description = Program: Early Earth Observation Satellites
Type: Required


Astronomers have long dreamed of somehow placing a telescope above Earth's turbulent, often-cloudy atmosphere. Launch the first space telescope to Earth orbit to make it a reality.

Make sure your craft contains a Space Telescope 1 experiment and produces enough electricity to power it.

Historical example: the Orbiting Astronomical Observatory series. + + synopsis = Launch the first space telescope, and return the first 30 days of science data. + + completedMessage = Well done! Scientists everywhere are racing to study the first UV observations from above the atmosphere. + + + + 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 // placeholder + failureReputation = 0 // was @rewardReputation + + // ************ REQUIREMENTS ************ + + REQUIREMENT + { + name = ProgramActive + type = ProgramActive + program = EarthObservationScience1 + } + + // ************ PARAMETERS ************ + + PARAMETER + { + name = SpaceTelescopeBasic + type = VesselParameterGroup + title = First space telescope + define = STcraft + defineList = EarthST + + 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 = Space Telecope Mass + type = VesselMass + minMass = 2 + title = Space telescope must mass at least 2,000 kg + hideChildren = true + } + + PARAMETER + { + name = HasPower + type = HasResource + resource = ElectricCharge + minQuantity = 1.0 + title = Craft must have Electric Charge for 30 days + hideChildren = true + } + + PARAMETER + { + name = Orbit + type = Orbit + targetBody = HomeWorld() + minPeA = 800000 + maxApA = 950000 // must stay below Van Allen belts to avoid interference + maxEccentricity = 0.005 + disableOnStateChange = true + + PARAMETER + { + name = Duration + type = Duration + duration = 30d + preWaitText = Survive in orbit for 30 days + waitingText = Checking for stable orbit... + completionText = Stable orbit: Confirmed + } + } + } + + PARAMETER + { + name = CollectBST + type = RP1CollectScience + targetBody = HomeWorld() + situation = InSpaceLow + experiment = RP0BasicSpaceTelescope1 + fractionComplete = 0.0164000000 + title = Transmit 30 days of science imagery + } +} diff --git a/GameData/RP-1/Parts/Science/BST01-EarlySpaceTelescope.cfg b/GameData/RP-1/Parts/Science/BST01-EarlySpaceTelescope.cfg new file mode 100644 index 00000000000..069b04ea611 --- /dev/null +++ b/GameData/RP-1/Parts/Science/BST01-EarlySpaceTelescope.cfg @@ -0,0 +1,59 @@ +//********************************************************************************** +// Early Space Telescope +// +// Part originally created as CA-Telescope by Akron for Coatl Aerospace +// +//********************************************************************************** + +PART +{ + name = RO-BST01Test + module = Part + author = wyllowthewisp + + RSSROConfig = True + + MODEL + { + model = RP-1/Parts/Science/Assets/ca_telescope_a + scale = 1.0, 2.4, 1.0 + } + scale = 1 + rescaleFactor = 2.0 + + node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,1,0,0,0 + + TechRequired = scienceLunar + entryCost = 0 + cost = 1000 + category = Science + subcategory = 0 + title = BST01 - Early Space Telescope + manufacturer = Realism Overhaul + description = The Early Space Telescope is primarily used to take images of deep space, but can also image certain solar system targets. Historically, this represents the OAO and OAO-2 space telescopes. + + mass = 2.012 // OAO-2 massed 2012 kg at launch + bulkheadProfiles = size0, srf + crashTolerance = 10 + maxTemp = 1200 + emissiveConstant = 0.85 + thermalMassModifier = 4.0 + + angularDrag = 2 + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + PhysicsSignificance = 1 + + tags = oao telescope oao-2 copernicus bst science oso + + MODULE + { + name = Experiment + experiment_id = RP0BasicSpaceTelescope1 + } +} diff --git a/GameData/RP-1/Parts/Science/BST02-ImprovedSpaceTelescope.cfg b/GameData/RP-1/Parts/Science/BST02-ImprovedSpaceTelescope.cfg new file mode 100644 index 00000000000..50b12c015de --- /dev/null +++ b/GameData/RP-1/Parts/Science/BST02-ImprovedSpaceTelescope.cfg @@ -0,0 +1,64 @@ +//********************************************************************************** +// Improved Space Telescope +// +// Part originally created as CA-Telescope by Akron for Coatl Aerospace +// +//********************************************************************************** + +PART +{ + name = RO-BST02Test + module = Part + author = wyllowthewisp + + RSSROConfig = True + + MODEL + { + model = RP-1/Parts/Science/Assets/ca_telescope_a + scale = 1.0, 2.4, 1.0 + } + scale = 1 + rescaleFactor = 2.0 + + node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,1,0,0,0 + + TechRequired = sampleReturnScience + entryCost = 0 + cost = 1000 + category = Science + subcategory = 0 + title = BST02 - Improved Space Telescope + manufacturer = Realism Overhaul + description = The Improved Space Telescope is primarily used to take images of deep space, but can also image certain solar system targets. Historically, this represents the Hubble Space Telescope after the first servicing mission. + + mass = 11.1 // HST massed 11,100 kg at launch + bulkheadProfiles = size0, srf + crashTolerance = 10 + maxTemp = 1200 + emissiveConstant = 0.85 + thermalMassModifier = 4.0 + + angularDrag = 2 + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + PhysicsSignificance = 1 + + tags = hubble telescope hst lst bst science + + MODULE + { + name = Experiment + experiment_id = RP0BasicSpaceTelescope2 + } +} + +@PART[RO-BST02Test]:NEEDS[!Kerbalism]:AFTER[RP-0] +{ + @description ^=:$: \n\nLevel 2 space telescope. Can gather 100% of space telescope science that isn't from the infrared spectrum. +} diff --git a/GameData/RP-1/Parts/Science/BST03-AdvancedSpaceTelescope.cfg b/GameData/RP-1/Parts/Science/BST03-AdvancedSpaceTelescope.cfg new file mode 100644 index 00000000000..522d689e43d --- /dev/null +++ b/GameData/RP-1/Parts/Science/BST03-AdvancedSpaceTelescope.cfg @@ -0,0 +1,59 @@ +//********************************************************************************** +// Advanced Space Telescope +// +// Part originally created as CA-Telescope by Akron for Coatl Aerospace +// +//********************************************************************************** + +PART +{ + name = RO-BST03Test + module = Part + author = wyllowthewisp + + RSSROConfig = True + + MODEL + { + model = RP-1/Parts/Science/Assets/ca_telescope_a + scale = 1.0, 2.4, 1.0 + } + scale = 1 + rescaleFactor = 2.0 + + node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,1,0,0,0 + + TechRequired = advancedScience + entryCost = 0 + cost = 1000 + category = Science + subcategory = 0 + title = BST03 - Advanced Space Telescope + manufacturer = Realism Overhaul + description = The Advanced Space Telescope is primarily used to take images of deep space, but can also image certain solar system targets. Historically, this represents the upgraded Hubble Space Telescope after Servicing Mission 4. + + mass = 11.1 // HST massed 11,100 kg at launch + bulkheadProfiles = size0, srf + crashTolerance = 10 + maxTemp = 1200 + emissiveConstant = 0.85 + thermalMassModifier = 4.0 + + angularDrag = 2 + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + PhysicsSignificance = 1 + + tags = hst telescope lst bst science + + MODULE + { + name = Experiment + experiment_id = RP0BasicSpaceTelescope3 + } +} diff --git a/GameData/RP-1/Parts/Science/BST04-NextGenerationSpaceTelescope.cfg b/GameData/RP-1/Parts/Science/BST04-NextGenerationSpaceTelescope.cfg new file mode 100644 index 00000000000..295f0e7a686 --- /dev/null +++ b/GameData/RP-1/Parts/Science/BST04-NextGenerationSpaceTelescope.cfg @@ -0,0 +1,59 @@ +//********************************************************************************** +// Next Generation Space Telescope +// +// Part originally created as CA-Telescope by Akron for Coatl Aerospace +// +//********************************************************************************** + +PART +{ + name = RO-BST04Test + module = Part + author = wyllowthewisp + + RSSROConfig = True + + MODEL + { + model = RP-1/Parts/Science/Assets/ca_telescope_a + scale = 1.0, 2.4, 1.0 + } + scale = 1 + rescaleFactor = 2.0 + + node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,1,0,0,0 + + TechRequired = advModernScience + entryCost = 0 + cost = 1000 + category = Science + subcategory = 0 + title = BST04 - Next Generation Space Telescope + manufacturer = Realism Overhaul + description = The Next Generation Space Telescope is primarily used to take images of deep space, but can also image certain solar system targets. Historically, this represents the upcoming Nancy Grace Roman Space Telescope, aka WFIRST. + + mass = 4.166 // WFIRST is projected to mass 4166 kg at launch + bulkheadProfiles = size0, srf + crashTolerance = 10 + maxTemp = 1200 + emissiveConstant = 0.85 + thermalMassModifier = 4.0 + + angularDrag = 2 + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + PhysicsSignificance = 1 + + tags = wfirst telescope bst science nancy grace roman + + MODULE + { + name = Experiment + experiment_id = RP0BasicSpaceTelescope4 + } +} diff --git a/GameData/RP-1/Parts/Science/IST01-EarlyInfraredSpaceTelescope.cfg b/GameData/RP-1/Parts/Science/IST01-EarlyInfraredSpaceTelescope.cfg new file mode 100644 index 00000000000..824476de7c0 --- /dev/null +++ b/GameData/RP-1/Parts/Science/IST01-EarlyInfraredSpaceTelescope.cfg @@ -0,0 +1,59 @@ +//********************************************************************************** +// Early Infrared Space Telescope +// +// Part originally created as CA-Telescope by Akron for Coatl Aerospace +// +//********************************************************************************** + +PART +{ + name = RO-IST01Test + module = Part + author = wyllowthewisp + + RSSROConfig = True + + MODEL + { + model = RP-1/Parts/Science/Assets/ca_telescope_a + scale = 1.0, 2.4, 1.0 + } + scale = 1 + rescaleFactor = 2.0 + + node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,1,0,0,0 + + TechRequired = scienceExploration + entryCost = 0 + cost = 1000 + category = Science + subcategory = 0 + title = IST01 - Early Infrared Space Telescope + manufacturer = Realism Overhaul + description = The Early Infrared Space Telescope is primarily used to take infrared spectrum images of deep space, but can also image certain solar system targets. This telescope requires a steady supply of liquid helium coolant to function. Historically, this represents the Infrared Astrononomical Satellite (IRAS). + + mass = 0.809 // IRAS massed 809 kg at launch + bulkheadProfiles = size0, srf + crashTolerance = 10 + maxTemp = 1200 + emissiveConstant = 0.85 + thermalMassModifier = 4.0 + + angularDrag = 2 + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + PhysicsSignificance = 1 + + tags = iras telescope infrared ist science + + MODULE + { + name = Experiment + experiment_id = RP0InfraredSpaceTelescope1 + } +} diff --git a/GameData/RP-1/Parts/Science/IST02-ImprovedInfraredSpaceTelescope.cfg b/GameData/RP-1/Parts/Science/IST02-ImprovedInfraredSpaceTelescope.cfg new file mode 100644 index 00000000000..7b99934a2a5 --- /dev/null +++ b/GameData/RP-1/Parts/Science/IST02-ImprovedInfraredSpaceTelescope.cfg @@ -0,0 +1,59 @@ +//********************************************************************************** +// Improved Infrared Space Telescope +// +// Part originally created as CA-Telescope by Akron for Coatl Aerospace +// +//********************************************************************************** + +PART +{ + name = RO-IST02Test + module = Part + author = wyllowthewisp + + RSSROConfig = True + + MODEL + { + model = RP-1/Parts/Science/Assets/ca_telescope_a + scale = 1.0, 2.4, 1.0 + } + scale = 1 + rescaleFactor = 2.0 + + node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,1,0,0,0 + + TechRequired = sampleReturnScience + entryCost = 0 + cost = 1000 + category = Science + subcategory = 0 + title = IST02 - Improved Infrared Space Telescope + manufacturer = Realism Overhaul + description = The Improved Infrared Space Telescope is primarily used to take infrared spectrum images of deep space, but can also image certain solar system targets. This telescope requires a steady supply of liquid helium coolant to function. Historically, this represents the Infrared Space Observatory. + + mass = 2.4 // ISO massed 2,400 kg at launch + bulkheadProfiles = size0, srf + crashTolerance = 10 + maxTemp = 1200 + emissiveConstant = 0.85 + thermalMassModifier = 4.0 + + angularDrag = 2 + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + PhysicsSignificance = 1 + + tags = iso telescope infrared ist science + + MODULE + { + name = Experiment + experiment_id = RP0InfraredSpaceTelescope2 + } +} diff --git a/GameData/RP-1/Parts/Science/IST03-AdvancedInfraredSpaceTelescope.cfg b/GameData/RP-1/Parts/Science/IST03-AdvancedInfraredSpaceTelescope.cfg new file mode 100644 index 00000000000..760a08983d3 --- /dev/null +++ b/GameData/RP-1/Parts/Science/IST03-AdvancedInfraredSpaceTelescope.cfg @@ -0,0 +1,59 @@ +//********************************************************************************** +// Advanced Infrared Space Telescope +// +// Part originally created as CA-Telescope by Akron for Coatl Aerospace +// +//********************************************************************************** + +PART +{ + name = RO-IST03Test + module = Part + author = wyllowthewisp + + RSSROConfig = True + + MODEL + { + model = RP-1/Parts/Science/Assets/ca_telescope_a + scale = 1.0, 2.4, 1.0 + } + scale = 1 + rescaleFactor = 2.0 + + node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,1,0,0,0 + + TechRequired = advancedScience + entryCost = 0 + cost = 1000 + category = Science + subcategory = 0 + title = IST03 - Advanced Infrared Space Telescope + manufacturer = Realism Overhaul + description = The Advanced Infrared Space Telescope is primarily used to take infrared spectrum images of deep space, but can also image certain solar system targets and help detect and characterize exoplanets. This telescope requires a steady supply of liquid helium coolant to function, though less than its predecessors. Historically, this represents the Spitzer Space Telescope. + + mass = 0.861 // Spitzer massed 861 kg at launch + bulkheadProfiles = size0, srf + crashTolerance = 10 + maxTemp = 1200 + emissiveConstant = 0.85 + thermalMassModifier = 4.0 + + angularDrag = 2 + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + PhysicsSignificance = 1 + + tags = spitzer telescope infrared ist science + + MODULE + { + name = Experiment + experiment_id = RP0InfraredSpaceTelescope3 + } +} diff --git a/GameData/RP-1/Parts/Science/IST04-CryocooledInfraredSpaceTelescope.cfg b/GameData/RP-1/Parts/Science/IST04-CryocooledInfraredSpaceTelescope.cfg new file mode 100644 index 00000000000..f4768f93405 --- /dev/null +++ b/GameData/RP-1/Parts/Science/IST04-CryocooledInfraredSpaceTelescope.cfg @@ -0,0 +1,59 @@ +//********************************************************************************** +// Cryocooled Infrared Space Telescope +// +// Part originally created as CA-Telescope by Akron for Coatl Aerospace +// +//********************************************************************************** + +PART +{ + name = RO-IST04Test + module = Part + author = wyllowthewisp + + RSSROConfig = True + + MODEL + { + model = RP-1/Parts/Science/Assets/ca_telescope_a + scale = 1.0, 2.4, 1.0 + } + scale = 1 + rescaleFactor = 2.0 + + node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0 + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,1,0,0,0 + + TechRequired = advModernScience + entryCost = 0 + cost = 1000 + category = Science + subcategory = 0 + title = IST04 - Cryocooled Infrared Space Telescope + manufacturer = Realism Overhaul + description = The Cryocooled Infrared Space Telescope is primarily used to take infrared spectrum images of deep space, but can also image certain solar system targets and characterize exoplanets. Its advanced thermal system never runs out of coolant. Historically, this represents the James Webb Space Telescope. + + mass = 6.5 // JWST massed 6,500 kg at launch + bulkheadProfiles = size0, srf + crashTolerance = 10 + maxTemp = 1200 + emissiveConstant = 0.85 + thermalMassModifier = 4.0 + + angularDrag = 2 + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + PhysicsSignificance = 1 + + tags = jwst telescope infrared ist science cryocooled + + MODULE + { + name = Experiment + experiment_id = RP0InfraredSpaceTelescope4 + } +} diff --git a/GameData/RP-1/Programs/Programs.cfg b/GameData/RP-1/Programs/Programs.cfg index 77950db6611..68f435d91be 100644 --- a/GameData/RP-1/Programs/Programs.cfg +++ b/GameData/RP-1/Programs/Programs.cfg @@ -843,6 +843,63 @@ RP0_PROGRAM } } +RP0_PROGRAM +{ + name = GreatObservatories + title = Great Observatories + description = After the success of the world's first space telescopes, the next step is to fly much larger observatories enabled by modern launch vehicles. For this program, the goal is to launch an expanding series of space telescopes to a variety of science orbits, and to service and upgrade them with crew. This will greatly advance every our knowledge of field of astronomy, but especially those like infrared and gamma-ray science that are blocked by the Earth's atmosphere, and thus inaccessible to ground-based telescopes. Our astronauts will also gain valuable experience in conducting complex EVAs. You will need to research Advanced Science Experiments and Advanced Communications to complete this program. + requirementsPrettyText = Complete the Advanced Crewed Orbit and Earth Observation Science programs, and research Sample Return Science Experiments + objectivesPrettyText = Launch space telescopes to observe all parts of the electromagnetic spectrum, and establish a crewed space telescope servicing capability. + nominalDurationYears = 6 // still testing + baseFunding = 2400000 // still testing + fundingCurve = Frontloaded + repDeltaOnCompletePerYearEarly = 390 + repPenaltyPerYearLate = 390 + slots = 2 + + REQUIREMENTS + { + ALL + { + complete_program = CrewedOrbitAdv + complete_program = EarthObservationScience1 + // complete_contract = EOSFirstSpaceTelescope // commented out and contract disabled while there is no program to put it in. should go in EOS 2 when available, then renamed and un-commented here + research_tech = sampleReturnScience + } + } + + OBJECTIVES + { + FACILITY_LEVEL + { + facility = TrackingStation + level = 7 + } + complete_contract = GOFirstInfraredSpaceTelescope + complete_contract = GOLargeSpaceTelescope + complete_contract = GOInfraredSpaceObservatory + complete_contract = GOCrewedServicing + complete_contract = GOEarthTrailingInfraredTelescope + complete_contract = GOSpaceTelescopeL2 + research_tech = advancedScience + } + + OPTIONALS + { + GOHeavySpaceTelescope = true + GOEllipticalSpaceTelescope = true + GOInfraredServicing = true + GOCrewedServicingRepeat = true + GOInfraredServicingRepeat = true + } + + CONFIDENCECOSTS + { + Normal = 1300 // still testing + Fast = 2600 // still testing + } +} + RP0_PROGRAM { name = EarlyInnerPlanetProbes diff --git a/GameData/RP-1/Scenarios/1986Start.cfg b/GameData/RP-1/Scenarios/1986Start.cfg new file mode 100644 index 00000000000..584c0f64ccc --- /dev/null +++ b/GameData/RP-1/Scenarios/1986Start.cfg @@ -0,0 +1,239 @@ +CUSTOMSCENARIO +{ + name = 1986 GO Test + description = A start for testing the Great Observatories program. Soviet-biased, because after GO testing is complete it will be reworked into a Mir-era (1986) Soviet start. A current limitation of custom scenario start is that you will not be able to choose a different launch site than the default Cape Canaveral to start. + startingFunds = 25000 // placeholder + unlockCredit = 1000000 // arbitrary for testing, unlocking engines that will already be unlocked, etc. + startingScience = 300 // enough to start researching Advanced Science (likely more from ESS) + sciEarned = 8587 // total of all nodes in unlockedTechs + startingRep = 3500 // total rep from Early Space Stations, with decay until 1986 + startingConfidence = 14000 // enough to take GO at whatever speed for testing, calculated from ESS rep-to-confidence + startingDate = 1986-01-01T06:00:00 + unlockedTechs = matureTurbofans, spaceShuttles, improvedCapsules, earlySpaceStations, largeSpaceplaneControl, lunarLanding, hydrolox1969, FRSC1981, orbitalRocketry1981, stagedCombustion1981, elecPropulsion1981, basicNuclearPropulsion, improvedLifeSupport, materialsScienceSpaceplanes, electronicsSpaceplanes, gphsRTG, maturePower, advancedComms, advancedAvionics, sampleReturnScience + unlockPartsInParentNodes = false + unlockPartUpgrades = false + partUnlockFilters = + facilities = ASTRONAUT@4, MISSION@3, TRACKING@4, ADMIN@3 + applicants = 985 + tfStartingDU = A-4@5000,WAC-Corporal@5000,XASR-1@5000,RD-100@5000,RD-101@2500 + rfUnlockedConfigs = XASR-1,AJ10-27,XLR11-RM-3,XLR41-NA-1,ORM65,RD-100,RD-101 + completedContracts = first_FirstFlight, KarmanLine + acceptedContracts = + + COMPLETED_PROGRAM + { + name = SuborbRocketDev + speed = Fast + accepted = 1951-01-01T00:01:00 + objectivesCompleted = 1955-01-01T06:00:00 + completed = 1955-01-01T06:00:00 + } + + COMPLETED_PROGRAM + { + name = SuborbRocketResearch + speed = Normal + accepted = 1951-01-01T00:01:00 + objectivesCompleted = 1955-01-01T06:00:00 + completed = 1955-01-01T06:00:00 + } + + COMPLETED_PROGRAM + { + name = EarlySatellites-Heavy + speed = Fast + accepted = 1955-01-01T00:01:00 + objectivesCompleted = 1958-05-17T06:00:00 + completed = 1958-05-17T06:00:00 + } + + COMPLETED_PROGRAM + { + name = EarthObservationScience1 + speed = Normal + accepted = 1958-05-17T06:00:00 + objectivesCompleted = 1960-09-19T06:00:00 + completed = 1960-09-19T06:00:00 + } + + COMPLETED_PROGRAM + { + name = CrewedOrbitEarly + speed = Normal + accepted = 1958-05-17T06:00:00 + objectivesCompleted = 1961-08-07T06:00:00 + completed = 1963-06-19T06:00:00 + } + + COMPLETED_PROGRAM + { + name = EarlyLunarProbes + speed = Normal + accepted = 1958-05-17T06:00:00 + objectivesCompleted = 1966-03-01T06:00:00 + completed = 1966-03-01T06:00:00 + } + + COMPLETED_PROGRAM + { + name = CrewedOrbitAdv + speed = Normal + accepted = 1963-06-19T06:00:00 + objectivesCompleted = 1969-01-18T06:00:00 + completed = 1969-01-18T06:00:00 + } + + COMPLETED_PROGRAM + { + name = CommercialApplications1 + speed = Normal + accepted = 1964-05-18T06:00:00 + objectivesCompleted = 1966-10-20T06:00:00 + completed = 1966-10-20T06:00:00 + } + + COMPLETED_PROGRAM + { + name = UncrewedLunarSurface + speed = Normal + accepted = 1966-03-01T06:00:00 + objectivesCompleted = 1970-09-24T06:00:00 + completed = 1970-09-24T06:00:00 + } + + COMPLETED_PROGRAM + { + name = EarlyInnerPlanetProbes + speed = Normal + accepted = 1967-10-18T06:00:00 + objectivesCompleted = 1975-10-20T06:00:00 + completed = 1975-10-20T06:00:00 + } + + COMPLETED_PROGRAM + { + name = VenusSurfaceExp + speed = Normal + accepted = 1975-10-20T06:00:00 + objectivesCompleted = 1982-03-05T06:00:00 + completed = 1982-03-05T06:00:00 + } + + COMPLETED_PROGRAM + { + name = EarlyXPlanes + speed = Normal + accepted = 1972-08-22T06:00:00 + objectivesCompleted = 1982-06-03T06:00:00 + completed = 1982-06-03T06:00:00 + } + + LCData + { + Name = Soyuz-U LC 320t Uncrewed + massMax = 320 + massOrig = 280 + sizeMax = 9,52,9 + lcType = Pad + isHumanRated = false + resourcesHandled + { + LqdOxygen = 170000 + Kerosene = 105000 + HTP = 6000 + } + } + + LCData + { + Name = Soyuz-U LC 320t Crewed + massMax = 320 + massOrig = 280 + sizeMax = 9,52,9 + lcType = Pad + isHumanRated = true + resourcesHandled + { + LqdOxygen = 170000 + Kerosene = 105000 + HTP = 6000 + } + } + + LCData + { + Name = Proton LC 460t + massMax = 700 + massOrig = 670 + sizeMax = 9,62,9 + lcType = Pad + isHumanRated = true // human-rated so it can launch station parts + resourcesHandled + { + UDMH = 185000 + NTO = 470000 + } + } + + COMPLETED_EXPERIMENTS + { + BODY + { + name = Earth + + EXPERIMENT + { + name = temperatureScan + + SITUATIONS + { + name = FlyingHigh + name = InSpaceLow + } + } + + EXPERIMENT + { + name = barometerScan + + SITUATIONS + { + name = FlyingHigh + name = InSpaceLow + } + } + + EXPERIMENT + { + name = RP0telemetry1 + + SITUATIONS + { + name = FlyingHigh + name = InSpaceLow + } + } + + EXPERIMENT + { + name = RP0massSpec1 + + SITUATIONS + { + name = FlyingHigh + } + } + + EXPERIMENT + { + name = RP0photos1 + + SITUATIONS + { + name = FlyingHigh + name = InSpaceLow + } + } + } + } +} diff --git a/GameData/RP-1/Science/Experiments/BasicSpaceTelescope.cfg b/GameData/RP-1/Science/Experiments/BasicSpaceTelescope.cfg new file mode 100644 index 00000000000..dff16b7c97f --- /dev/null +++ b/GameData/RP-1/Science/Experiments/BasicSpaceTelescope.cfg @@ -0,0 +1,179 @@ +//==================================================================================// +// Basic Space Telescope 1 +//==================================================================================// + +EXPERIMENT_DEFINITION +{ + id = RP0BasicSpaceTelescope1 + title = Space Telescope + baseValue = 250 + scienceCap = 250 // 50 per year + dataScale = 45.625 // 25 KB per day + requireAtmosphere = False + situationMask = 48 + biomeMask = 0 + + + RESULTS + { + default = Images taken! + } + + KERBALISM_EXPERIMENT + { + // sample mass in tons. if undefined or 0, the experiment produce a file + SampleMass = 0 + BodyAllowed = HomeBody + BodyAllowed = Sun + IncludeExperiment = + } +} + +// Add experiment to part + +@PART[*]:HAS[@MODULE[Experiment]]:AFTER[RP-0-Kerbalism] +{ + @MODULE[Experiment]:HAS[#experiment_id[RP0BasicSpaceTelescope1]] + { + %ec_rate = 0.500 // 500 W + %data_rate = 45.625 // 25 KB per day + @data_rate /= 157680000 // 5 years + %requires = + %resources = + allow_shrouded = false + } +} + + +// ============================================================================ +// Basic Space Telescope 2, Hubble Space Telescope prior to SM 2 +// ============================================================================ +EXPERIMENT_DEFINITION +{ + id = RP0BasicSpaceTelescope2 + title = Space Telescope 2 + baseValue = 1000 + scienceCap = 1000 // 50 per year + dataScale = 7300000 // 7 GB per week + requireAtmosphere = False + situationMask = 48 + biomeMask = 0 + + RESULTS + { + default = Images taken! + } + + KERBALISM_EXPERIMENT + { + // sample mass in tons. if undefined or 0, the experiment produce a file + SampleMass = + // restriction = Body:HomeBody;Sun + BodyAllowed = HomeBody + BodyAllowed = Sun + IncludeExperiment = RP0BasicSpaceTelescope1 + } +} + +// Add experiment to part + +@PART[*]:HAS[@MODULE[Experiment]]:AFTER[RP-0-Kerbalism] +{ + @MODULE[Experiment]:HAS[#experiment_id[RP0BasicSpaceTelescope2]] + { + %ec_rate = 2.1 // 2.1 kW + %data_rate = 7300000 // 7 GB per week + @data_rate /= 630720000 //20 years + %requires = + %resources = + allow_shrouded = false + } +} +// ============================================================================ +// Basic Space Telescope 3, Hubble after Servicing Mission 4 +// ============================================================================ +EXPERIMENT_DEFINITION +{ + id = RP0BasicSpaceTelescope3 + title = Space Telescope 3 + baseValue = 2000 // 100 per year + scienceCap = 2000 + dataScale = 18720000 // 18 GB per week + requireAtmosphere = False + situationMask = 48 + biomeMask = 0 + + RESULTS + { + default = Images taken! + } + + KERBALISM_EXPERIMENT + { + // sample mass in tons. if undefined or 0, the experiment produce a file + SampleMass = 0 + // restriction = Body:HomeBody;Sun + BodyAllowed = HomeBody + BodyAllowed = Sun + IncludeExperiment = RP0BasicSpaceTelescope2 + } +} + +// Add experiment to part + +@PART[*]:HAS[@MODULE[Experiment]]:AFTER[RP-0-Kerbalism] +{ + @MODULE[Experiment]:HAS[#experiment_id[RP0BasicSpaceTelescope3]] + { + %ec_rate = 2.1 // 2.1 kW + %data_rate = 18720000 // 18 GB per week + @data_rate /= 630720000 // 20 years + %requires = + %resources = + allow_shrouded = false + } +} + +// ============================================================================ +// Basic Space Telescope 4, WFIRST/Nancy Grace Roman Space Telescope +// ============================================================================ +EXPERIMENT_DEFINITION +{ + id = RP0BasicSpaceTelescope4 + title = Space Telescope 4 + baseValue = 4000 + scienceCap = 4000 // 200 per year + dataScale = 10037500000 // 1.375 TB per day + requireAtmosphere = False + situationMask = 48 + biomeMask = 0 + + RESULTS + { + default = Images taken! + } + KERBALISM_EXPERIMENT + { + // sample mass in tons. if undefined or 0, the experiment produce a file + SampleMass = 0 + // restriction = Body:HomeBody;Sun + BodyAllowed = HomeBody + BodyAllowed = Sun + IncludeExperiment = RP0BasicSpaceTelescope3 + } +} + +// Add experiment to part + +@PART[*]:HAS[@MODULE[Experiment]]:AFTER[RP-0-Kerbalism] +{ + @MODULE[Experiment]:HAS[#experiment_id[RP0BasicSpaceTelescope4]] + { + %ec_rate = 2.5 // 2.5 kW + %data_rate = 10037500000 // 1.375 TB per day + @data_rate /= 630720000 // 20 years + %requires = + %resources = + allow_shrouded = false + } +} diff --git a/GameData/RP-1/Science/Experiments/InfraredSpaceTelescope.cfg b/GameData/RP-1/Science/Experiments/InfraredSpaceTelescope.cfg new file mode 100644 index 00000000000..58ae1b4a761 --- /dev/null +++ b/GameData/RP-1/Science/Experiments/InfraredSpaceTelescope.cfg @@ -0,0 +1,232 @@ +//==================================================================================// +// Infrared Space Telescope 1, based on IRAS +//==================================================================================// + +EXPERIMENT_DEFINITION +{ + id = RP0InfraredSpaceTelescope1 + title = Infrared Space Telescope + baseValue = 250 + scienceCap = 250 // 50 per year + dataScale = 363.175 // 0.199 MB/day + requireAtmosphere = False + situationMask = 48 + biomeMask = 0 + + + RESULTS + { + default = Images taken! + } + + KERBALISM_EXPERIMENT + { + // sample mass in tons. if undefined or 0, the experiment produce a file + SampleMass = 0 + BodyAllowed = HomeBody + BodyAllowed = Sun + IncludeExperiment = + } +} + +// Add experiment to part + +@PART[*]:HAS[@MODULE[Experiment]]:AFTER[RP-0-Kerbalism] +{ + @MODULE[Experiment]:HAS[#experiment_id[RP0InfraredSpaceTelescope1]] + { + %ec_rate = 0.0483 // 48.3 W + %data_rate = 363.175 // 0.199 MB/day + @data_rate /= 157680000 // 5 years + %requires = + %resources = LqdHelium@0.00002251157 // 1.945 liters/day + allow_shrouded = false + } +} + +// ============================================================================ +// Infrared Space Telescope 2, based on the Infrared Space Observatory +// ============================================================================ +EXPERIMENT_DEFINITION +{ + id = RP0InfraredSpaceTelescope2 + title = Infrared Space Telescope 2 + baseValue = 1000 + scienceCap = 1000 // 100 per year + dataScale = 928322.75 // 254.335 megabytes per day + requireAtmosphere = False + situationMask = 48 + biomeMask = 0 + resources = + + RESULTS + { + default = Images taken! + } + + KERBALISM_EXPERIMENT + { + // sample mass in tons. if undefined or 0, the experiment produce a file + SampleMass = + BodyAllowed = HomeBody + BodyAllowed = Sun + IncludeExperiment = RP0InfraredSpaceTelescope1 + } +} + +// Add experiment to part + +@PART[*]:HAS[@MODULE[Experiment]]:AFTER[RP-0-Kerbalism] +{ + @MODULE[Experiment]:HAS[#experiment_id[RP0InfraredSpaceTelescope2]] + { + %ec_rate = 0.600 // 600 W + %data_rate = 928322.75 // 254.335 megabytes per day + @data_rate /= 315360000 // 10 years + %requires = + %resources = LqdHelium@0.00003059027 // 2.643 liters/day + allow_shrouded = false + } +} + +// ============================================================================ +// Infrared Space Telescope 3, based on Spitzer +// ============================================================================ +EXPERIMENT_DEFINITION +{ + id = RP0InfraredSpaceTelescope3 + title = Infrared Space Telescope 3 + baseValue = 2000 + scienceCap = 2000 // 100 per year + dataScale = 5420250 // 742.5 megabytes per day + requireAtmosphere = False + situationMask = 48 + biomeMask = 0 + resources = + + RESULTS + { + default = Images taken! + } + + KERBALISM_EXPERIMENT + { + // sample mass in tons. if undefined or 0, the experiment produce a file + SampleMass = + BodyAllowed = HomeBody + BodyAllowed = Sun + IncludeExperiment = RP0InfraredSpaceTelescope3 + } +} + +// Add experiment to part + +@PART[*]:HAS[@MODULE[Experiment]]:AFTER[RP-0-Kerbalism] +{ + @MODULE[Experiment]:HAS[#experiment_id[RP0InfraredSpaceTelescope3]] + { + %ec_rate = 0.427 // 427 W + %data_rate = 5420250 // 742.5 megabytes per day + @data_rate /= 630720000 // 20 years + %requires = + %resources = LqdHelium@0.00000201288 // 0.1739 liters per day + allow_shrouded = false + } +} + +// ============================================================================ +// Infrared Space Telescope 4, based on JWST +// ============================================================================ +EXPERIMENT_DEFINITION +{ + id = RP0InfraredSpaceTelescope4 + title = Infrared Space Telescope 4 + baseValue = 4000 // 200 per year + scienceCap = 4000 + dataScale = 416100000 // 57 GB per day + requireAtmosphere = False + situationMask = 48 + biomeMask = 0 + + RESULTS + { + default = Images taken! + } + + KERBALISM_EXPERIMENT + { + // sample mass in tons. if undefined or 0, the experiment produce a file + SampleMass = 0 + BodyAllowed = HomeBody + BodyAllowed = Sun + IncludeExperiment = RP0InfraredSpaceTelescope3 + } +} + +// Add experiment to part + +@PART[*]:HAS[@MODULE[Experiment]]:AFTER[RP-0-Kerbalism] +{ + @MODULE[Experiment]:HAS[#experiment_id[RP0InfraredSpaceTelescope4]] + { + %ec_rate = 2.1 // 2.1 kW + %data_rate = 416100000 // 57 GB per day + @data_rate /= 630720000 // 20 years + %requires = + %resources = + allow_shrouded = false + } +} + +// ============================================================================ +// Infrared Space Telescope 5, HabEx telescope +// ============================================================================ +// EXPERIMENT_DEFINITION +// { +// id = RP0InfraredSpaceTelescope5 +// title = Infrared Space Telescope 5 +// baseValue = 6000 +// scienceCap = 6000 // 300 per year +// dataScale = 220000000 // 11 TB per year +// requireAtmosphere = False +// situationMask = 48 +// biomeMask = 0 +// +// RESULTS +// { +// default = Images taken! +// } +// KERBALISM_EXPERIMENT +// { +// // sample mass in tons. if undefined or 0, the experiment produce a file +// SampleMass = 0 +// BodyAllowed = HomeBody +// BodyAllowed = Sun +// IncludeExperiment = RP0InfraredSpaceTelescope4 +// } +// } +// +// //ROK +// @PART[*]:HAS[@MODULE[ModuleScienceExperiment]:HAS[#experimentID[RP0InfraredSpaceTelescope5]]]:FOR[RP-0-Kerbalism] +// { +// !MODULE[ModuleScienceExperiment]:HAS[#experimentID[RP0InfraredSpaceTelescope5]] {} +// MODULE +// { +// name = Experiment +// experiment_id = RP0InfraredSpaceTelescope5 +// anim_deploy = deploy +// } +// } +// +// @PART[*]:HAS[@MODULE[Experiment]]:AFTER[RP-0-Kerbalism] +// { +// @MODULE[Experiment]:HAS[#experiment_id[RP0InfraredSpaceTelescope5]] +// { +// %ec_rate = 6.9 // 6.9 kW +// %data_rate = 220000000 // 11 TB per year +// @data_rate /= 630720000 // 20 years +// %requires = +// %resources = +// allow_shrouded = false +// } +// } diff --git a/GameData/RP-1/Tree/TREE-Parts.cfg b/GameData/RP-1/Tree/TREE-Parts.cfg index faf489c5bb1..88d8b66e0ba 100644 --- a/GameData/RP-1/Tree/TREE-Parts.cfg +++ b/GameData/RP-1/Tree/TREE-Parts.cfg @@ -5953,6 +5953,50 @@ RP0conf = true @description ^=:$: From B9 Procedural Wings mod } +@PART[RO-BST01Test]:FOR[xxxRP0] +{ + %TechRequired = scienceLunar + %cost = 1000 + %entryCost = 0 + RP0conf = true + @description ^=:$: From RP-1 (Coatl Model) mod + + %MODULE[ModuleTagList] { tag = Instruments } + +} +@PART[RO-BST02Test]:FOR[xxxRP0] +{ + %TechRequired = sampleReturnScience + %cost = 1000 + %entryCost = 0 + RP0conf = true + @description ^=:$: From RP-1 (Coatl Model) mod + + %MODULE[ModuleTagList] { tag = Instruments } + +} +@PART[RO-BST03Test]:FOR[xxxRP0] +{ + %TechRequired = advancedScience + %cost = 1000 + %entryCost = 0 + RP0conf = true + @description ^=:$: From RP-1 (Coatl Model) mod + + %MODULE[ModuleTagList] { tag = Instruments } + +} +@PART[RO-BST04Test]:FOR[xxxRP0] +{ + %TechRequired = advModernScience + %cost = 1000 + %entryCost = 0 + RP0conf = true + @description ^=:$: From RP-1 (Coatl Model) mod + + %MODULE[ModuleTagList] { tag = Instruments } + +} @PART[RO-BasicFilmCamera]:FOR[xxxRP0] { %TechRequired = scienceSatellite @@ -6196,6 +6240,50 @@ %MODULE[ModuleTagList] { tag = Instruments } +} +@PART[RO-IST01Test]:FOR[xxxRP0] +{ + %TechRequired = scienceExploration + %cost = 1000 + %entryCost = 0 + RP0conf = true + @description ^=:$: From RP-1 (Coatl Model) mod + + %MODULE[ModuleTagList] { tag = Instruments } + +} +@PART[RO-IST02Test]:FOR[xxxRP0] +{ + %TechRequired = sampleReturnScience + %cost = 1000 + %entryCost = 0 + RP0conf = true + @description ^=:$: From RP-1 (Coatl Model) mod + + %MODULE[ModuleTagList] { tag = Instruments } + +} +@PART[RO-IST03Test]:FOR[xxxRP0] +{ + %TechRequired = advancedScience + %cost = 1000 + %entryCost = 0 + RP0conf = true + @description ^=:$: From RP-1 (Coatl Model) mod + + %MODULE[ModuleTagList] { tag = Instruments } + +} +@PART[RO-IST04Test]:FOR[xxxRP0] +{ + %TechRequired = advModernScience + %cost = 1000 + %entryCost = 0 + RP0conf = true + @description ^=:$: From RP-1 (Coatl Model) mod + + %MODULE[ModuleTagList] { tag = Instruments } + } @PART[RO-ImprovedFilmCamera]:FOR[xxxRP0] { diff --git a/Source/Tech Tree/Parts Browser/data/RP_1__Coatl_Model.json b/Source/Tech Tree/Parts Browser/data/RP_1__Coatl_Model.json index fe3b02ae758..2742962a1b1 100644 --- a/Source/Tech Tree/Parts Browser/data/RP_1__Coatl_Model.json +++ b/Source/Tech Tree/Parts Browser/data/RP_1__Coatl_Model.json @@ -48,5 +48,205 @@ "module_tags": [ "Instruments" ] + }, + { + "name": "RO-BST01Test", + "title": "BST01 - Early Space Telescope", + "description": "The Early Space Telescope is primarily used to take images of deep space, but can also image certain solar system targets. Historically, this represents the OAO and OAO-2 space telescopes.", + "mod": "RP-1 (Coatl Model)", + "cost": 1000, + "entry_cost": 0, + "category": "SCIENCE", + "info": "Space Telescope", + "year": "1968", + "technology": "scienceLunar", + "era": "", + "ro": true, + "rp0": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "", + "identical_part_name": "", + "module_tags": [ + "Instruments" + ] + }, + { + "name": "RO-BST02Test", + "title": "BST02 - Improved Space Telescope", + "description": "The Improved Space Telescope is primarily used to take images of deep space, but can also image certain solar system targets. Historically, this represents the Hubble Space Telescope after the first servicing mission.", + "mod": "RP-1 (Coatl Model)", + "cost": 1000, + "entry_cost": 0, + "category": "SCIENCE", + "info": "Space Telescope", + "year": "1990", + "technology": "sampleReturnScience", + "era": "", + "ro": true, + "rp0": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "", + "identical_part_name": "", + "module_tags": [ + "Instruments" + ] + }, + { + "name": "RO-BST03Test", + "title": "BST03 - Advanced Space Telescope", + "description": "The Advanced Space Telescope is primarily used to take images of deep space, but can also image certain solar system targets. Historically, this represents the upgraded Hubble Space Telescope after Servicing Mission 4.", + "mod": "RP-1 (Coatl Model)", + "cost": 1000, + "entry_cost": 0, + "category": "SCIENCE", + "info": "Space Telescope", + "year": "2008", + "technology": "advancedScience", + "era": "", + "ro": true, + "rp0": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "", + "identical_part_name": "", + "module_tags": [ + "Instruments" + ] + }, + { + "name": "RO-BST04Test", + "title": "BST04 - Next Generation Space Telescope", + "description": "The Next Generation Space Telescope is primarily used to take images of deep space, but can also image certain solar system targets. Historically, this represents the upcoming Nancy Grace Roman Space Telescope, aka WFIRST.", + "mod": "RP-1 (Coatl Model)", + "cost": 1000, + "entry_cost": 0, + "category": "SCIENCE", + "info": "Space Telescope", + "year": "2027", + "technology": "advModernScience", + "era": "", + "ro": true, + "rp0": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "", + "identical_part_name": "", + "module_tags": [ + "Instruments" + ] + }, + { + "name": "RO-IST01Test", + "title": "IST01 - Early Infrared Space Telescope", + "description": "The Early Infrared Space Telescope is primarily used to take infrared spectrum images of deep space, but can also image certain solar system targets. Historically, this represents the Infrared Astrononomical Satellite (IRAS).", + "mod": "RP-1 (Coatl Model)", + "cost": 1000, + "entry_cost": 0, + "category": "SCIENCE", + "info": "Infrared Space Telescope", + "year": "1983", + "technology": "scienceExploration", + "era": "", + "ro": true, + "rp0": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "", + "identical_part_name": "", + "module_tags": [ + "Instruments" + ] + }, + { + "name": "RO-IST02Test", + "title": "IST02 - Improved Infrared Space Telescope", + "description": "The Improved Infrared Space Telescope is primarily used to take infrared spectrum images of deep space, but can also image certain solar system targets. Historically, this represents the Infrared Space Observatory.", + "mod": "RP-1 (Coatl Model)", + "cost": 1000, + "entry_cost": 0, + "category": "SCIENCE", + "info": "Infrared Space Telescope", + "year": "1995", + "technology": "sampleReturnScience", + "era": "", + "ro": true, + "rp0": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "", + "identical_part_name": "", + "module_tags": [ + "Instruments" + ] + }, + { + "name": "RO-IST03Test", + "title": "IST03 - Advanced Infrared Space Telescope", + "description": "The Advanced Infrared Space Telescope is primarily used to take infrared spectrum images of deep space, but can also image certain solar system targets and help detect and characterize exoplanets. Historically, this represents the Spitzer Space Telescope.", + "mod": "RP-1 (Coatl Model)", + "cost": 1000, + "entry_cost": 0, + "category": "SCIENCE", + "info": "Infrared Space Telescope", + "year": "2003", + "technology": "advancedScience", + "era": "", + "ro": true, + "rp0": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "", + "identical_part_name": "", + "module_tags": [ + "Instruments" + ] + }, + { + "name": "RO-IST04Test", + "title": "IST04 - Cryocooled Infrared Space Telescope", + "description": "The Cryocooled Infrared Space Telescope is primarily used to take infrared spectrum images of deep space, but can also image certain solar system targets and characterize exoplanets. Its advanced thermal system never runs out of coolant. Historically, this represents the James Webb Space Telescope.", + "mod": "RP-1 (Coatl Model)", + "cost": 1000, + "entry_cost": 0, + "category": "SCIENCE", + "info": "Infrared Space Telescope", + "year": "2021", + "technology": "advModernScience", + "era": "", + "ro": true, + "rp0": true, + "orphan": false, + "rp0_conf": true, + "spacecraft": "", + "engine_config": "", + "upgrade": false, + "entry_cost_mods": "", + "identical_part_name": "", + "module_tags": [ + "Instruments" + ] } ] \ No newline at end of file