diff --git a/GameData/RealSolarSystem/CometDefs.cfg b/GameData/RealSolarSystem/CometDefs.cfg index 9542d210..aa81e4f1 100644 --- a/GameData/RealSolarSystem/CometDefs.cfg +++ b/GameData/RealSolarSystem/CometDefs.cfg @@ -21,3 +21,21 @@ COMET_ORBIT_TYPE maxCometClass = H chanceWeight = 5 // KSP 1.11 gives 50:40:9:1 for stock classes } + +COMET_ORBIT_TYPE +{ + name = sungrazer + // TODO: these strings should be localized, but I can't provide translations myself + displayName = Sungrazer + description = Sungrazing comets pass extremely close to the Sun during perihelion, and might even touch the edge of its atmosphere. However, these are extremely hard to find, so be on the lookout for them! + inclination1Min = -180 + inclination1Max = 180 + peMin = 0.00085 + peMax = 0.0077 + useEccentricity = true + eccentricityMin = 0.9995 + eccentricityMax = 1.000001 + minCometClass = E + maxCometClass = H + chanceWeight = 5 +} diff --git a/GameData/RealSolarSystem/Compatibility/CustomAsteroids.cfg b/GameData/RealSolarSystem/Compatibility/CustomAsteroids.cfg index f6883222..5731761d 100644 --- a/GameData/RealSolarSystem/Compatibility/CustomAsteroids.cfg +++ b/GameData/RealSolarSystem/Compatibility/CustomAsteroids.cfg @@ -673,4 +673,294 @@ AsteroidSets max = -2 } } + + ASTEROIDGROUP + { + name = innerOort + title = Inner Oort Cloud Obj. + + centralBody = Sun + + // One object every 710 Earth days or about 2 years + spawnRate = 0.00141 + + orbitSize + { + type = SemimajorAxis + min = Ratio(Earth.sma, 2500) + max = Ratio(Earth.sma, 20000) + } + + eccentricity + { + dist = Uniform + min = 0.1 + max = 0.9 + } + + inclination + { + dist = Uniform + min = -20 + max = 20 + } + + asteroidTypes + { + key = 0.98 CaAsteroidIcy + // key = 0.1 CaCometActive + // key = 0.18 PotatoComet + key = 0.02 PotatoRoid + } + + // orbitType = long + + sizes + { + key = 0.3 G + key = 0.7 H + // key = 0.2 I + } + } + + ASTEROIDGROUP + { + name = outerOort + title = Outer Oort Cloud Obj. + + centralBody = Sun + + // One object every 1825 Earth days or about 5 years + spawnRate = 0.00055 + + orbitSize + { + type = SemimajorAxis + min = Ratio(Earth.sma, 15000) + max = Ratio(Earth.sma, 50000) + } + + eccentricity + { + dist = Uniform + min = 0.04 + max = 0.9 + } + + inclination + { + dist = Isotropic + } + + asteroidTypes + { + key = 0.99 CaAsteroidIcy + // key = 0.1 CaCometActive + // key = 0.18 PotatoComet + key = 0.01 PotatoRoid + } + + // orbitType = long + + sizes + { + key = 0.3 G + key = 0.7 H + // key = 0.2 I + } + } + + ASTEROIDGROUP + { + name = sungrazer + title = Sungrazer + + centralBody = Sun + + // One comet every 1000 Earth days or about 2.74 years + spawnRate = 0.001 + + orbitSize + { + type = Periapsis + min = Offset(Sun.rad, 1e6) + max = Ratio(Earth.sma, 0.04) + } + + eccentricity + { + dist = Uniform + min = 0.9995 + max = 1.000001 + } + + inclination + { + dist = Isotropic + } + + orbitPhase + { + // Let comets be discovered only on approach, so that the player has + // time to prepare a flyby mission + type = MeanAnomaly + epoch = Now + min = -0.1 + max = -0.0069 + } + + asteroidTypes + { + // key = 0.4 CaCometActive + key = 1.0 PotatoComet + } + + orbitType = sungrazer + + sizes + { + key = 0.3 F + key = 0.4 G + key = 0.3 H + // key = 0.1 I + } + } + + ASTEROIDGROUP + { + name = hilda1 + title = Hilda Ast. + + centralBody = Sun + + // One hilda every 30 Earth days + spawnRate = 0.011 + + orbitSize + { + type = SemimajorAxis + min = Resonance(Jupiter, 3:2) + max = Resonance(Jupiter, 3:2) + } + + eccentricity + { + dist = Uniform + min = 0 + max = 0.3 + } + + inclination + { + dist = Gaussian + avg = 0 + stddev = 15 // hildas have inclination of less than 20 + } + + orbitPhase + { + type = MeanLongitude + epoch = GameStart + dist = Gaussian + avg = Offset(Jupiter.mnl0, 60) + stddev = 30 + } + + asteroidTypes + { + key = 1.0 CaAsteroidCarbon + } + } + + ASTEROIDGROUP + { + name = hilda2 + title = Hilda Ast. + + centralBody = Sun + + // One hilda every 30 Earth days + spawnRate = 0.011 + + orbitSize + { + type = SemimajorAxis + min = Resonance(Jupiter, 3:2) + max = Resonance(Jupiter, 3:2) + } + + eccentricity + { + dist = Uniform + min = 0 + max = 0.3 + } + + inclination + { + dist = Gaussian + avg = 0 + stddev = 15 // hildas have inclination of less than 20 + } + + orbitPhase + { + type = MeanLongitude + epoch = GameStart + dist = Gaussian + avg = Offset(Jupiter.mnl0, -60) + stddev = 30 + } + + asteroidTypes + { + key = 1.0 CaAsteroidCarbon + } + } + + ASTEROIDGROUP + { + name = hilda3 + title = Hilda Ast. + + centralBody = Sun + + // One hilda every 30 Earth days + spawnRate = 0.011 + + orbitSize + { + type = SemimajorAxis + min = Resonance(Jupiter, 3:2) + max = Resonance(Jupiter, 3:2) + } + + eccentricity + { + dist = Uniform + min = 0 + max = 0.3 + } + + inclination + { + dist = Gaussian + avg = 0 + stddev = 15 // hildas have inclination of less than 20 + } + + orbitPhase + { + type = MeanLongitude + epoch = GameStart + dist = Gaussian + avg = Offset(Jupiter.mnl0, 180) + stddev = 30 + } + + asteroidTypes + { + key = 1.0 CaAsteroidCarbon + } + } } diff --git a/GameData/RealSolarSystem/ScienceDefs.cfg b/GameData/RealSolarSystem/ScienceDefs.cfg index 0c2544fc..fa7888c7 100644 --- a/GameData/RealSolarSystem/ScienceDefs.cfg +++ b/GameData/RealSolarSystem/ScienceDefs.cfg @@ -719,4 +719,23 @@ EXPERIMENT_DEFINITION { default = This Centaur has remained relatively untouched since its ejection from trans-Neptunian space, and will help our scientists get a better look at conditions in the outermost regions of the protoplanetary disk. It's certainly easier than going all the way out to the Kuiper belt. } -} \ No newline at end of file +} + +EXPERIMENT_DEFINITION +{ + id = cometSample_sungrazer + title = Sungrazer Sample + baseValue = 450 + scienceCap = 500 // vs. intermediate- (150) and long-period comets (300) + dataScale = 1 + + requireAtmosphere = False + requireNoAtmosphere = False + situationMask = 63 + biomeMask = 7 + + RESULTS + { + default = The composition of this comet shows a lack of volatiles, especially due to the extreme heat of the Sun during its close passes. The sample that you've carefully packed away might be the last rocks you will get from this object before it boils away at its next perihelion. + } +}