diff --git a/NewHorizons/Builder/Body/StarBuilder.cs b/NewHorizons/Builder/Body/StarBuilder.cs index defead5c..000d6dcc 100644 --- a/NewHorizons/Builder/Body/StarBuilder.cs +++ b/NewHorizons/Builder/Body/StarBuilder.cs @@ -187,6 +187,7 @@ namespace NewHorizons.Builder.Body var controller = starGO.AddComponent(); if (starModule.curve != null) controller.SetScaleCurve(starModule.curve); controller.size = starModule.size; + controller.supernovaSize = starModule.supernovaSize; controller.supernova = supernova; controller.StartColour = starModule.tint; controller.EndColour = starModule.endTint; @@ -286,6 +287,7 @@ namespace NewHorizons.Builder.Body var supernova = supernovaGO.GetComponent(); supernova._surface = starGO.GetComponentInChildren(); + supernova._supernovaScale = AnimationCurve.Linear(5, 0, 15, starModule.supernovaSize); supernova._supernovaVolume = null; if (starModule.supernovaTint != null) diff --git a/NewHorizons/Components/SizeControllers/StarEvolutionController.cs b/NewHorizons/Components/SizeControllers/StarEvolutionController.cs index 688ed889..4f6dfa99 100644 --- a/NewHorizons/Components/SizeControllers/StarEvolutionController.cs +++ b/NewHorizons/Components/SizeControllers/StarEvolutionController.cs @@ -40,6 +40,7 @@ namespace NewHorizons.Components.SizeControllers public float collapseTime = 10f; // seconds public float lifespan = 22f; // minutes + public float supernovaSize = 50000f; private bool _isSupernova; private float _supernovaStartTime; @@ -255,7 +256,7 @@ namespace NewHorizons.Components.SizeControllers if (start && _planetDestructionVolume != null) { - foreach (var collider in Physics.OverlapSphere(_planetDestructionVolume.transform.position, _planetDestructionVolume.GetComponent().radius * 50000f * 0.9f)) + foreach (var collider in Physics.OverlapSphere(_planetDestructionVolume.transform.position, _planetDestructionVolume.GetComponent().radius * supernovaSize * 0.9f)) { if (collider.attachedRigidbody != null) { diff --git a/NewHorizons/External/Modules/VariableSize/StarModule.cs b/NewHorizons/External/Modules/VariableSize/StarModule.cs index f9c841f9..daffcfa2 100644 --- a/NewHorizons/External/Modules/VariableSize/StarModule.cs +++ b/NewHorizons/External/Modules/VariableSize/StarModule.cs @@ -52,6 +52,13 @@ namespace NewHorizons.External.Modules.VariableSize [DefaultValue(1f)] [Range(0f, double.MaxValue)] public float solarLuminosity = 1f; + /// + /// Radius of the supernova. + /// + [DefaultValue(50000f)] + [Range(0f, double.MaxValue)] + public float supernovaSize = 50000f; + /// /// The tint of the supernova this star creates when it dies. ///