From 915b5bc55d4cd7a1b167fa4970fa57511fc20af2 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Mon, 4 Aug 2025 19:54:11 -0400 Subject: [PATCH] Fix effect ruleset --- NewHorizons/Builder/Body/SandBuilder.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/NewHorizons/Builder/Body/SandBuilder.cs b/NewHorizons/Builder/Body/SandBuilder.cs index c5bbb17f..c2320fa9 100644 --- a/NewHorizons/Builder/Body/SandBuilder.cs +++ b/NewHorizons/Builder/Body/SandBuilder.cs @@ -10,6 +10,7 @@ namespace NewHorizons.Builder.Body private static GameObject _sandCollider; private static GameObject _sandOcclusion; private static GameObject _sandProxyShadowCaster; + private static Material _hgtSandEffectMaterial; private static bool _isInit; @@ -23,6 +24,7 @@ namespace NewHorizons.Builder.Body if (_sandCollider == null) _sandCollider = SearchUtilities.Find("TowerTwin_Body/SandSphere_Draining/Collider").InstantiateInactive().Rename("Prefab_TT_SandCollider").DontDestroyOnLoad(); if (_sandOcclusion == null) _sandOcclusion = SearchUtilities.Find("TowerTwin_Body/SandSphere_Draining/OcclusionSphere").InstantiateInactive().Rename("Prefab_TT_SandOcclusion").DontDestroyOnLoad(); if (_sandProxyShadowCaster == null) _sandProxyShadowCaster = SearchUtilities.Find("TowerTwin_Body/SandSphere_Draining/ProxyShadowCaster").InstantiateInactive().Rename("Prefab_TT_SandProxyShadowCaster").DontDestroyOnLoad(); + if (_hgtSandEffectMaterial == null) _hgtSandEffectMaterial = new Material(SearchUtilities.Find("FocalBody/Sector_HGT").GetComponent()._sandMaterial).DontDestroyOnLoad(); } public static void Make(GameObject planetGO, Sector sector, OWRigidbody rb, SandModule module) @@ -35,6 +37,14 @@ namespace NewHorizons.Builder.Body var sandSphere = Object.Instantiate(_sandSphere, sandGO.transform); sandSphere.name = "Sphere"; sandSphere.SetActive(true); + + sandSphere.AddComponent().radius = 1; + sandSphere.AddComponent(); + var sandMaterial = new Material(_hgtSandEffectMaterial); + var sER = sandSphere.AddComponent(); + sER._type = EffectRuleset.BubbleType.None; + sER._sandMaterial = sandMaterial; + if (module.tint != null) { var oldMR = sandSphere.GetComponent(); @@ -49,6 +59,10 @@ namespace NewHorizons.Builder.Body Object.Destroy(oldMR); sandMR.sharedMaterials[0].color = module.tint.ToColor(); sandMR.sharedMaterials[1].color = module.tint.ToColor(); + + var baseColor = module.tint.ToColor(); + var effectColor = new Color(baseColor.r * 0.184f, baseColor.g * 0.184f, baseColor.b * 0.184f, baseColor.a); + sandMaterial.color = effectColor; } var collider = Object.Instantiate(_sandCollider, sandGO.transform);