diff --git a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs index 990b7c18..c02837c8 100644 --- a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs +++ b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs @@ -260,9 +260,17 @@ namespace NewHorizons.Builder.Props // Default size is 70 var fog = brambleNode.FindChild("Effects/InnerWarpFogSphere"); fog.transform.localScale = Vector3.one * config.scale * 70f; - var fogMaterial = fog.GetComponent().material; - fogMaterial.SetFloat("_Radius", fogMaterial.GetFloat("_Radius") * config.scale); - fogMaterial.SetFloat("_Density", fogMaterial.GetFloat("_Density") / config.scale); + + // Copy shared material to not be shared + var fogRenderer = fog.GetComponent(); + fogRenderer.material = new Material(fogRenderer.sharedMaterial); + fogRenderer.material.SetFloat("_Radius", fogRenderer.material.GetFloat("_Radius") * config.scale); + fogRenderer.material.SetFloat("_Density", fogRenderer.material.GetFloat("_Density") / config.scale); + // Fixes bramble nodes being a weird colour until you approach the first time #372 + if (config.fogTint != null) + { + fog.GetComponent().SetColor(config.fogTint.ToColor()); + } } // Set colors @@ -393,7 +401,8 @@ namespace NewHorizons.Builder.Props } } - StreamingHandler.SetUpStreaming(brambleNode, sector); + // If the outer fog warp volume is null we're exposed to the solar system so treat it as a keepLoaded type prop + StreamingHandler.SetUpStreaming(brambleNode, outerFogWarpVolume == null ? null : sector); // Done! brambleNode.SetActive(true);