diff --git a/NewHorizons/Builder/General/GravityBuilder.cs b/NewHorizons/Builder/General/GravityBuilder.cs index 7d202e27..68a2be33 100644 --- a/NewHorizons/Builder/General/GravityBuilder.cs +++ b/NewHorizons/Builder/General/GravityBuilder.cs @@ -15,11 +15,10 @@ namespace NewHorizons.Builder.General var gravityRadius = GM / 0.1f; if (exponent == 2f) gravityRadius = Mathf.Sqrt(gravityRadius); - if (config.FocalPoint != null) gravityRadius = 0; // keep it at the lowest possible - else if (config.Base.soiOverride != 0f) gravityRadius = config.Base.soiOverride; - else if (config.Star != null) gravityRadius = Mathf.Min(gravityRadius, 15 * config.Base.surfaceSize); // To let you actually orbit things the way you would expect we cap this at 4x the diameter if its not a star (this is what giants deep has) - else gravityRadius = Mathf.Min(gravityRadius, 4 * config.Base.surfaceSize); + if (config.Star == null) gravityRadius = Mathf.Min(gravityRadius, 4 * config.Base.surfaceSize); + else gravityRadius = Mathf.Min(gravityRadius, 15 * config.Base.surfaceSize); + if (config.Base.soiOverride != 0f) gravityRadius = config.Base.soiOverride; var gravityGO = new GameObject("GravityWell"); gravityGO.transform.parent = planetGO.transform; diff --git a/NewHorizons/Builder/Orbital/FocalPointBuilder.cs b/NewHorizons/Builder/Orbital/FocalPointBuilder.cs index b3e63391..6183b6c8 100644 --- a/NewHorizons/Builder/Orbital/FocalPointBuilder.cs +++ b/NewHorizons/Builder/Orbital/FocalPointBuilder.cs @@ -57,11 +57,11 @@ namespace NewHorizons.Builder.Orbital config.Base.surfaceGravity = gravitationalMass * GravityVolume.GRAVITATIONAL_CONSTANT; config.Base.gravityFallOff = primary.Config.Base.gravityFallOff; + // Other stuff to make the barycenter not interact with anything in any way + config.Base.soiOverride = 0; var separation = primary.Config.Orbit.semiMajorAxis + secondary.Config.Orbit.semiMajorAxis; - var separationRadius = (separation / 2); - config.Base.soiOverride = separationRadius * 1.5f; - config.ReferenceFrame.bracketRadius = separationRadius; - config.ReferenceFrame.targetColliderRadius = separationRadius; + config.ReferenceFrame.bracketRadius = separation; + config.ReferenceFrame.targetColliderRadius = separation; config.Base.showMinimap = false; }