static void Postfix(PLFire __instance) { if (Global.PluginIsOn) { __instance.HasSpread = false; } }
static bool Prefix(PLFire __instance) { PulsarPluginLoader.Utilities.Logger.Info("Spreading"); if (!Global.PluginIsOn) { return(true); } bool tryspread = true; Vector3 inOffset = new Vector3(); while (tryspread) { inOffset = UnityEngine.Random.onUnitSphere * 2f; inOffset.y = 0f; tryspread = false; foreach (PLFire fire in __instance.MyShip.AllFires.Values) { float distance = Vector3.Distance(fire.transform.position, inOffset); if (distance <= 1.5f) { tryspread = true; break; } } } if (PLServer.Instance != null) { PLServer.Instance.CreateFireAtOffset(__instance, inOffset); } return(false); }