diff --git a/NewHorizons/Builder/Body/WaterBuilder.cs b/NewHorizons/Builder/Body/WaterBuilder.cs index ae72bce6..9c6f68ed 100644 --- a/NewHorizons/Builder/Body/WaterBuilder.cs +++ b/NewHorizons/Builder/Body/WaterBuilder.cs @@ -39,7 +39,7 @@ namespace NewHorizons.Builder.Body if (_oceanAmbientLight == null) _oceanAmbientLight = SearchUtilities.Find("Ocean_GD").GetComponent()._ambientLight.gameObject.InstantiateInactive().Rename("OceanAmbientLight").DontDestroyOnLoad(); } - public static void Make(GameObject planetGO, Sector sector, OWRigidbody rb, WaterModule module) + public static RadialFluidVolume Make(GameObject planetGO, Sector sector, OWRigidbody rb, WaterModule module) { InitPrefabs(); @@ -148,6 +148,8 @@ namespace NewHorizons.Builder.Body waterGO.transform.position = planetGO.transform.position; waterGO.SetActive(true); + + return fluidVolume; } } } diff --git a/NewHorizons/Builder/Volumes/HazardVolumeBuilder.cs b/NewHorizons/Builder/Volumes/HazardVolumeBuilder.cs index 06fc721d..5ebb65fa 100644 --- a/NewHorizons/Builder/Volumes/HazardVolumeBuilder.cs +++ b/NewHorizons/Builder/Volumes/HazardVolumeBuilder.cs @@ -62,6 +62,20 @@ namespace NewHorizons.Builder.Volumes var visorFrostEffectVolume = go.AddComponent(); visorFrostEffectVolume._frostRate = 0.5f; visorFrostEffectVolume._maxFrost = 0.91f; + + var water = planetGO.GetComponentInChildren(); + if (water != null) + { + var submerge = go.AddComponent(); + submerge._activeWhenSubmerged = false; + submerge._effectVolumes = new EffectVolume[] { visorFrostEffectVolume }; + // THERE ARE NO RENDERERS??? RUH ROH!!! + + var detector = go.AddComponent(); + detector.AddVolume(water); + + submerge._fluidDetector = detector; + } } else if (info.type == VolumesModule.HazardVolumeInfo.HazardType.ELECTRICITY) {