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();
}
}