diff --git a/NewHorizons/Handlers/PlanetCreationHandler.cs b/NewHorizons/Handlers/PlanetCreationHandler.cs index 8a9129cf..73d814a5 100644 --- a/NewHorizons/Handlers/PlanetCreationHandler.cs +++ b/NewHorizons/Handlers/PlanetCreationHandler.cs @@ -32,6 +32,8 @@ namespace NewHorizons.Handlers public static void Init(List bodies) { + if (Main.SystemDict[Main.Instance.CurrentStarSystem].Config.destroyStockPlanets) PlanetDestructionHandler.RemoveStockPlanets(); + Main.FurthestOrbit = 30000; _existingBodyDict = new(); @@ -135,8 +137,6 @@ namespace NewHorizons.Handlers SingularityBuilder.PairAllSingularities(); // Events.FireOnNextUpdate(PlanetDestroyer.RemoveAllProxies); - - if (Main.SystemDict[Main.Instance.CurrentStarSystem].Config.destroyStockPlanets) PlanetDestructionHandler.RemoveStockPlanets(); } public static bool LoadBody(NewHorizonsBody body, bool defaultPrimaryToSun = false) diff --git a/NewHorizons/Handlers/PlanetDestructionHandler.cs b/NewHorizons/Handlers/PlanetDestructionHandler.cs index 4a752848..304881a7 100644 --- a/NewHorizons/Handlers/PlanetDestructionHandler.cs +++ b/NewHorizons/Handlers/PlanetDestructionHandler.cs @@ -54,19 +54,12 @@ namespace NewHorizons.Handlers public static void RemoveSolarSystem() { - // Stop the sun from killing the player - var sunVolumes = SearchUtilities.Find("Sun_Body/Sector_SUN/Volumes_SUN"); - sunVolumes.SetActive(false); - foreach (var name in _solarSystemBodies) { var ao = AstroObjectLocator.GetAstroObject(name); - if (ao != null) Delay.FireInNUpdates(() => RemoveBody(ao, false), 2); + if (ao != null) RemoveBody(ao, false); else NHLogger.LogError($"Couldn't find [{name}]"); } - - // Bring the sun back because why not - Delay.FireInNUpdates(() => { if (Locator.GetAstroObject(AstroObject.Name.Sun).gameObject.activeInHierarchy) { sunVolumes.SetActive(true); } }, 3); } public static void RemoveEyeOfTheUniverse()