diff --git a/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Heatshield.mu b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Heatshield.mu new file mode 100644 index 00000000000..9b89a4cb0bc Binary files /dev/null and b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Heatshield.mu differ diff --git a/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Parachute.mu b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Parachute.mu new file mode 100644 index 00000000000..a4526568a42 Binary files /dev/null and b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Parachute.mu differ diff --git a/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Pod.mu b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Pod.mu new file mode 100644 index 00000000000..4782d4dfd3a Binary files /dev/null and b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Pod.mu differ diff --git a/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Retro.mu b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Retro.mu new file mode 100644 index 00000000000..a268341ee09 Binary files /dev/null and b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Retro.mu differ diff --git a/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Keyhole_Capsule.dds b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Keyhole_Capsule.dds new file mode 100644 index 00000000000..52ea57863ce Binary files /dev/null and b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Keyhole_Capsule.dds differ diff --git a/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Keyhole_Capsule_NRM.dds b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Keyhole_Capsule_NRM.dds new file mode 100644 index 00000000000..730453af4c4 Binary files /dev/null and b/GameData/RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Keyhole_Capsule_NRM.dds differ diff --git a/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleFilmBucket.cfg b/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleFilmBucket.cfg new file mode 100644 index 00000000000..3e9bff8800f --- /dev/null +++ b/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleFilmBucket.cfg @@ -0,0 +1,351 @@ +// ============================================================================ +// Based on the Discoverer Series of Return Capsules +// Source #1: Smithsonian Air and Space Museum +// Source #2: https://www.nro.gov/Portals/65/documents/history/csnr/corona/Intel_Revolution_Web.pdf +// ============================================================================ + +PART +{ + module = Part + name = RP0-SampleReturnFilmBucket + author = CobaltWolf, AlbertKermin, Pap + + RSSROConfig = true + RP0conf = true + + // ============================================================================ + // Model and Dimensions + // ============================================================================ + + MODEL + { + model = RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Heatshield + scale = 1, 1, 1 + } + + scale = 1.0 + rescaleFactor = 1.6 + + node_stack_bottom = 0.0, -0.055, 0.0, 0.0, -1.0, 0.0, 1 + // stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,0,1,1,0 + + bulkheadProfiles = size1 + + // ============================================================================ + // Title, Description, Category, Techs + // ============================================================================ + + title = Sample Return Heatshield + manufacturer = Generic + description = This is the control section of the Sample Return Capsule that allows for reentry orientation and parachute deployment. Don't forget to enable the RCS before reentry orientation. + + mass = 0.04 // 40 kg + + category = Control + subcategory = 0 + + tags = science, return, sample, discoverer, corona + + TechRequired = unlockParts + cost = 150 + entryCost = 1 + + stagingIcon = COMMAND_POD + vesselType = Probe + + // ============================================================================ + // Thermo, Durability + // ============================================================================ + + crashTolerance = 14 + maxTemp = 800 + skinMaxTemp = 1500 + skinSkinConductionMult = 0.5 + heatConductivity = 0.06 // default is 0.12 + buoyancy = 1.1 + + // ============================================================================ + // Modules and Resources + // ============================================================================ + + MODULE + { + name = ModuleCommand + minimumCrew = 0 + RESOURCE + { + name = ElectricCharge + rate = 0.01 + } + } + + MODULE + { + name = ModuleSAS + SASServiceLevel = 1 + } + + // 15 Minutes worth of Power + RESOURCE + { + name = ElectricCharge + amount = 30 + maxAmount = 30 + } + + MODULE + { + name = ModuleRCSFX + stagingEnabled = False + thrusterTransformName = rcsTransform + resourceFlowMode = STACK_PRIORITY_SEARCH + thrusterPower = 0.028 + runningEffectName = running + + PROPELLANT + { + name = Nitrogen + ratio = 1.0 + DrawGauge = True + } + + atmosphereCurve + { + key = 0 80 + key = 1 73 + key = 4 0.001 + } + } + + RESOURCE + { + name = Nitrogen + amount = 4000 + maxAmount = 4000 + } + + MODULE:NEEDS[!RealChute] + { + name = ModuleParachute + semiDeployedAnimation = SampleReturnChute_partial + fullyDeployedAnimation = SampleReturnChute_full + invertCanopy = false + autoCutSpeed = 0.5 + capName = cap + canopyName = canopy + stowedDrag = 0.22 + semiDeployedDrag = 1 + fullyDeployedDrag = 375 + minAirPressureToOpen = 0.04 + clampMinAirPressure = 0.04 + deployAltitude = 1000 + deploymentSpeed = 0.5 + semiDeploymentSpeed = 0.5 + chuteMaxTemp = 650 + } + + MODULE + { + name = ModuleDragModifier + dragCubeName = SEMIDEPLOYED + dragModifier = 0.66 + } + + MODULE + { + name = ModuleDragModifier + dragCubeName = DEPLOYED + dragModifier = 24 + } + + MODULE:NEEDS[RealChute] + { + name = RealChuteModule + caseMass = 0.008 + mustGoDown = True + spareChutes = 0 + cutSpeed = 0.5 + reverseOrientation = true + + PARACHUTE + { + parachuteName = canopy + capName = cap + preDeploymentAnimation = SampleReturnChute_partial + deploymentAnimation = SampleReturnChute_full + material = Nylon + minIsPressure = False + minPressure = 0.01 + preDeployedDiameter = 0.75 + preDeploymentSpeed = 2 + minDeployment = 5000 + deployedDiameter = 10 + deploymentSpeed = 6 + deploymentAlt = 1000 + cutAlt = 0 + reverseOrientation = true + } + } + + MODULE + { + name = ModuleDataTransmitter + antennaType = INTERNAL + packetInterval = 1.0 + packetSize = 1.0 + requiredResource = ElectricCharge + antennaPower = 400 + packetResourceCost = 0.004 + } + + // ============================================================================ + // Stock effect + // ============================================================================ + EFFECTS:NEEDS[!Waterfall] + { + rcpredeploy + { + AUDIO + { + channel = Ship + clip = sound_parachute_open + volume = 1 + } + } + rcdeploy + { + AUDIO + { + channel = Ship + clip = sound_parachute_single + volume = 1 + } + } + rccut + { + AUDIO + { + channel = Ship + clip = RealChute/Sounds/sound_parachute_cut + volume = 1 + } + } + rcrepack + { + AUDIO + { + channel = Ship + clip = RealChute/Sounds/sound_parachute_repack + volume = 1 + } + } + running + { + AUDIO_MULTI + { + channel = Ship + transformName = rcsTransform + clip = sound_rocket_mini + volume = 0.0 0.0 + volume = 0.1 0.0 + volume = 0.5 0.025 + volume = 1.0 0.1 + pitch = 0.0 0.75 + pitch = 1.0 1.5 + loop = true + } + MODEL_MULTI_PARTICLE + { + modelName = Squad/FX/Monoprop_small + transformName = rcsTransform + emission = 0.0 0.0 + emission = 0.1 0.0 + emission = 1.0 1.0 + speed = 0.0 0.8 + speed = 1.0 1.0 + localRotation = -90, 0, 0 + } + } + } +} + +// ============================================================================ +// Waterfall effect +// ============================================================================ + +@PART[RP0-SampleReturnCommand]:BEFORE[ROWaterfall]:NEEDS[Waterfall] +{ + ROWaterfall + { + template = rowaterfall-rcs-cold-gas-1 + audio = rcs-jet-1 + transform = rcsTransform + position = 0,-0.012,0 + rotation = 180, 0, 0 + scale = 0.2, 0.2, 0.2 + } +} + +// ============================================================================ +// Chute sound effects +// ============================================================================ +//Run after waterfall since waterfall deletes existing effects + +@PART[RP0-SampleReturnCommand]:AFTER[ROWaterfall]:NEEDS[Waterfall] +{ + %EFFECTS + { + rcpredeploy + { + AUDIO + { + channel = Ship + clip = sound_parachute_open + volume = 1 + } + } + rcdeploy + { + AUDIO + { + channel = Ship + clip = sound_parachute_single + volume = 1 + } + } + rccut + { + AUDIO + { + channel = Ship + clip = RealChute/Sounds/sound_parachute_cut + volume = 1 + } + } + rcrepack + { + AUDIO + { + channel = Ship + clip = RealChute/Sounds/sound_parachute_repack + volume = 1 + } + } + } +} + +// ============================================================================ +// Apply thermo properties after RO runs +// ============================================================================ + +@PART[RP0-SampleReturnCommand]:AFTER[zzzRealismOverhaul] +{ + %maxTemp = 800 + %skinMaxTemp = 1500 + @maxTemp:NEEDS[DeadlyReentry] = 940 + @skinMaxTemp:NEEDS[DeadlyReentry] = 1750 + %emissiveConstant = 0.8 + %thermalMassModifier = 1.0 + %skinMassPerArea = 5.0 +} \ No newline at end of file diff --git a/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnCapsule.cfg b/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnCapsule.cfg index 97c590f5773..11e07e153b4 100644 --- a/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnCapsule.cfg +++ b/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnCapsule.cfg @@ -20,15 +20,15 @@ PART MODEL { // Original Dimensions: 0.659 x 0.296 x 0.659 - model = RP-1/Parts/SampleReturnCapsule/Assets/SampleReturnCapsule_CargoBay + model = RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Pod // RL Dimensions: 0.762 x 0.66 x 0.762 - scale = 1.1563, 2.2297, 1.1563 + scale = 1, 1, 1 } scale = 1.0 - rescaleFactor = 1.0 + rescaleFactor = 1.6 - node_stack_top = 0.0, 0.512, 0.0, 0.0, 1.0, 0.0, 1 + node_stack_top = 0.0, 0.2, 0.0, 0.0, 1.0, 0.0, 1 node_stack_bottom = 0.0, -0.18, 0.0, 0.0, -1.0, 0.0, 1 // stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 1,0,1,1,0 @@ -43,7 +43,7 @@ PART manufacturer = Generic description = The Science Sample Return Capsule is based on the Corona/Discoverer satellites from the United States in the early 1960's. These capsules were used to send film back to Earth to be processed for analysis. In-game, you can use this to return your valuable samples and science data from low Earth orbit. Note that the heat shield on this part is a heatsink, meaning it can only survive steep re-entries (perigee around -500 km) with high peak heat flux but low total heating. Historically, the Corona return capsules used a Star-12 SRM for deorbiting, which is comparable to a Baby Sergeant. [Diameter 0.6 m] - mass = 0.08 // 30 kg + 50 kg of beryllium heat sink + mass = 0.030 // 30 kg + 0 kg cause it requires an external heatshield now category = Science subcategory = 0 @@ -59,9 +59,9 @@ PART // ============================================================================ crashTolerance = 14 - maxTemp = 1500 - skinMaxTemp = 1500 - thermalMassModifier = 2.8 + maxTemp = 1073 + skinMaxTemp = 1073 + thermalMassModifier = 1.0 skinThermalMassModifier = 1.0 skinMassPerArea = 50.0 skinInternalConductionMult = 2 @@ -88,42 +88,12 @@ PART showStatus = True } - MODULE - { - name = ModuleAnimateGeneric - animationName = openBay - actionGUIName = Toggle - startEventGUIName = Open - endEventGUIName = Close - allowAnimationWhileShielded = False - } - - MODULE - { - name = ModuleCargoBay - DeployModuleIndex = 0 - closedPosition = 0 - lookupRadius = 0.9 - } - - MODULE - { - name = ModuleJettison - jettisonName = fairing - bottomNodeName = bottom - isFairing = True - jettisonedObjectMass = 0.5 - jettisonForce = 15 - jettisonDirection = 0 0 1 - stagingEnabled = False - checkBottomNode = True - } } @PART[RP0-SampleReturnCapsule]:AFTER[RealismOverhaul] { - %maxTemp = 1500 - %skinMaxTemp = 1500 + %maxTemp = 1073 + %skinMaxTemp = 1073 @maxTemp:NEEDS[DeadlyReentry] = 1750 @skinMaxTemp:NEEDS[DeadlyReentry] = 1750 } diff --git a/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnCommand.cfg b/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnCommand.cfg index 656e46dff45..58a61ead7ba 100644 --- a/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnCommand.cfg +++ b/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnCommand.cfg @@ -36,9 +36,9 @@ PART // Title, Description, Category, Techs // ============================================================================ - title = Sample Return Command Module + title = DEPRECATED manufacturer = Generic - description = This is the control section of the Sample Return Capsule that allows for reentry orientation and parachute deployment. Don't forget to enable the RCS before reentry orientation. + description = DEPRECATED PART, DO NOT USE IN NEW CRAFT. KEPT TO MAINTAIN BACKWARDS COMPATIBILITY mass = 0.04 // 40 kg diff --git a/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnRetro.cfg b/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnRetro.cfg new file mode 100644 index 00000000000..59a9bee97df --- /dev/null +++ b/GameData/RP-1/Parts/SampleReturnCapsule/RP0SampleReturnRetro.cfg @@ -0,0 +1,25 @@ +PART +{ + module = Part + name = RO-SampleReturnRetro + author = CobaltWolf + + ROESetEngineDefaults = SOLID_BOOSTER + + MODEL + { + model = RP-1/Parts/SampleReturnCapsule/Assets/bluedog_Corona_Retro + } + scale = 1.0 + rescaleFactor = 1.6 // 0.625m -> 36.8in + node_stack_top = 0.0, 0.45752, 0.0, 0.0, 1.0, 0.0, 1 + node_stack_bottom = 0.0, -0.45752, 0.0, 0.0, -1.0, 0.0, 1 + // stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,1,1,1,0 + + title = Sample Return Retro Motor + manufacturer = fixme + description = fixme + tags = STAR, STAR37, solid, kick stage + +} \ No newline at end of file diff --git a/GameData/RP-1/Parts/Science/Assets/Agena/bluedog_Keyhole_Camera_KH1.mu b/GameData/RP-1/Parts/Science/Assets/Agena/bluedog_Keyhole_Camera_KH1.mu new file mode 100644 index 00000000000..1243a1680cb Binary files /dev/null and b/GameData/RP-1/Parts/Science/Assets/Agena/bluedog_Keyhole_Camera_KH1.mu differ diff --git a/GameData/RP-1/Parts/Science/PHOTO01-EarlyFilmCamera.cfg b/GameData/RP-1/Parts/Science/PHOTO01-EarlyFilmCamera.cfg index 005055fdea6..ee16eb2ed50 100644 --- a/GameData/RP-1/Parts/Science/PHOTO01-EarlyFilmCamera.cfg +++ b/GameData/RP-1/Parts/Science/PHOTO01-EarlyFilmCamera.cfg @@ -1,91 +1,79 @@ //********************************************************************************** // Early Film Camera // -// Based on early Film Cameras sent on V-2 Rockets to take photos from space. +// Based on early KH-1 developmental film satellites // //********************************************************************************** -@PART[science_module]:FOR[RP-0] +PART { - %RSSROConfig = True - - @title = PH01 - Early Film Camera - @manufacturer = Generic - @description = The Early Film Camera is used to take photographs of Earth from space. This is a very early camera and lacks resolution in the images. Historically, these were flown on V-2 Rockets, or other larger sounding rockets. - @mass = 0.1 - @tags = science photo photographs film camera + name = RO-EarlyFilmCamera + module = Part + author = CobaltWolf + RSSROConfig = True - !MODULE[ModuleAnimateGeneric] {} - !MODULE[ModuleScienceExperiment] {} + MODEL + { + model = RP-1/Parts/Science/Assets/Agena/bluedog_Keyhole_Camera_KH1 + scale = 1, 1, 1 + } + + scale = 1 + rescaleFactor = 1.6 + + node_stack_top = 0.0, 0.05, 0.0, 0.0, 1.0, 0.0, 1 + node_stack_bottom = 0.0, -0.2, 0.0, 0.0, -1.0, 0.0, 1 + + TechRequired = spaceExploration + entryCost = 10000 + cost = 7500 + category = Science + subcategory = 0 + title = PH01 - Early Film Camera + manufacturer = DMagic + description = + attachRules = 1,0,1,1,0 + + // --- standard part parameters --- + mass = 0.07578 + bulkheadProfiles = size1 + crashTolerance = 10 + gTolerance = 100 + maxPressure = 20000 + breakingForce = 250 + breakingTorque = 250 + maxTemp = 1073.15 + emissiveConstant = 0.95 + thermalMassModifier = 2.0 + heatConductivity = 0.04 + + tags = science photo photographs film camera corona spy sats dmagic + + angularDrag = 2 + dragModelType = default + maximum_drag = 0.2 + minimum_drag = 0.2 + + MODULE + { + name = ModuleDecouple + ejectionForce = 5 + explosiveNodeID = top + } + // MODULE // { // name = ModuleAnimateGeneric - // animationName = Deploy + // animationName = reconDeploy // startEventGUIName = Open Camera Doors // endEventGUIName = Close Camera Doors // actionGUIName = Toggle Camera Doors // evaDistance = 1.85 // } - - // MODULE - // { - // name = ModuleScienceExperiment - // experimentID = RP0photos1 - // experimentActionName = Photography Level 1 - // resetActionName = Discard Data - // reviewActionName = Review Stored Data - // useStaging = False - // useActionGroups = True - // hideUIwhenUnavailable = True - // rerunnable = True - // xmitDataScalar = 0.0 - // usageReqMaskInternal = 1 - // usageReqMaskExternal = 4 - // dataIsCollectable = true - // } - - // MODULE - // { - // name = DMModuleScienceAnimateGeneric - // experimentID = RP0photos1 - - // animationName = Deploy - // experimentAnimation = true - // experimentWaitForAnimation = true - // keepDeployedMode = 2 - // showEndEvent = true - // showStartEvent = true - // showToggleEvent = true - // startEventGUIName = Open Camera Doors - // endEventGUIName = Close Camera Doors - // toggleEventGUIName = Toggle Camera Doors - // evaDistance = 1.85 - - // collectActionName = Retrieve Film - // resetActionName = Discard Photos - // reviewActionName = Review Stored Photos - // dataIsCollectable = true - // experimentActionName = Planetary Photography - // rerunnable = true - // hideUIwhenUnavailable = true - // useActionGroups = true - // useStaging = false - // xmitDataScalar = 1.0 - // usageReqMaskExternal = 4 - - // deployingMessage = The camera shutter is opening, getting focused and taking the images. - // waitForAnimationTime = -1 - // resourceExperiment = ElectricCharge - // resourceExpCost = 0 - // experimentsLimit = 2 - // totalScienceLevel = 1.0 - // asteroidReports = true - // } - } -@PART[science_module]:NEEDS[!Kerbalism]:AFTER[RP-0] +@PART[RO-EarlyFilmCamera]:NEEDS[!Kerbalism]:AFTER[RP-0] { - @description ^=:$: \n\nThe photos cannot be transmitted and must be returned for further study.\n\n2 Photographs can be stored.\n\nLevel 1 Planetary Photography Experiment. Can gather 25% of Photography Science. + @description ^=:$: \n\nThe photos can be transmitted, but at a severe penalty of only 50% data. \n\nLevel 2 Planetary Photography Experiment. Can gather 50% of Photography Science. } diff --git a/GameData/RP-1/Science/CleanupParts/RemoveScienceParts.cfg b/GameData/RP-1/Science/CleanupParts/RemoveScienceParts.cfg index ad610ebd492..f9ce80aed61 100644 --- a/GameData/RP-1/Science/CleanupParts/RemoveScienceParts.cfg +++ b/GameData/RP-1/Science/CleanupParts/RemoveScienceParts.cfg @@ -57,6 +57,7 @@ // Stock !PART[sensorAccelerometer]:AFTER[RP-0] {} +!PART[science_module]:AFTER[RP-0] {} // Wild Blue Tools !PART[WBI_SAFER]:AFTER[RP-0] {} diff --git a/GameData/RP-1/Science/Experiments/Photography.cfg b/GameData/RP-1/Science/Experiments/Photography.cfg index d2ac051d25c..9d54af1f74b 100644 --- a/GameData/RP-1/Science/Experiments/Photography.cfg +++ b/GameData/RP-1/Science/Experiments/Photography.cfg @@ -2,16 +2,16 @@ // PLANETARY PHOTOGRAPHY // //==================================================================================// - //Photography tier 1: V-2 launched film camera + //Photography tier 1: KH-1 early orbital photography EXPERIMENT_DEFINITION { id = RP0photos1 title = Planetary Photography - baseValue = 5 - scienceCap = 5 + baseValue = 4 + scienceCap = 4 dataScale = 20 requireAtmosphere = False - situationMask = 24 + situationMask = 16 biomeMask = 24 RESULTS @@ -21,7 +21,8 @@ EXPERIMENT_DEFINITION KERBALISM_EXPERIMENT { // sample mass in tons. if undefined or 0, the experiment produce a file - SampleMass = 0.002 + SampleMass = 0.008 + // 80kgs total sample for 4x20kg launches, with 8kg for 10 biomes // Body restrictions, multiple lines allowed (just don't use confictiong combinations). BodyAllowed = HomeBody IncludeExperiment = @@ -32,7 +33,7 @@ EXPERIMENT_DEFINITION // ============================================================================ // Replacing stock experiments // ============================================================================ -@PART[science_module]:HAS[@MODULE[DMModuleScienceAnimateGeneric]:HAS[#experimentID[RP0photos1]]]:FOR[RP-0-Kerbalism] +@PART[RO-EarlyFilmCamera]:HAS[@MODULE[DMModuleScienceAnimateGeneric]:HAS[#experimentID[RP0photos1]]]:FOR[RP-0-Kerbalism] { !MODULE[DMModuleScienceAnimateGeneric]:HAS[#experimentID[RP0photos1]] {} !MODULE[DMModuleScienceAnimateGeneric]:HAS[#experimentID[mobileMaterialsLab]] {} @@ -53,36 +54,35 @@ EXPERIMENT_DEFINITION { @MODULE[Experiment]:HAS[#experiment_id[RP0photos1]] { - %SampleMass = 0.002 - %sample_amount = 2 - %ec_rate = 0.005 + %sample_amount = 10 // 10 biomes + @sample_amount /= 4 // 4 launches + %ec_rate = 0.15 %data_rate = 20 - @data_rate /= 600 //10 minutes + @data_rate /= 7200 //10 minutes %requires = %resources = - %experiment_desc = Early film flown on V2 rockets, taking the first photos from space. Can also be used as a reconnaissance camera. Requires physical recovery. + %experiment_desc = allow_shrouded = false } } -//Photography tier 2: Corona spy satellites +//Photography tier 2: A KH-4/Zenit Style Experiment EXPERIMENT_DEFINITION { id = RP0photos2 title = Photography 2 - baseValue = 200 //FIXME - scienceCap = 200 + baseValue = 16 //FIXME + scienceCap = 16 dataScale = 50 requireAtmosphere = False situationMask = 16 - biomeMask = 0 + biomeMask = 24 KERBALISM_EXPERIMENT { - // sample mass in tons. if undefined or 0, the experiment produce a file - SampleMass = 0.5 - // Body restrictions, multiple lines allowed (just don't use confictiong combinations). + SampleMass = 0.032 + // the base kh-4 part gathers 40kg across 8 launches for a total of 320kg of film BodyAllowed = HomeBody - IncludeExperiment = //Shouldn't it include RP0photos1? + IncludeExperiment = RP0photos1 } RESULTS { @@ -107,18 +107,26 @@ EXPERIMENT_DEFINITION { @MODULE[Experiment]:HAS[#experiment_id[RP0photos2]] { - %SampleMass = 0.5 - %sample_amount = 1 - @sample_amount /= 5 - %ec_rate = 0.1 + %sample_amount = 10 // for 10 biomes + @sample_amount /= 8 // across 8 KH-1 launches + + %ec_rate = 0.125 %data_rate = 50 - @data_rate /= 63072000 //2 years, program lasted from 1959 to 1972, reduced for balance - %requires = OrbitMinInclination:60,OrbitMaxInclination:100,OrbitMaxEccentricity:0.035,AltitudeMax:445000 + @data_rate /= 172800 //2 days per biome means 40 days of continous on orbit lifetime, so 8 kh-4s, or 4 zenit + %requires = OrbitMaxInclination:100,OrbitMaxEccentricity:0.035,AltitudeMax:445000 %resources = %experiment_desc = Long term Earth imaging satellite experiment based on the Corona program. Requires multiple launches for film storage and recovery limitations. allow_shrouded = false } } +@PART[ROC-ZenitCapsule]:AFTER[RP-0-Kerbalism] +{ + @MODULE[Experiment]:HAS[#experiment_id[RP0photos2]] + { + @sample_amount *= 2 // to enable fewer zenit launches + @ec_rate = 0.010 // because most of the EC cost is already in zenit and it's service module + } +} //Photography tier 3: KH-9 satellites EXPERIMENT_DEFINITION @@ -234,7 +242,7 @@ EXPERIMENT_DEFINITION // General Science Module // //==========================================// -@PART[science_module|RO-ImprovedFilmCamera|RO-HighResFilmCamera|RO-DigitalCamera|FASAGeminiMOLSci|ROC-ZenitCapsule]:FOR[RP-0] +@PART[RO-EarlyFilmCamera|RO-ImprovedFilmCamera|RO-HighResFilmCamera|RO-DigitalCamera|FASAGeminiMOLSci|ROC-ZenitCapsule]:FOR[RP-0] { MODULE { @@ -278,11 +286,11 @@ EXPERIMENT_DEFINITION // LEVEL 1 // Early Film Camera -// Based on early Film Cameras sent on V-2 Rockets to take photos from space. -// Part: Stock Materials Science Bay +// Based on the early KH-1 spy satellites +// Part: BDB KH-1 //==================================================================================== -@PART[science_module]:AFTER[RP-0] +@PART[RO-EarlyFilmCamera]:AFTER[RP-0] { @MODULE[DMModuleScienceAnimateGeneric] { @@ -294,7 +302,7 @@ EXPERIMENT_DEFINITION // LEVEL 2 // Improved Film Camera -// Based on early Corona Spy Satellites +// Based on the KH-4 + KH-4a/Zenit Corona Spy Satellites // Part: DMagic Small Recon //==================================================================================== diff --git a/GameData/RP-1/Science/HardDriveConfigs.cfg b/GameData/RP-1/Science/HardDriveConfigs.cfg index 533b9e60010..4c70ce3bbc5 100644 --- a/GameData/RP-1/Science/HardDriveConfigs.cfg +++ b/GameData/RP-1/Science/HardDriveConfigs.cfg @@ -212,7 +212,7 @@ KERBALISM_HDD_SIZES Photography2 { data = 0 - samples = 1 + samples = 10 } Photography3 @@ -541,7 +541,7 @@ KERBALISM_HDD_SIZES } // Photography 1 -@PART[science_module]:AFTER[RP-0-KerbalismHardDrives] +@PART[RO-EarlyFilmCamera]:AFTER[RP-0-KerbalismHardDrives] { MODULE { diff --git a/GameData/RP-1/Tree/TREE-Parts.cfg b/GameData/RP-1/Tree/TREE-Parts.cfg index 88f972e5e50..7f1e9a90c94 100644 --- a/GameData/RP-1/Tree/TREE-Parts.cfg +++ b/GameData/RP-1/Tree/TREE-Parts.cfg @@ -9311,7 +9311,8 @@ %MODULE[ModuleTagList] { tag = Instruments } } -@PART[RO-ImprovedFilmCamera]:FOR[xxxRP0] + +@PART[RO-EarlyFilmCamera]:FOR[xxxRP0] { %TechRequired = scienceSatellite %cost = 500 @@ -9321,6 +9322,17 @@ %MODULE[ModuleTagList] { tag = Instruments } +} +@PART[RO-ImprovedFilmCamera]:FOR[xxxRP0] +{ + %TechRequired = scienceHuman + %cost = 1000 // first order approximation is "twice the camera twice the cost" + %entryCost = 0 + RP0conf = true + @description ^=:$: From RP-1 (Bluedog Model) mod + + %MODULE[ModuleTagList] { tag = Instruments } + } @PART[RO-ImprovedSIGINT]:FOR[xxxRP0] { @@ -36280,17 +36292,17 @@ %MODULE[ModuleTagList] { tag = Instruments } } -@PART[science_module]:FOR[xxxRP0] -{ - %TechRequired = unlockParts - %cost = 100 - %entryCost = 1 - RP0conf = true - @description ^=:$: From RP-1 (Stock Model) mod - - %MODULE[ModuleTagList] { tag = Instruments } - -} +//@PART[science_module]:FOR[xxxRP0] +//{ +// %TechRequired = unlockParts +// %cost = 100 +// %entryCost = 1 +// RP0conf = true +// @description ^=:$: From RP-1 (Stock Model) mod +// +// %MODULE[ModuleTagList] { tag = Instruments } +// +//} @PART[scout_stg1_dec]:FOR[xxxRP0] { %TechRequired = materialsScienceSatellite