Decompiled source of BrighterMoonlight v1.0.0

BrighterMoonlight.dll

Decompiled a day ago
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using BepInEx.Unity.IL2CPP;
using HarmonyLib;
using SSSGame.Weather;
using UnityEngine;
using UnityEngine.SceneManagement;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]
[assembly: AssemblyCompany("blacks7ar")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("BrighterMoonlight")]
[assembly: AssemblyTitle("BrighterMoonlight")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace BrighterMoonlight;

[BepInPlugin("blacks7ar.BrighterMoonlight", "BrighterMoonlight", "1.0.0")]
public class Plugin : BasePlugin
{
	[HarmonyPatch]
	private static class Patches
	{
		private static float _currentMoonIntensity = -1f;

		private const float _intensityMultiplier = 2f;

		private const float _nightStart = 20.3f;

		private const float _nightEnd = 6.2f;

		[HarmonyPostfix]
		[HarmonyPatch(typeof(WeatherSystem), "LateUpdate")]
		private static void LateUpdate_Postfix(WeatherSystem __instance)
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			Scene activeScene = SceneManager.GetActiveScene();
			if (((Scene)(ref activeScene)).name != "StreamingWorld")
			{
				return;
			}
			if ((Object)(object)__instance._lightDataMoon != (Object)null)
			{
				float intensity = __instance._lightDataMoon.intensity;
				float timeOfDay = __instance.TimeOfDay;
				float num = ((timeOfDay >= 20.3f || timeOfDay <= 6.2f) ? Mathf.Min(intensity * 2f, _maxMoonIntensity.Value) : intensity);
				if (_currentMoonIntensity < 0f)
				{
					_currentMoonIntensity = intensity;
				}
				_currentMoonIntensity = Mathf.MoveTowards(_currentMoonIntensity, num, Time.deltaTime * 1.5f);
				__instance._lightDataMoon.intensity = _currentMoonIntensity;
			}
			else
			{
				_currentMoonIntensity = -1f;
			}
		}
	}

	private const string modGUID = "blacks7ar.BrighterMoonlight";

	public const string modName = "BrighterMoonlight";

	public const string modAuthor = "blacks7ar";

	public const string modVersion = "1.0.0";

	private static ManualLogSource BMLogger;

	private static ConfigEntry<float> _maxMoonIntensity;

	public override void Load()
	{
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		BMLogger = ((BasePlugin)this).Log;
		_maxMoonIntensity = ((BasePlugin)this).Config.Bind<float>("General", "Max Moon Intensity", 10f, "How bright the moon you want at night.");
		BMLogger.LogInfo((object)"Mod loaded!");
		new Harmony("blacks7ar.BrighterMoonlight").PatchAll();
	}
}