mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Proper shock effect distances
This commit is contained in:
parent
eb4d47dc4f
commit
657746bf5d
@ -125,9 +125,6 @@ namespace NewHorizons.Builder.Body
|
||||
}
|
||||
}
|
||||
|
||||
supernovaEffectController.shockLayerStartRadius = config.Orbit.semiMajorAxis / 10;
|
||||
supernovaEffectController.shockLayerFullRadius = config.Orbit.semiMajorAxis; // Temporary; change to distance
|
||||
|
||||
var radius = (config.ShockEffect?.radius != null && config.ShockEffect.radius.HasValue) ? config.ShockEffect.radius.Value : biggestSize * 1.1f;
|
||||
|
||||
supernovaEffectController.shockLayerTrailFlare = radius < 500 ? 50 : 100; // Base game all uses 100, but sphere model looks bad if not 1:6 ratio with length like GD, so retain it instead
|
||||
|
||||
@ -71,12 +71,30 @@ namespace NewHorizons.Handlers
|
||||
{
|
||||
var distanceSqr = (supernovaPlanetEffectController.transform.position - _sunController.transform.position).sqrMagnitude;
|
||||
if (distanceSqr < 2500000000f && distanceSqr < nearestDistanceSqr)
|
||||
{
|
||||
supernovaPlanetEffectController.SunController = _sunController;
|
||||
supernovaPlanetEffectController.shockLayerStartRadius = Mathf.Sqrt(distanceSqr) / 10f;
|
||||
supernovaPlanetEffectController.shockLayerFullRadius = Mathf.Sqrt(distanceSqr);
|
||||
}
|
||||
else
|
||||
{
|
||||
supernovaPlanetEffectController.StarEvolutionController = nearestStarEvolutionController;
|
||||
if (nearestDistanceSqr != float.MaxValue)
|
||||
{
|
||||
supernovaPlanetEffectController.shockLayerStartRadius = Mathf.Sqrt(nearestDistanceSqr) / 10f;
|
||||
supernovaPlanetEffectController.shockLayerFullRadius = Mathf.Sqrt(nearestDistanceSqr);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
supernovaPlanetEffectController.StarEvolutionController = nearestStarEvolutionController;
|
||||
if (nearestDistanceSqr != float.MaxValue)
|
||||
{
|
||||
supernovaPlanetEffectController.shockLayerStartRadius = Mathf.Sqrt(nearestDistanceSqr) / 10f;
|
||||
supernovaPlanetEffectController.shockLayerFullRadius = Mathf.Sqrt(nearestDistanceSqr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static bool IsStarActive(Component component)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user