Decompiled source of DrizzleRemover v1.1.3

DrizzleRemover.dll

Decompiled 2 months ago
using System;
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 On.RoR2;
using RoR2;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = "")]
[assembly: AssemblyCompany("DrizzleRemover")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("DrizzleRemover")]
[assembly: AssemblyTitle("DrizzleRemover")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace DrizzleRemover;

[BepInPlugin("com.Dragonyck.DrizzleRemover", "DrizzleRemover", "1.1.1")]
public class MainPlugin : BaseUnityPlugin
{
	public const string MODUID = "com.Dragonyck.DrizzleRemover";

	public static ConfigEntry<bool> removeRainstorm;

	public static ConfigEntry<bool> removeEclipse;

	private void Awake()
	{
		//IL_0011: Unknown result type (might be due to invalid IL or missing references)
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Expected O, but got Unknown
		//IL_002c: Expected O, but got Unknown
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Unknown result type (might be due to invalid IL or missing references)
		//IL_005c: Expected O, but got Unknown
		//IL_005c: Expected O, but got Unknown
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_0072: Expected O, but got Unknown
		//IL_0089: Unknown result type (might be due to invalid IL or missing references)
		//IL_0093: Expected O, but got Unknown
		removeRainstorm = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Remove Rainstorm", "Remove"), true, new ConfigDescription("Leave it false if unbased af.", (AcceptableValueBase)null, Array.Empty<object>()));
		removeEclipse = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Remove Eclipse levels 1-7", "Remove"), true, new ConfigDescription("Leave it false if unbased af.", (AcceptableValueBase)null, Array.Empty<object>()));
		RuleDef.FromDifficulty += new hook_FromDifficulty(RuleDef_FromDifficulty);
		if (removeEclipse.Value)
		{
			EclipseRun.GetEclipseDifficultyIndex += new hook_GetEclipseDifficultyIndex(EclipseRun_GetEclipseDifficultyIndex);
		}
	}

	private DifficultyIndex EclipseRun_GetEclipseDifficultyIndex(orig_GetEclipseDifficultyIndex orig, int eclipseLevel)
	{
		//IL_000a: Unknown result type (might be due to invalid IL or missing references)
		//IL_000d: Unknown result type (might be due to invalid IL or missing references)
		return (DifficultyIndex)(DifficultyCatalog.standardDifficultyCount - 1 + 8);
	}

	private RuleDef RuleDef_FromDifficulty(orig_FromDifficulty orig)
	{
		//IL_0019: Unknown result type (might be due to invalid IL or missing references)
		//IL_001f: Invalid comparison between Unknown and I4
		//IL_0040: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Invalid comparison between Unknown and I4
		RuleDef val = orig.Invoke();
		for (int i = 0; i < val.choices.Count; i++)
		{
			if ((int)val.choices[i].difficultyIndex == 0)
			{
				val.choices.RemoveAt(i);
			}
			if ((int)val.choices[i].difficultyIndex == 1 && removeRainstorm.Value)
			{
				val.choices.RemoveAt(i);
			}
		}
		return val;
	}
}