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