Decompiled source of RealerHex3Mod v2.1.4

Hex3Mod.dll

Decompiled 17 hours ago
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using EntityStates.BrotherMonster.Weapon;
using EntityStates.ImpBossMonster;
using EntityStates.Missions.Arena.NullWard;
using EntityStates.NullifierMonster;
using EntityStates.ScavMonster;
using EntityStates.VoidJailer.Weapon;
using EntityStates.VoidMegaCrab.BackWeapon;
using HG;
using HG.Reflection;
using Hex3Mod.Artifacts;
using Hex3Mod.HelperClasses;
using Hex3Mod.Items;
using Hex3Mod.Logging;
using Hex3Mod.Utils;
using IL.RoR2;
using IL.RoR2.Items;
using Microsoft.CodeAnalysis;
using Mono.Cecil.Cil;
using MonoMod.Cil;
using On.RoR2;
using On.RoR2.Stats;
using R2API;
using R2API.Utils;
using RiskOfOptions;
using RiskOfOptions.OptionConfigs;
using RiskOfOptions.Options;
using RoR2;
using RoR2.Achievements;
using RoR2.ExpansionManagement;
using RoR2.Items;
using RoR2.Orbs;
using RoR2.Projectile;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.Rendering;
using VoidItemAPI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: OptIn]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("Hex3Mod")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+8c3bec67ef0f30673d01f1485db52bfb469620f1")]
[assembly: AssemblyProduct("Hex3Mod")]
[assembly: AssemblyTitle("Hex3Mod")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace Hex3Mod
{
	[BepInPlugin("com.Hex3.Hex3Mod", "Hex3Mod", "2.1.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
	public class Main : BaseUnityPlugin
	{
		public const string ModGuid = "com.Hex3.Hex3Mod";

		public const string ModName = "Hex3Mod";

		public const string ModVer = "2.1.0";

		public static ExpansionDef Hex3ModExpansion;

		public static ConfigEntry<int> ConfigVersion;

		public static ConfigEntry<bool> ShardOfGlass_Load;

		public static ConfigEntry<bool> ShardOfGlass_Enable;

		public static ConfigEntry<float> ShardOfGlass_DamageIncrease;

		public static ConfigEntry<bool> BucketList_Load;

		public static ConfigEntry<bool> BucketList_Enable;

		public static ConfigEntry<float> BucketList_FullBuff;

		public static ConfigEntry<float> BucketList_BuffReduce;

		public static ConfigEntry<bool> HopooEgg_Load;

		public static ConfigEntry<bool> HopooEgg_Enable;

		public static ConfigEntry<float> HopooEgg_JumpModifier;

		public static ConfigEntry<bool> AtgPrototype_Load;

		public static ConfigEntry<bool> AtgPrototype_Enable;

		public static ConfigEntry<float> AtgPrototype_Damage;

		public static ConfigEntry<int> AtgPrototype_HitRequirement;

		public static ConfigEntry<bool> Tickets_Load;

		public static ConfigEntry<bool> Tickets_Enable;

		public static ConfigEntry<bool> Tickets_Bud;

		public static ConfigEntry<bool> Tickets_Cradle;

		public static ConfigEntry<bool> Tickets_Potential;

		public static ConfigEntry<bool> Tickets_Pool;

		public static ConfigEntry<bool> Balance_Load;

		public static ConfigEntry<bool> Balance_Enable;

		public static ConfigEntry<float> Balance_MaxDodge;

		public static ConfigEntry<bool> MinersHelmet_Load;

		public static ConfigEntry<bool> MinersHelmet_Enable;

		public static ConfigEntry<float> MinersHelmet_CooldownReduction;

		public static ConfigEntry<int> MinersHelmet_GoldPerProc;

		public static ConfigEntry<bool> ScatteredReflection_Load;

		public static ConfigEntry<bool> ScatteredReflection_Enable;

		public static ConfigEntry<float> ScatteredReflection_DamageReflectPercent;

		public static ConfigEntry<float> ScatteredReflection_DamageReflectShardStack;

		public static ConfigEntry<float> ScatteredReflection_DamageReflectBonus;

		public static ConfigEntry<bool> Empathy_Load;

		public static ConfigEntry<bool> Empathy_Enable;

		public static ConfigEntry<float> Empathy_HealthPerHit;

		public static ConfigEntry<float> Empathy_Radius;

		public static ConfigEntry<bool> ScavengersPack_Load;

		public static ConfigEntry<bool> ScavengersPack_Enable;

		public static ConfigEntry<int> ScavengersPack_Uses;

		public static ConfigEntry<bool> ScavengersPack_RegenScrap;

		public static ConfigEntry<bool> ScavengersPack_PowerElixir;

		public static ConfigEntry<bool> ScavengersPack_DelicateWatch;

		public static ConfigEntry<bool> ScavengersPack_Dios;

		public static ConfigEntry<bool> ScavengersPack_VoidDios;

		public static ConfigEntry<bool> ScavengersPack_RustedKey;

		public static ConfigEntry<bool> ScavengersPack_EncrustedKey;

		public static ConfigEntry<bool> ScavengersPack_FourHundredTickets;

		public static ConfigEntry<bool> ScavengersPack_OneTicket;

		public static ConfigEntry<bool> ScavengersPack_ShopCard;

		public static ConfigEntry<bool> ScavengersPack_CuteBow;

		public static ConfigEntry<bool> ScavengersPack_GhostApple;

		public static ConfigEntry<bool> ScavengersPack_ClockworkMechanism;

		public static ConfigEntry<bool> ScavengersPack_Vials;

		public static ConfigEntry<bool> ScavengersPack_BrokenChopsticks;

		public static ConfigEntry<bool> ScavengersPack_AbyssalCartridge;

		public static ConfigEntry<bool> ScavengersPack_Singularity;

		public static ConfigEntry<bool> TheUnforgivable_Load;

		public static ConfigEntry<bool> TheUnforgivable_Enable;

		public static ConfigEntry<float> TheUnforgivable_Interval;

		public static ConfigEntry<bool> OverkillOverdrive_Load;

		public static ConfigEntry<bool> OverkillOverdrive_Enable;

		public static ConfigEntry<bool> OverkillOverdrive_TurretBlacklist;

		public static ConfigEntry<float> OverkillOverdrive_ZoneIncrease;

		public static ConfigEntry<bool> Overkilloverdrive_EnableHoldouts;

		public static ConfigEntry<bool> Overkilloverdrive_EnableShrineWoods;

		public static ConfigEntry<bool> Overkilloverdrive_EnableFocusCrystal;

		public static ConfigEntry<bool> Overkilloverdrive_EnableBuffWards;

		public static ConfigEntry<bool> Overkilloverdrive_EnableDeskPlant;

		public static ConfigEntry<bool> Overkilloverdrive_EnableBungus;

		public static ConfigEntry<bool> Apathy_Load;

		public static ConfigEntry<bool> Apathy_Enable;

		public static ConfigEntry<float> Apathy_Radius;

		public static ConfigEntry<float> Apathy_MoveSpeedAdd;

		public static ConfigEntry<float> Apathy_AttackSpeedAdd;

		public static ConfigEntry<float> Apathy_RegenAdd;

		public static ConfigEntry<float> Apathy_Duration;

		public static ConfigEntry<int> Apathy_RequiredKills;

		public static ConfigEntry<bool> MintCondition_Load;

		public static ConfigEntry<bool> MintCondition_Enable;

		public static ConfigEntry<float> MintCondition_MoveSpeed;

		public static ConfigEntry<float> MintCondition_MoveSpeedStack;

		public static ConfigEntry<int> MintCondition_AddJumps;

		public static ConfigEntry<int> MintCondition_AddJumpsStack;

		public static ConfigEntry<bool> ElderMutagen_Load;

		public static ConfigEntry<bool> ElderMutagen_Enable;

		public static ConfigEntry<int> ElderMutagen_MaxHealthFlatAdd;

		public static ConfigEntry<float> ElderMutagen_RegenAdd;

		public static ConfigEntry<bool> DoNotEat_Load;

		public static ConfigEntry<bool> DoNotEat_Enable;

		public static ConfigEntry<float> DoNotEat_PearlChancePerStack;

		public static ConfigEntry<float> DoNotEat_IrradiantChance;

		public static ConfigEntry<bool> DoNotEat_ShopTerminals;

		public static ConfigEntry<bool> CorruptingParasite_Load;

		public static ConfigEntry<bool> CorruptingParasite_Enable;

		public static ConfigEntry<bool> CorruptingParasite_CorruptBossItems;

		public static ConfigEntry<int> CorruptingParasite_ItemsPerStage;

		public static ConfigEntry<bool> CorruptingParasite_NonStageCorrupt;

		public static ConfigEntry<bool> NoticeOfAbsence_Load;

		public static ConfigEntry<bool> NoticeOfAbsence_Enable;

		public static ConfigEntry<float> NoticeOfAbsence_InvisibilityBuff;

		public static ConfigEntry<float> NoticeOfAbsence_InvisibilityBuffStack;

		public static ConfigEntry<bool> DropOfNecrosis_Load;

		public static ConfigEntry<bool> DropOfNecrosis_Enable;

		public static ConfigEntry<float> DropOfNecrosis_Damage;

		public static ConfigEntry<float> DropOfNecrosis_DotChance;

		public static ConfigEntry<bool> CaptainsFavor_Load;

		public static ConfigEntry<bool> CaptainsFavor_Enable;

		public static ConfigEntry<float> CaptainsFavor_InteractableIncrease;

		public static ConfigEntry<bool> Discovery_Load;

		public static ConfigEntry<bool> Discovery_Enable;

		public static ConfigEntry<float> Discovery_ShieldAdd;

		public static ConfigEntry<int> Discovery_MaxStacks;

		public static ConfigEntry<bool> SpatteredCollection_Load;

		public static ConfigEntry<bool> SpatteredCollection_Enable;

		public static ConfigEntry<float> SpatteredCollection_ArmorReduction;

		public static ConfigEntry<float> SpatteredCollection_DotChance;

		public static ConfigEntry<bool> TheHermit_Load;

		public static ConfigEntry<bool> TheHermit_Enable;

		public static ConfigEntry<float> TheHermit_BuffDuration;

		public static ConfigEntry<float> TheHermit_DamageReduction;

		public static ConfigEntry<bool> OneTicket_Load;

		public static ConfigEntry<bool> OneTicket_Enable;

		public static ConfigEntry<bool> BloodOfTheLamb_Load;

		public static ConfigEntry<bool> BloodOfTheLamb_Enable;

		public static ConfigEntry<int> BloodOfTheLamb_ItemsTaken;

		public static bool debugMode = true;

		public static AssetBundle MainAssets;

		public static Dictionary<string, string> ShaderLookup = new Dictionary<string, string>
		{
			{ "stubbed hopoo games/deferred/standard", "shaders/deferred/hgstandard" },
			{ "stubbed hopoo games/fx/cloud intersection remap", "shaders/fx/hgintersectioncloudremap" },
			{ "stubbed hopoo games/fx/cloud remap", "shaders/fx/hgcloudremap" },
			{ "stubbed hopoo games/fx/opaque cloud remap", "shaders/fx/hgopaquecloudremap" },
			{ "stubbed hopoo games/fx/distortion", "shaders/fx/hgdistortion" }
		};

		public static ManualLogSource logger;

		public void Awake()
		{
			//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_010f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Expected O, but got Unknown
			//IL_0119: Expected O, but got Unknown
			//IL_012e: Unknown result type (might be due to invalid IL or missing references)
			//IL_013f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0149: Expected O, but got Unknown
			//IL_0149: Expected O, but got Unknown
			//IL_015e: Unknown result type (might be due to invalid IL or missing references)
			//IL_016f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0179: Expected O, but got Unknown
			//IL_0179: Expected O, but got Unknown
			//IL_018e: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ad: Expected O, but got Unknown
			//IL_01ad: Expected O, but got Unknown
			//IL_01c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01dd: Expected O, but got Unknown
			//IL_01dd: Expected O, but got Unknown
			//IL_01f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0203: Unknown result type (might be due to invalid IL or missing references)
			//IL_020d: Expected O, but got Unknown
			//IL_020d: Expected O, but got Unknown
			//IL_0222: Unknown result type (might be due to invalid IL or missing references)
			//IL_0237: Unknown result type (might be due to invalid IL or missing references)
			//IL_0241: Expected O, but got Unknown
			//IL_0241: Expected O, but got Unknown
			//IL_0256: Unknown result type (might be due to invalid IL or missing references)
			//IL_026b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0275: Expected O, but got Unknown
			//IL_0275: Expected O, but got Unknown
			//IL_028a: Unknown result type (might be due to invalid IL or missing references)
			//IL_029b: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a5: Expected O, but got Unknown
			//IL_02a5: Expected O, but got Unknown
			//IL_02ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_02cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d5: Expected O, but got Unknown
			//IL_02d5: Expected O, but got Unknown
			//IL_02ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0309: Expected O, but got Unknown
			//IL_0309: Expected O, but got Unknown
			//IL_031e: Unknown result type (might be due to invalid IL or missing references)
			//IL_032f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0339: Expected O, but got Unknown
			//IL_0339: Expected O, but got Unknown
			//IL_034e: Unknown result type (might be due to invalid IL or missing references)
			//IL_035f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0369: Expected O, but got Unknown
			//IL_0369: Expected O, but got Unknown
			//IL_037e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0393: Unknown result type (might be due to invalid IL or missing references)
			//IL_039d: Expected O, but got Unknown
			//IL_039d: Expected O, but got Unknown
			//IL_03b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ce: Expected O, but got Unknown
			//IL_03ce: Expected O, but got Unknown
			//IL_03e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_03fe: Expected O, but got Unknown
			//IL_03fe: Expected O, but got Unknown
			//IL_0413: Unknown result type (might be due to invalid IL or missing references)
			//IL_0424: Unknown result type (might be due to invalid IL or missing references)
			//IL_042e: Expected O, but got Unknown
			//IL_042e: Expected O, but got Unknown
			//IL_0443: Unknown result type (might be due to invalid IL or missing references)
			//IL_0454: Unknown result type (might be due to invalid IL or missing references)
			//IL_045e: Expected O, but got Unknown
			//IL_045e: Expected O, but got Unknown
			//IL_0473: Unknown result type (might be due to invalid IL or missing references)
			//IL_0484: Unknown result type (might be due to invalid IL or missing references)
			//IL_048e: Expected O, but got Unknown
			//IL_048e: Expected O, but got Unknown
			//IL_04a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04be: Expected O, but got Unknown
			//IL_04be: Expected O, but got Unknown
			//IL_04d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ee: Expected O, but got Unknown
			//IL_04ee: Expected O, but got Unknown
			//IL_0503: Unknown result type (might be due to invalid IL or missing references)
			//IL_0514: Unknown result type (might be due to invalid IL or missing references)
			//IL_051e: Expected O, but got Unknown
			//IL_051e: Expected O, but got Unknown
			//IL_0533: Unknown result type (might be due to invalid IL or missing references)
			//IL_0544: Unknown result type (might be due to invalid IL or missing references)
			//IL_054e: Expected O, but got Unknown
			//IL_054e: Expected O, but got Unknown
			//IL_0563: Unknown result type (might be due to invalid IL or missing references)
			//IL_0578: Unknown result type (might be due to invalid IL or missing references)
			//IL_0582: Expected O, but got Unknown
			//IL_0582: Expected O, but got Unknown
			//IL_0597: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b2: Expected O, but got Unknown
			//IL_05b2: Expected O, but got Unknown
			//IL_05c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_05e2: Expected O, but got Unknown
			//IL_05e2: Expected O, but got Unknown
			//IL_05f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_060c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0616: Expected O, but got Unknown
			//IL_0616: Expected O, but got Unknown
			//IL_062b: Unknown result type (might be due to invalid IL or missing references)
			//IL_063d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0647: Expected O, but got Unknown
			//IL_0647: Expected O, but got Unknown
			//IL_065c: Unknown result type (might be due to invalid IL or missing references)
			//IL_066d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0677: Expected O, but got Unknown
			//IL_0677: Expected O, but got Unknown
			//IL_068c: Unknown result type (might be due to invalid IL or missing references)
			//IL_069d: Unknown result type (might be due to invalid IL or missing references)
			//IL_06a7: Expected O, but got Unknown
			//IL_06a7: Expected O, but got Unknown
			//IL_06bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_06db: Expected O, but got Unknown
			//IL_06db: Expected O, but got Unknown
			//IL_06f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0705: Unknown result type (might be due to invalid IL or missing references)
			//IL_070f: Expected O, but got Unknown
			//IL_070f: Expected O, but got Unknown
			//IL_0724: Unknown result type (might be due to invalid IL or missing references)
			//IL_0739: Unknown result type (might be due to invalid IL or missing references)
			//IL_0743: Expected O, but got Unknown
			//IL_0743: Expected O, but got Unknown
			//IL_0758: Unknown result type (might be due to invalid IL or missing references)
			//IL_0769: Unknown result type (might be due to invalid IL or missing references)
			//IL_0773: Expected O, but got Unknown
			//IL_0773: Expected O, but got Unknown
			//IL_0788: Unknown result type (might be due to invalid IL or missing references)
			//IL_0799: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a3: Expected O, but got Unknown
			//IL_07a3: Expected O, but got Unknown
			//IL_07b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_07cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d7: Expected O, but got Unknown
			//IL_07d7: Expected O, but got Unknown
			//IL_07ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0801: Unknown result type (might be due to invalid IL or missing references)
			//IL_080b: Expected O, but got Unknown
			//IL_080b: Expected O, but got Unknown
			//IL_0820: Unknown result type (might be due to invalid IL or missing references)
			//IL_0831: Unknown result type (might be due to invalid IL or missing references)
			//IL_083b: Expected O, but got Unknown
			//IL_083b: Expected O, but got Unknown
			//IL_0850: Unknown result type (might be due to invalid IL or missing references)
			//IL_0861: Unknown result type (might be due to invalid IL or missing references)
			//IL_086b: Expected O, but got Unknown
			//IL_086b: Expected O, but got Unknown
			//IL_0880: Unknown result type (might be due to invalid IL or missing references)
			//IL_0891: Unknown result type (might be due to invalid IL or missing references)
			//IL_089b: Expected O, but got Unknown
			//IL_089b: Expected O, but got Unknown
			//IL_08b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_08c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_08cb: Expected O, but got Unknown
			//IL_08cb: Expected O, but got Unknown
			//IL_08e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_08f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_08fb: Expected O, but got Unknown
			//IL_08fb: Expected O, but got Unknown
			//IL_0910: Unknown result type (might be due to invalid IL or missing references)
			//IL_0921: Unknown result type (might be due to invalid IL or missing references)
			//IL_092b: Expected O, but got Unknown
			//IL_092b: Expected O, but got Unknown
			//IL_0940: Unknown result type (might be due to invalid IL or missing references)
			//IL_0951: Unknown result type (might be due to invalid IL or missing references)
			//IL_095b: Expected O, but got Unknown
			//IL_095b: Expected O, but got Unknown
			//IL_0970: Unknown result type (might be due to invalid IL or missing references)
			//IL_0981: Unknown result type (might be due to invalid IL or missing references)
			//IL_098b: Expected O, but got Unknown
			//IL_098b: Expected O, but got Unknown
			//IL_09a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_09b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_09bb: Expected O, but got Unknown
			//IL_09bb: Expected O, but got Unknown
			//IL_09d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_09e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_09eb: Expected O, but got Unknown
			//IL_09eb: Expected O, but got Unknown
			//IL_0a00: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a11: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a1b: Expected O, but got Unknown
			//IL_0a1b: Expected O, but got Unknown
			//IL_0a30: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a41: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a4b: Expected O, but got Unknown
			//IL_0a4b: Expected O, but got Unknown
			//IL_0a60: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a71: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a7b: Expected O, but got Unknown
			//IL_0a7b: Expected O, but got Unknown
			//IL_0a90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aa1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aab: Expected O, but got Unknown
			//IL_0aab: Expected O, but got Unknown
			//IL_0ac0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ad1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0adb: Expected O, but got Unknown
			//IL_0adb: Expected O, but got Unknown
			//IL_0af0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b01: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b0b: Expected O, but got Unknown
			//IL_0b0b: Expected O, but got Unknown
			//IL_0b20: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b31: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b3b: Expected O, but got Unknown
			//IL_0b3b: Expected O, but got Unknown
			//IL_0b50: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b61: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b6b: Expected O, but got Unknown
			//IL_0b6b: Expected O, but got Unknown
			//IL_0b80: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b91: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b9b: Expected O, but got Unknown
			//IL_0b9b: Expected O, but got Unknown
			//IL_0bb0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bc1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bcb: Expected O, but got Unknown
			//IL_0bcb: Expected O, but got Unknown
			//IL_0be0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bf1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bfb: Expected O, but got Unknown
			//IL_0bfb: Expected O, but got Unknown
			//IL_0c10: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c21: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c2b: Expected O, but got Unknown
			//IL_0c2b: Expected O, but got Unknown
			//IL_0c40: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c55: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c5f: Expected O, but got Unknown
			//IL_0c5f: Expected O, but got Unknown
			//IL_0c74: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c85: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c8f: Expected O, but got Unknown
			//IL_0c8f: Expected O, but got Unknown
			//IL_0ca4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cb5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cbf: Expected O, but got Unknown
			//IL_0cbf: Expected O, but got Unknown
			//IL_0cd4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ce5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cef: Expected O, but got Unknown
			//IL_0cef: Expected O, but got Unknown
			//IL_0d04: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d19: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d23: Expected O, but got Unknown
			//IL_0d23: Expected O, but got Unknown
			//IL_0d38: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d49: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d53: Expected O, but got Unknown
			//IL_0d53: Expected O, but got Unknown
			//IL_0d68: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d79: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d83: Expected O, but got Unknown
			//IL_0d83: Expected O, but got Unknown
			//IL_0d98: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db3: Expected O, but got Unknown
			//IL_0db3: Expected O, but got Unknown
			//IL_0dc8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0de3: Expected O, but got Unknown
			//IL_0de3: Expected O, but got Unknown
			//IL_0df8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e13: Expected O, but got Unknown
			//IL_0e13: Expected O, but got Unknown
			//IL_0e28: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e39: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e43: Expected O, but got Unknown
			//IL_0e43: Expected O, but got Unknown
			//IL_0e58: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e69: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e73: Expected O, but got Unknown
			//IL_0e73: Expected O, but got Unknown
			//IL_0e88: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e99: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ea3: Expected O, but got Unknown
			//IL_0ea3: Expected O, but got Unknown
			//IL_0eb8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ecd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ed7: Expected O, but got Unknown
			//IL_0ed7: Expected O, but got Unknown
			//IL_0eec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f01: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f0b: Expected O, but got Unknown
			//IL_0f0b: Expected O, but got Unknown
			//IL_0f20: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f35: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f3f: Expected O, but got Unknown
			//IL_0f3f: Expected O, but got Unknown
			//IL_0f54: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f69: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f73: Expected O, but got Unknown
			//IL_0f73: Expected O, but got Unknown
			//IL_0f88: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f9d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fa7: Expected O, but got Unknown
			//IL_0fa7: Expected O, but got Unknown
			//IL_0fbc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fce: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fd8: Expected O, but got Unknown
			//IL_0fd8: Expected O, but got Unknown
			//IL_0fed: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ffe: Unknown result type (might be due to invalid IL or missing references)
			//IL_1008: Expected O, but got Unknown
			//IL_1008: Expected O, but got Unknown
			//IL_101d: Unknown result type (might be due to invalid IL or missing references)
			//IL_102e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1038: Expected O, but got Unknown
			//IL_1038: Expected O, but got Unknown
			//IL_104d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1062: Unknown result type (might be due to invalid IL or missing references)
			//IL_106c: Expected O, but got Unknown
			//IL_106c: Expected O, but got Unknown
			//IL_1081: Unknown result type (might be due to invalid IL or missing references)
			//IL_1096: Unknown result type (might be due to invalid IL or missing references)
			//IL_10a0: Expected O, but got Unknown
			//IL_10a0: Expected O, but got Unknown
			//IL_10b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_10c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_10d0: Expected O, but got Unknown
			//IL_10d0: Expected O, but got Unknown
			//IL_10e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_10f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_1100: Expected O, but got Unknown
			//IL_1100: Expected O, but got Unknown
			//IL_1115: Unknown result type (might be due to invalid IL or missing references)
			//IL_1126: Unknown result type (might be due to invalid IL or missing references)
			//IL_1130: Expected O, but got Unknown
			//IL_1130: Expected O, but got Unknown
			//IL_1145: Unknown result type (might be due to invalid IL or missing references)
			//IL_1156: Unknown result type (might be due to invalid IL or missing references)
			//IL_1160: Expected O, but got Unknown
			//IL_1160: Expected O, but got Unknown
			//IL_1175: Unknown result type (might be due to invalid IL or missing references)
			//IL_1187: Unknown result type (might be due to invalid IL or missing references)
			//IL_1191: Expected O, but got Unknown
			//IL_1191: Expected O, but got Unknown
			//IL_11a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_11bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_11c5: Expected O, but got Unknown
			//IL_11c5: Expected O, but got Unknown
			//IL_11da: Unknown result type (might be due to invalid IL or missing references)
			//IL_11eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f5: Expected O, but got Unknown
			//IL_11f5: Expected O, but got Unknown
			//IL_120a: Unknown result type (might be due to invalid IL or missing references)
			//IL_121b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1225: Expected O, but got Unknown
			//IL_1225: Expected O, but got Unknown
			//IL_123a: Unknown result type (might be due to invalid IL or missing references)
			//IL_124f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1259: Expected O, but got Unknown
			//IL_1259: Expected O, but got Unknown
			//IL_126e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1283: Unknown result type (might be due to invalid IL or missing references)
			//IL_128d: Expected O, but got Unknown
			//IL_128d: Expected O, but got Unknown
			//IL_12a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_12b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_12bd: Expected O, but got Unknown
			//IL_12bd: Expected O, but got Unknown
			//IL_12d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_12e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_12ed: Expected O, but got Unknown
			//IL_12ed: Expected O, but got Unknown
			//IL_1302: Unknown result type (might be due to invalid IL or missing references)
			//IL_1313: Unknown result type (might be due to invalid IL or missing references)
			//IL_131d: Expected O, but got Unknown
			//IL_131d: Expected O, but got Unknown
			//IL_1332: Unknown result type (might be due to invalid IL or missing references)
			//IL_1343: Unknown result type (might be due to invalid IL or missing references)
			//IL_134d: Expected O, but got Unknown
			//IL_134d: Expected O, but got Unknown
			//IL_1362: Unknown result type (might be due to invalid IL or missing references)
			//IL_1373: Unknown result type (might be due to invalid IL or missing references)
			//IL_137d: Expected O, but got Unknown
			//IL_137d: Expected O, but got Unknown
			//IL_1392: Unknown result type (might be due to invalid IL or missing references)
			//IL_13a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_13ad: Expected O, but got Unknown
			//IL_13ad: Expected O, but got Unknown
			//IL_13c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_13d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_13dd: Expected O, but got Unknown
			//IL_13dd: Expected O, but got Unknown
			//IL_13f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_1403: Unknown result type (might be due to invalid IL or missing references)
			//IL_140d: Expected O, but got Unknown
			//IL_140d: Expected O, but got Unknown
			//IL_1422: Unknown result type (might be due to invalid IL or missing references)
			//IL_1437: Unknown result type (might be due to invalid IL or missing references)
			//IL_1441: Expected O, but got Unknown
			//IL_1441: Expected O, but got Unknown
			//IL_1456: Unknown result type (might be due to invalid IL or missing references)
			//IL_146b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1475: Expected O, but got Unknown
			//IL_1475: Expected O, but got Unknown
			//IL_148a: Unknown result type (might be due to invalid IL or missing references)
			//IL_149b: Unknown result type (might be due to invalid IL or missing references)
			//IL_14a5: Expected O, but got Unknown
			//IL_14a5: Expected O, but got Unknown
			//IL_14ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_14cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_14d5: Expected O, but got Unknown
			//IL_14d5: Expected O, but got Unknown
			//IL_14ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_14ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_1509: Expected O, but got Unknown
			//IL_1509: Expected O, but got Unknown
			//IL_151e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1533: Unknown result type (might be due to invalid IL or missing references)
			//IL_153d: Expected O, but got Unknown
			//IL_153d: Expected O, but got Unknown
			//IL_1552: Unknown result type (might be due to invalid IL or missing references)
			//IL_1563: Unknown result type (might be due to invalid IL or missing references)
			//IL_156d: Expected O, but got Unknown
			//IL_156d: Expected O, but got Unknown
			//IL_1582: Unknown result type (might be due to invalid IL or missing references)
			//IL_1593: Unknown result type (might be due to invalid IL or missing references)
			//IL_159d: Expected O, but got Unknown
			//IL_159d: Expected O, but got Unknown
			//IL_15b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_15c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_15cd: Expected O, but got Unknown
			//IL_15cd: Expected O, but got Unknown
			//IL_15e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_15f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_15fd: Expected O, but got Unknown
			//IL_15fd: Expected O, but got Unknown
			//IL_1612: Unknown result type (might be due to invalid IL or missing references)
			//IL_1627: Unknown result type (might be due to invalid IL or missing references)
			//IL_1631: Expected O, but got Unknown
			//IL_1631: Expected O, but got Unknown
			//IL_1646: Unknown result type (might be due to invalid IL or missing references)
			//IL_1658: Unknown result type (might be due to invalid IL or missing references)
			//IL_1662: Expected O, but got Unknown
			//IL_1662: Expected O, but got Unknown
			//IL_1677: Unknown result type (might be due to invalid IL or missing references)
			//IL_1688: Unknown result type (might be due to invalid IL or missing references)
			//IL_1692: Expected O, but got Unknown
			//IL_1692: Expected O, but got Unknown
			//IL_16a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_16b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_16c2: Expected O, but got Unknown
			//IL_16c2: Expected O, but got Unknown
			//IL_16d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_16ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_16f6: Expected O, but got Unknown
			//IL_16f6: Expected O, but got Unknown
			//IL_170b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1720: Unknown result type (might be due to invalid IL or missing references)
			//IL_172a: Expected O, but got Unknown
			//IL_172a: Expected O, but got Unknown
			//IL_173f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1750: Unknown result type (might be due to invalid IL or missing references)
			//IL_175a: Expected O, but got Unknown
			//IL_175a: Expected O, but got Unknown
			//IL_176f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1780: Unknown result type (might be due to invalid IL or missing references)
			//IL_178a: Expected O, but got Unknown
			//IL_178a: Expected O, but got Unknown
			//IL_179f: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_17be: Expected O, but got Unknown
			//IL_17be: Expected O, but got Unknown
			//IL_17d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_17e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_17f2: Expected O, but got Unknown
			//IL_17f2: Expected O, but got Unknown
			//IL_1807: Unknown result type (might be due to invalid IL or missing references)
			//IL_1818: Unknown result type (might be due to invalid IL or missing references)
			//IL_1822: Expected O, but got Unknown
			//IL_1822: Expected O, but got Unknown
			//IL_1837: Unknown result type (might be due to invalid IL or missing references)
			//IL_1848: Unknown result type (might be due to invalid IL or missing references)
			//IL_1852: Expected O, but got Unknown
			//IL_1852: Expected O, but got Unknown
			//IL_1867: Unknown result type (might be due to invalid IL or missing references)
			//IL_1878: Unknown result type (might be due to invalid IL or missing references)
			//IL_1882: Expected O, but got Unknown
			//IL_1882: Expected O, but got Unknown
			//IL_1897: Unknown result type (might be due to invalid IL or missing references)
			//IL_18a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_18b2: Expected O, but got Unknown
			//IL_18b2: Expected O, but got Unknown
			//IL_18c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_18d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_18e2: Expected O, but got Unknown
			//IL_18e2: Expected O, but got Unknown
			//IL_1962: Unknown result type (might be due to invalid IL or missing references)
			//IL_196c: Expected O, but got Unknown
			//IL_1997: Unknown result type (might be due to invalid IL or missing references)
			//IL_199c: Unknown result type (might be due to invalid IL or missing references)
			//IL_19a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_19bd: Expected O, but got Unknown
			//IL_19b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_19c2: Expected O, but got Unknown
			//IL_19ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_19f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_19fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a15: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a32: Expected O, but got Unknown
			//IL_1a2d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a37: Expected O, but got Unknown
			//IL_1aff: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b04: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ddc: Unknown result type (might be due to invalid IL or missing references)
			//IL_1de6: Expected O, but got Unknown
			//IL_1dee: Unknown result type (might be due to invalid IL or missing references)
			//IL_1df8: Expected O, but got Unknown
			Log.Init(((BaseUnityPlugin)this).Logger);
			Log.LogInfo("Creating assets...");
			using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Hex3Mod.vfxpass2"))
			{
				MainAssets = AssetBundle.LoadFromStream(stream);
			}
			Material[] array = MainAssets.LoadAllAssets<Material>();
			foreach (Material val in array)
			{
				if (((Object)val.shader).name.StartsWith("Stubbed Hopoo Games"))
				{
					Shader val2 = Resources.Load<Shader>(ShaderLookup[((Object)val.shader).name.ToLower()]);
					if (Object.op_Implicit((Object)(object)val2))
					{
						val.shader = val2;
					}
				}
			}
			Log.LogInfo("Creating config...");
			ModSettingsManager.SetModDescription("Adds 25 new items. Fully configurable, now with Risk Of Options!");
			Sprite modIcon = MainAssets.LoadAsset<Sprite>("Assets/VFXPASS3/Icons/icon.png");
			ModSettingsManager.SetModIcon(modIcon);
			while (true)
			{
				ConfigVersion = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Config Version", "Config Version"), 1, new ConfigDescription("Do not change.", (AcceptableValueBase)null, Array.Empty<object>()));
				ShardOfGlass_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - Shard Of Glass", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				ShardOfGlass_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - Shard Of Glass", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				ShardOfGlass_DamageIncrease = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Common - Shard Of Glass", "Damage multiplier"), 0.07f, new ConfigDescription("Percentage of base damage this item adds", (AcceptableValueBase)null, Array.Empty<object>()));
				BucketList_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - Bucket List", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				BucketList_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - Bucket List", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				BucketList_FullBuff = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Common - Bucket List", "Speed multiplier"), 0.24f, new ConfigDescription("Percent speed increase", (AcceptableValueBase)null, Array.Empty<object>()));
				BucketList_BuffReduce = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Common - Bucket List", "Reduced buff multiplier"), 0.8f, new ConfigDescription("Multiplier subtracted from the speed buff while fighting a boss", (AcceptableValueBase)null, Array.Empty<object>()));
				HopooEgg_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - Hopoo Egg", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				HopooEgg_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - Hopoo Egg", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				HopooEgg_JumpModifier = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Common - Hopoo Egg", "Jump height multiplier"), 0.3f, new ConfigDescription("Percent jump height increase", (AcceptableValueBase)null, Array.Empty<object>()));
				AtgPrototype_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - ATG Prototype", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				AtgPrototype_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - ATG Prototype", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				AtgPrototype_Damage = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Common - ATG Prototype", "Damage per stack"), 0.8f, new ConfigDescription("Multiplier of base damage the missile deals per stack", (AcceptableValueBase)null, Array.Empty<object>()));
				AtgPrototype_HitRequirement = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Common - ATG Prototype", "Hits required per missile"), 10, new ConfigDescription("How many hits it should take to fire each missile", (AcceptableValueBase)null, Array.Empty<object>()));
				Tickets_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - 400 Tickets", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Tickets_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - 400 Tickets", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Tickets_Bud = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - 400 Tickets", "Works on Lunar Bud"), true, new ConfigDescription("Should 400 Tickets double Lunar Bud drops?", (AcceptableValueBase)null, Array.Empty<object>()));
				Tickets_Cradle = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - 400 Tickets", "Works on Void Cradle"), true, new ConfigDescription("Should 400 Tickets double Void Cradle drops?", (AcceptableValueBase)null, Array.Empty<object>()));
				Tickets_Potential = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - 400 Tickets", "Works on Void Potential"), true, new ConfigDescription("Should 400 Tickets double Void Potential and Encrusted Lockbox drops?", (AcceptableValueBase)null, Array.Empty<object>()));
				Tickets_Pool = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - 400 Tickets", "Works on Cleansing Pool"), false, new ConfigDescription("Should 400 Tickets double Cleansing Pool drops?", (AcceptableValueBase)null, Array.Empty<object>()));
				Balance_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - Balance", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Balance_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - Balance", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Balance_MaxDodge = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Common - Balance", "Max added dodge chance"), 20f, new ConfigDescription("Maximum (standing still) chance to dodge, stacking hyperbolically", (AcceptableValueBase)null, Array.Empty<object>()));
				MinersHelmet_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - Miners Helmet", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				MinersHelmet_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Common - Miners Helmet", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				MinersHelmet_CooldownReduction = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Common - Miners Helmet", "Cooldown reduction"), 2f, new ConfigDescription("Reduce cooldowns by this many seconds every time a small chest's worth is earned", (AcceptableValueBase)null, Array.Empty<object>()));
				MinersHelmet_GoldPerProc = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Common - Miners Helmet", "Gold requirement"), 25, new ConfigDescription("Gold required to proc cooldown reduction (Scaling with time)", (AcceptableValueBase)null, Array.Empty<object>()));
				ScatteredReflection_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scattered Reflection", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				ScatteredReflection_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scattered Reflection", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				ScatteredReflection_DamageReflectPercent = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Uncommon - Scattered Reflection", "Damage reflect value"), 0.07f, new ConfigDescription("The percent of all total received damage to be reflected", (AcceptableValueBase)null, Array.Empty<object>()));
				ScatteredReflection_DamageReflectShardStack = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Uncommon - Scattered Reflection", "Damage reflect multiplier per shard"), 0.007f, new ConfigDescription("How much of a reflection bonus each Shard Of Glass adds in percentage of total damage (Caps at 90%)", (AcceptableValueBase)null, Array.Empty<object>()));
				ScatteredReflection_DamageReflectBonus = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Uncommon - Scattered Reflection", "Reflected damage bonus"), 7f, new ConfigDescription("Multiplier of how much bonus damage is added to the reflection", (AcceptableValueBase)null, Array.Empty<object>()));
				Empathy_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Empathy", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Empathy_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Empathy", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Empathy_HealthPerHit = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Uncommon - Empathy", "Health per hit"), 3f, new ConfigDescription("Health points restored when an enemy is hit within radius", (AcceptableValueBase)null, Array.Empty<object>()));
				Empathy_Radius = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Uncommon - Empathy", "Zone radius"), 13f, new ConfigDescription("Radius of activation zone in meters", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_Uses = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Uncommon - Scavengers Pouch", "Maximum uses"), 2, new ConfigDescription("Times the Scavenger's Pouch can be used before being emptied.", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_RegenScrap = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "VANILLA: Regenerating Scrap"), false, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_PowerElixir = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "VANILLA: Power Elixir"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_DelicateWatch = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "VANILLA: Delicate Watch"), false, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_Dios = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "VANILLA: Dios Best Friend"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_VoidDios = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "VANILLA: Pluripotent Larva"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_RustedKey = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "WOLFO QOL: Rusted Key"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_EncrustedKey = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "WOLFO QOL: Encrusted Key"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_FourHundredTickets = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "HEX3MOD: 400 Tickets"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_OneTicket = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "HEX3MOD: One Ticket"), false, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_ShopCard = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "MYSTICS ITEMS: Platinum Card"), false, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_CuteBow = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "MYSTICS ITEMS: Cutesy Bow"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_GhostApple = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "MYSTICS ITEMS: Ghost Apple"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_ClockworkMechanism = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "VANILLAVOID: Clockwork Mechanism"), false, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_Vials = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "VANILLAVOID: Enhancement Vials"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_BrokenChopsticks = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "HOLYCRAPFORKISBACK: Sharp Chopsticks"), false, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_AbyssalCartridge = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "SPIKESTRIP: Abyssal Cartridge"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				ScavengersPack_Singularity = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Scavengers Pouch", "SPIKESTRIP: Singularity"), true, new ConfigDescription("Enable item replacement", (AcceptableValueBase)null, Array.Empty<object>()));
				TheUnforgivable_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - The Unforgivable", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				TheUnforgivable_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - The Unforgivable", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				TheUnforgivable_Interval = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Uncommon - The Unforgivable", "Activation interval"), 10f, new ConfigDescription("Activate your on-kill effects every time this amount of seconds passes", (AcceptableValueBase)null, Array.Empty<object>()));
				OverkillOverdrive_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Overkill Overdrive", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				OverkillOverdrive_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Overkill Overdrive", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				OverkillOverdrive_TurretBlacklist = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Overkill Overdrive", "Turret blacklist"), false, new ConfigDescription("This item has no effect if used by Engineer turrets. Disabled by default", (AcceptableValueBase)null, Array.Empty<object>()));
				OverkillOverdrive_ZoneIncrease = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Uncommon - Overkill Overdrive", "Zone size percentage increase"), 20f, new ConfigDescription("How much larger affected zones should be in percentage", (AcceptableValueBase)null, Array.Empty<object>()));
				Overkilloverdrive_EnableHoldouts = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Overkill Overdrive", "Amplify holdout zones"), true, new ConfigDescription("e.g Teleporter, Pillars", (AcceptableValueBase)null, Array.Empty<object>()));
				Overkilloverdrive_EnableShrineWoods = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Overkill Overdrive", "Amplify Shrine of the Woods"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>()));
				Overkilloverdrive_EnableFocusCrystal = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Overkill Overdrive", "Amplify Focus Crystal"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>()));
				Overkilloverdrive_EnableBuffWards = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Overkill Overdrive", "Amplify buff wards"), true, new ConfigDescription("e.g Warbanner, Spinel Tonic", (AcceptableValueBase)null, Array.Empty<object>()));
				Overkilloverdrive_EnableDeskPlant = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Overkill Overdrive", "Amplify Interstellar Desk Plant"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>()));
				Overkilloverdrive_EnableBungus = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Uncommon - Overkill Overdrive", "Amplify Bustling Fungus"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>()));
				Apathy_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Legendary - Apathy", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Apathy_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Legendary - Apathy", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Apathy_Radius = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Legendary - Apathy", "Radius"), 13f, new ConfigDescription("Radius within which kills contribute to Apathy stacks", (AcceptableValueBase)null, Array.Empty<object>()));
				Apathy_MoveSpeedAdd = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Legendary - Apathy", "Buff move speed multiplier"), 1f, new ConfigDescription("Move speed multiplier added while buffed", (AcceptableValueBase)null, Array.Empty<object>()));
				Apathy_AttackSpeedAdd = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Legendary - Apathy", "Buff attack speed multiplier"), 1f, new ConfigDescription("Attack speed multiplier added while buffed", (AcceptableValueBase)null, Array.Empty<object>()));
				Apathy_RegenAdd = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Legendary - Apathy", "Buff regen added"), 20f, new ConfigDescription("Regen hp/second added while buffed", (AcceptableValueBase)null, Array.Empty<object>()));
				Apathy_Duration = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Legendary - Apathy", "Buff duration"), 7.5f, new ConfigDescription("Duration of buff", (AcceptableValueBase)null, Array.Empty<object>()));
				Apathy_RequiredKills = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Legendary - Apathy", "Kills required for buff"), 10, new ConfigDescription("Required stacks of Apathy to trigger buff", (AcceptableValueBase)null, Array.Empty<object>()));
				MintCondition_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Legendary - Mint Condition", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				MintCondition_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Legendary - Mint Condition", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				MintCondition_MoveSpeed = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Legendary - Mint Condition", "Move speed increase"), 0.2f, new ConfigDescription("Base movement speed increase", (AcceptableValueBase)null, Array.Empty<object>()));
				MintCondition_MoveSpeedStack = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Legendary - Mint Condition", "Move speed increase per stack"), 0.6f, new ConfigDescription("Base movement speed increase per additional stack", (AcceptableValueBase)null, Array.Empty<object>()));
				MintCondition_AddJumps = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Legendary - Mint Condition", "Additional jumps"), 1, new ConfigDescription("Jump count increase", (AcceptableValueBase)null, Array.Empty<object>()));
				MintCondition_AddJumpsStack = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Legendary - Mint Condition", "Additional jumps per stack"), 2, new ConfigDescription("Jump count increase per additional stack", (AcceptableValueBase)null, Array.Empty<object>()));
				ElderMutagen_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Legendary - Elder Mutagen", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				ElderMutagen_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Legendary - Elder Mutagen", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				ElderMutagen_MaxHealthFlatAdd = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Legendary - Elder Mutagen", "Max health per species"), 10, new ConfigDescription("Amount of max health added per killed species", (AcceptableValueBase)null, Array.Empty<object>()));
				ElderMutagen_RegenAdd = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Legendary - Elder Mutagen", "Regen per species"), 0.5f, new ConfigDescription("How much hp per second regen should be added for each killed species", (AcceptableValueBase)null, Array.Empty<object>()));
				DoNotEat_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Legendary - Do Not Eat", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				DoNotEat_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Legendary - Do Not Eat", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				DoNotEat_PearlChancePerStack = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Legendary - Do Not Eat", "Pearl Chance"), 10f, new ConfigDescription("Percent chance that a Pearl or Irradiant Pearl will drop from a chest.", (AcceptableValueBase)null, Array.Empty<object>()));
				DoNotEat_IrradiantChance = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Legendary - Do Not Eat", "Irradiant Pearl Chance"), 20f, new ConfigDescription("Percent chance that an Irradiant Pearl will drop instead of a Pearl.", (AcceptableValueBase)null, Array.Empty<object>()));
				DoNotEat_ShopTerminals = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Legendary - Do Not Eat", "Shop terminals"), true, new ConfigDescription("Shop terminals have a chance to drop pearls.", (AcceptableValueBase)null, Array.Empty<object>()));
				CorruptingParasite_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Corrupting Parasite", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				CorruptingParasite_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Corrupting Parasite", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				CorruptingParasite_CorruptBossItems = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Corrupting Parasite", "Corrupt boss items"), false, new ConfigDescription("Allows the parasite to corrupt boss items", (AcceptableValueBase)null, Array.Empty<object>()));
				CorruptingParasite_ItemsPerStage = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Void - Corrupting Parasite", "Items per stage"), 1, new ConfigDescription("Number of items corrupted each stage", (AcceptableValueBase)null, Array.Empty<object>()));
				CorruptingParasite_NonStageCorrupt = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Corrupting Parasite", "Corrupt items on non-stage scenes"), true, new ConfigDescription("Allows the parasite to corrupt items in non-stage scenes (hidden realms, bazaar)", (AcceptableValueBase)null, Array.Empty<object>()));
				NoticeOfAbsence_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Notice Of Absence", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				NoticeOfAbsence_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Notice Of Absence", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				NoticeOfAbsence_InvisibilityBuff = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Void - Notice Of Absence", "Base invisibility duration"), 10f, new ConfigDescription("How long you'll turn invisible at the start of a boss fight in seconds", (AcceptableValueBase)null, Array.Empty<object>()));
				NoticeOfAbsence_InvisibilityBuffStack = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Void - Notice Of Absence", "Invisibility duration per stack"), 5f, new ConfigDescription("How much longer you'll turn invisible at the start of a boss fight in seconds, per stack", (AcceptableValueBase)null, Array.Empty<object>()));
				DropOfNecrosis_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Drop Of Necrosis", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				DropOfNecrosis_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Drop Of Necrosis", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				DropOfNecrosis_Damage = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Void - Drop Of Necrosis", "Added damage per stack"), 0.05f, new ConfigDescription("What fraction of base Blight damage is added to Blight per stack.", (AcceptableValueBase)null, Array.Empty<object>()));
				DropOfNecrosis_DotChance = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Void - Drop Of Necrosis", "Chance to inflict Blight"), 5f, new ConfigDescription("Added percent chance of inflicting Blight on hit.", (AcceptableValueBase)null, Array.Empty<object>()));
				CaptainsFavor_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Captains Favor", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				CaptainsFavor_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Captains Favor", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Discovery_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Discovery", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Discovery_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Discovery", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				Discovery_ShieldAdd = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Void - Discovery", "Shield value"), 3f, new ConfigDescription("Shield added per world interactable used", (AcceptableValueBase)null, Array.Empty<object>()));
				Discovery_MaxStacks = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Void - Discovery", "Maximum uses"), 100, new ConfigDescription("Maximum interactable uses per stack before shield is no longer granted", (AcceptableValueBase)null, Array.Empty<object>()));
				SpatteredCollection_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Spattered Collection", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				SpatteredCollection_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - Spattered Collection", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				SpatteredCollection_ArmorReduction = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Void - Spattered Collection", "Armor reduction per stack"), 2f, new ConfigDescription("For each stack of Spattered Collection, reduce enemies' armor by this much per stack of Blight.", (AcceptableValueBase)null, Array.Empty<object>()));
				SpatteredCollection_DotChance = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Void - Spattered Collection", "Chance to inflict Blight"), 10f, new ConfigDescription("Added percent chance of inflicting Blight on hit.", (AcceptableValueBase)null, Array.Empty<object>()));
				TheHermit_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - The Hermit", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				TheHermit_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Void - The Hermit", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				TheHermit_BuffDuration = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Void - The Hermit", "Debuff duration"), 5f, new ConfigDescription("How long in seconds the on-hit debuff should last", (AcceptableValueBase)null, Array.Empty<object>()));
				TheHermit_DamageReduction = ((BaseUnityPlugin)this).Config.Bind<float>(new ConfigDefinition("Void - The Hermit", "Debuff damage reduction"), 5f, new ConfigDescription("Enemy damage reduced by each debuff in percent", (AcceptableValueBase)null, Array.Empty<object>()));
				OneTicket_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Lunar - One Ticket", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				OneTicket_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Lunar - One Ticket", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				BloodOfTheLamb_Load = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Lunar Equipment - Blood Of The Lamb", "Load item"), true, new ConfigDescription("Load the item at startup. <style=cDeath>Requires a restart to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				BloodOfTheLamb_Enable = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Lunar Equipment - Blood Of The Lamb", "Enable item"), true, new ConfigDescription("Allow the user to find this item in runs. <style=cDeath>Must start a new run to take effect!</style>", (AcceptableValueBase)null, Array.Empty<object>()));
				BloodOfTheLamb_ItemsTaken = ((BaseUnityPlugin)this).Config.Bind<int>(new ConfigDefinition("Lunar Equipment - Blood Of The Lamb", "Items taken"), 6, new ConfigDescription("Amount of regular items you must sacrifice to gain a boss item", (AcceptableValueBase)null, Array.Empty<object>()));
				if (ConfigVersion.Value == 1)
				{
					break;
				}
				((BaseUnityPlugin)this).Config.Clear();
				((BaseUnityPlugin)this).Config.Save();
			}
			ConfigEntryBase[] configEntries = ((BaseUnityPlugin)this).Config.GetConfigEntries();
			foreach (ConfigEntryBase val3 in configEntries)
			{
				if (val3.DefaultValue.GetType() == typeof(bool))
				{
					ModSettingsManager.AddOption((BaseOption)new CheckBoxOption((ConfigEntry<bool>)(object)val3));
				}
				if (val3.DefaultValue.GetType() == typeof(int))
				{
					ModSettingsManager.AddOption((BaseOption)new IntSliderOption((ConfigEntry<int>)(object)val3, new IntSliderConfig
					{
						min = 0,
						max = ((ConfigEntry<int>)(object)val3).Value * 10
					}));
				}
				if (val3.DefaultValue.GetType() == typeof(float))
				{
					ModSettingsManager.AddOption((BaseOption)new StepSliderOption((ConfigEntry<float>)(object)val3, new StepSliderConfig
					{
						min = 0f,
						max = ((ConfigEntry<float>)(object)val3).Value * 10f,
						increment = ((ConfigEntry<float>)(object)val3).Value / 10f
					}));
				}
			}
			if (UltimateCustomRunCompatibility.enabled)
			{
				Log.LogInfo("Detected Ultimate Custom Run soft dependency");
			}
			else
			{
				Log.LogInfo("Did not detect Ultimate Custom Run soft dependency");
			}
			if (VanillaRebalanceCompatibility.enabled)
			{
				Log.LogInfo("Detected VanillaRebalance soft dependency");
			}
			else
			{
				Log.LogInfo("Did not detect VanillaRebalance soft dependency");
			}
			Log.LogInfo("Creating expansion...");
			Hex3ModExpansion = ScriptableObject.CreateInstance<ExpansionDef>();
			((Object)Hex3ModExpansion).name = "Hex3Mod";
			Hex3ModExpansion.nameToken = "Hex3Mod";
			Hex3ModExpansion.descriptionToken = "Adds content from 'Hex3Mod' to the game.";
			Hex3ModExpansion.iconSprite = MainAssets.LoadAsset<Sprite>("Assets/VFXPASS3/Icons/expansion.png");
			Hex3ModExpansion.disabledIconSprite = Addressables.LoadAssetAsync<Sprite>((object)"RoR2/Base/Common/MiscIcons/texUnlockIcon.png").WaitForCompletion();
			Hex3ModExpansion.requiredEntitlement = null;
			ContentAddition.AddExpansionDef(Hex3ModExpansion);
			Log.LogInfo("Initializing items...");
			Log.LogInfo("Common");
			if (ShardOfGlass_Load.Value)
			{
				ShardOfGlass.Initiate();
			}
			if (BucketList_Load.Value)
			{
				BucketList.Initiate();
			}
			if (HopooEgg_Load.Value)
			{
				HopooEgg.Initiate();
			}
			if (AtgPrototype_Load.Value)
			{
				AtgPrototype.Initiate();
			}
			if (Tickets_Load.Value)
			{
				Tickets.Initiate();
			}
			if (Balance_Load.Value)
			{
				Balance.Initiate();
			}
			if (MinersHelmet_Load.Value)
			{
				MinersHelmet.Initiate();
			}
			Log.LogInfo("Uncommon");
			if (ScatteredReflection_Load.Value)
			{
				ScatteredReflection.Initiate();
			}
			if (Empathy_Load.Value)
			{
				Empathy.Initiate();
			}
			if (ScavengersPack_Load.Value)
			{
				ScavengersPack.Initiate();
			}
			if (TheUnforgivable_Load.Value)
			{
				TheUnforgivable.Initiate();
			}
			if (OverkillOverdrive_Load.Value)
			{
				OverkillOverdrive.Initiate();
			}
			Log.LogInfo("Legendary");
			if (Apathy_Load.Value)
			{
				Apathy.Initiate();
			}
			if (MintCondition_Load.Value)
			{
				MintCondition.Initiate();
			}
			if (ElderMutagen_Load.Value)
			{
				ElderMutagen.Initiate();
			}
			if (DoNotEat_Load.Value)
			{
				DoNotEat.Initiate();
			}
			Log.LogInfo("Void");
			if (CorruptingParasite_Load.Value)
			{
				CorruptingParasite.Initiate();
				ArtifactOfCorruption.Initiate();
			}
			if (NoticeOfAbsence_Load.Value)
			{
				NoticeOfAbsence.Initiate();
			}
			if (DropOfNecrosis_Load.Value)
			{
				DropOfNecrosis.Initiate();
			}
			if (CaptainsFavor_Load.Value)
			{
				CaptainsFavor.Initiate();
			}
			if (Discovery_Load.Value)
			{
				Discovery.Initiate();
			}
			if (SpatteredCollection_Load.Value)
			{
				SpatteredCollection.Initiate();
			}
			if (TheHermit_Load.Value)
			{
				TheHermit.Initiate();
			}
			Log.LogInfo("Lunar");
			if (OneTicket_Load.Value)
			{
				OneTicket.Initiate();
			}
			Log.LogInfo("Lunar Equipment");
			if (BloodOfTheLamb_Load.Value)
			{
				BloodOfTheLamb.Initiate();
			}
			Run.BuildDropTable += new hook_BuildDropTable(Run_BuildDropTable);
			Run.IsItemAvailable += new hook_IsItemAvailable(Run_IsItemAvailable);
			Log.LogInfo("Done!");
			static void Run_BuildDropTable(orig_BuildDropTable orig, Run self)
			{
				UpdateItemStatuses(self);
				orig.Invoke(self);
			}
			static bool Run_IsItemAvailable(orig_IsItemAvailable orig, Run self, ItemIndex itemIndex)
			{
				//IL_000a: Unknown result type (might be due to invalid IL or missing references)
				UpdateItemStatuses(self);
				return orig.Invoke(self, itemIndex);
			}
			static void UpdateItemStatuses(Run self)
			{
				if (ShardOfGlass_Load.Value)
				{
					ShardOfGlass.UpdateItemStatus(self);
				}
				if (BucketList_Load.Value)
				{
					BucketList.UpdateItemStatus(self);
				}
				if (HopooEgg_Load.Value)
				{
					HopooEgg.UpdateItemStatus(self);
				}
				if (AtgPrototype_Load.Value)
				{
					AtgPrototype.UpdateItemStatus(self);
				}
				if (Tickets_Load.Value)
				{
					Tickets.UpdateItemStatus(self);
				}
				if (Balance_Load.Value)
				{
					Balance.UpdateItemStatus(self);
				}
				if (MinersHelmet_Load.Value)
				{
					MinersHelmet.UpdateItemStatus(self);
				}
				if (ScatteredReflection_Load.Value)
				{
					ScatteredReflection.UpdateItemStatus(self);
				}
				if (Empathy_Load.Value)
				{
					Empathy.UpdateItemStatus(self);
				}
				if (ScavengersPack_Load.Value)
				{
					ScavengersPack.UpdateItemStatus(self);
				}
				if (TheUnforgivable_Load.Value)
				{
					TheUnforgivable.UpdateItemStatus(self);
				}
				if (OverkillOverdrive_Load.Value)
				{
					OverkillOverdrive.UpdateItemStatus(self);
				}
				if (Apathy_Load.Value)
				{
					Apathy.UpdateItemStatus(self);
				}
				if (MintCondition_Load.Value)
				{
					MintCondition.UpdateItemStatus(self);
				}
				if (ElderMutagen_Load.Value)
				{
					ElderMutagen.UpdateItemStatus(self);
				}
				if (DoNotEat_Load.Value)
				{
					DoNotEat.UpdateItemStatus(self);
				}
				if (CorruptingParasite_Load.Value)
				{
					CorruptingParasite.UpdateItemStatus(self);
				}
				if (NoticeOfAbsence_Load.Value)
				{
					NoticeOfAbsence.UpdateItemStatus(self);
				}
				if (DropOfNecrosis_Load.Value)
				{
					DropOfNecrosis.UpdateItemStatus(self);
				}
				if (CaptainsFavor_Load.Value)
				{
					CaptainsFavor.UpdateItemStatus(self);
				}
				if (SpatteredCollection_Load.Value)
				{
					SpatteredCollection.UpdateItemStatus(self);
				}
				if (TheHermit_Load.Value)
				{
					TheHermit.UpdateItemStatus(self);
				}
				if (OneTicket_Load.Value)
				{
					OneTicket.UpdateItemStatus(self);
				}
				if (BloodOfTheLamb_Load.Value)
				{
					BloodOfTheLamb.UpdateItemStatus(self);
				}
			}
		}
	}
}
namespace Hex3Mod.Utils
{
	public class MaterialControllerComponents
	{
		public class HGControllerFinder : MonoBehaviour
		{
			public Renderer Renderer;

			public Material[] Materials;

			public void Start()
			{
				Renderer = ((Component)this).gameObject.GetComponent<Renderer>();
				if (Object.op_Implicit((Object)(object)Renderer))
				{
					Materials = Renderer.materials;
					Material[] materials = Materials;
					foreach (Material val in materials)
					{
						if (Object.op_Implicit((Object)(object)val))
						{
							switch (((Object)val.shader).name)
							{
							case "Hopoo Games/Deferred/Standard":
							{
								HGStandardController hGStandardController = ((Component)this).gameObject.AddComponent<HGStandardController>();
								hGStandardController.Material = val;
								hGStandardController.Renderer = Renderer;
								break;
							}
							case "Hopoo Games/Deferred/Snow Topped":
							{
								HGSnowToppedController hGSnowToppedController = ((Component)this).gameObject.AddComponent<HGSnowToppedController>();
								hGSnowToppedController.Material = val;
								hGSnowToppedController.Renderer = Renderer;
								((Object)hGSnowToppedController).name = ((Object)val).name + "(HGSnowTopped) Controller";
								break;
							}
							case "Hopoo Games/Deferred/Triplanar Terrain Blend":
							{
								HGTriplanarTerrainBlend hGTriplanarTerrainBlend = ((Component)this).gameObject.AddComponent<HGTriplanarTerrainBlend>();
								hGTriplanarTerrainBlend.Material = val;
								hGTriplanarTerrainBlend.Renderer = Renderer;
								break;
							}
							case "Hopoo Games/FX/Distortion":
							{
								HGDistortionController hGDistortionController = ((Component)this).gameObject.AddComponent<HGDistortionController>();
								hGDistortionController.Material = val;
								hGDistortionController.Renderer = Renderer;
								break;
							}
							case "Hopoo Games/FX/Solid Parallax":
							{
								HGSolidParallaxController hGSolidParallaxController = ((Component)this).gameObject.AddComponent<HGSolidParallaxController>();
								hGSolidParallaxController.Material = val;
								hGSolidParallaxController.Renderer = Renderer;
								break;
							}
							case "Hopoo Games/FX/Cloud Remap":
							{
								HGCloudRemapController hGCloudRemapController = ((Component)this).gameObject.AddComponent<HGCloudRemapController>();
								hGCloudRemapController.Material = val;
								hGCloudRemapController.Renderer = Renderer;
								break;
							}
							case "Hopoo Games/FX/Cloud Intersection Remap":
							{
								HGIntersectionController hGIntersectionController = ((Component)this).gameObject.AddComponent<HGIntersectionController>();
								hGIntersectionController.Material = val;
								hGIntersectionController.Renderer = Renderer;
								break;
							}
							}
						}
					}
				}
				Object.Destroy((Object)(object)this);
			}
		}

		public class HGBaseController : MonoBehaviour
		{
			public Material Material;

			public Renderer Renderer;

			public GameObject OwnerGameObject;

			public virtual string ShaderName { get; set; }

			public void Start()
			{
				OwnerGameObject = ((Component)this).gameObject;
			}

			public void Update()
			{
				if (!Object.op_Implicit((Object)(object)Material) || !Object.op_Implicit((Object)(object)Renderer))
				{
					Object.Destroy((Object)(object)this);
				}
				if ((Object.op_Implicit((Object)(object)Renderer) && Object.op_Implicit((Object)(object)Material) && !((Object)Material.shader).name.Contains(ShaderName)) || (Object.op_Implicit((Object)(object)Renderer) && (Object)(object)((Component)Renderer).gameObject != (Object)(object)OwnerGameObject))
				{
					HGControllerFinder hGControllerFinder = ((Component)Renderer).gameObject.AddComponent<HGControllerFinder>();
					hGControllerFinder.Renderer = Renderer;
					Object.Destroy((Object)(object)this);
				}
			}
		}

		public class HGStandardController : HGBaseController
		{
			public enum _RampInfoEnum
			{
				TwoTone = 0,
				SmoothedTwoTone = 1,
				Unlitish = 3,
				Subsurface = 4,
				Grass = 5
			}

			public enum _DecalLayerEnum
			{
				Default,
				Environment,
				Character,
				Misc
			}

			public enum _CullEnum
			{
				Off,
				Front,
				Back
			}

			public enum _PrintDirectionEnum
			{
				BottomUp = 0,
				TopDown = 1,
				BackToFront = 3
			}

			public override string ShaderName => "Hopoo Games/Deferred/Standard";

			public bool _EnableCutout
			{
				get
				{
					Material material = Material;
					return material != null && material.IsKeywordEnabled("CUTOUT");
				}
				set
				{
					SetShaderKeywordBasedOnBool(value, Material, "CUTOUT");
				}
			}

			public Color _Color
			{
				get
				{
					//IL_001a: Unknown result type (might be due to invalid IL or missing references)
					//IL_000c: Unknown result type (might be due to invalid IL or missing references)
					//IL_0012: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					return (Color)((material != null) ? material.GetColor("_Color") : default(Color));
				}
				set
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					if (material != null)
					{
						material.SetColor("_Color", value);
					}
				}
			}

			public Texture _MainTex
			{
				get
				{
					Material material = Material;
					return ((material != null) ? material.GetTexture("_MainTex") : null) ?? null;
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetTexture("_MainTex", value);
					}
				}
			}

			public Vector2 _MainTexScale
			{
				get
				{
					//IL_0016: Unknown result type (might be due to invalid IL or missing references)
					//IL_000a: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					return (material != null) ? material.GetTextureScale("_MainTex") : Vector2.zero;
				}
				set
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					if (material != null)
					{
						material.SetTextureScale("_MainTex", value);
					}
				}
			}

			public Vector2 _MainTexOffset
			{
				get
				{
					//IL_0016: Unknown result type (might be due to invalid IL or missing references)
					//IL_000a: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					return (material != null) ? material.GetTextureOffset("_MainTex") : Vector2.zero;
				}
				set
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					if (material != null)
					{
						material.SetTextureOffset("_MainTex", value);
					}
				}
			}

			public float _NormalStrength
			{
				get
				{
					Material material = Material;
					return (material != null) ? material.GetFloat("_NormalStrength") : 0f;
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetFloat("_NormalStrength", Mathf.Clamp(value, 0f, 5f));
					}
				}
			}

			public Texture _NormalTex
			{
				get
				{
					Material material = Material;
					return ((material != null) ? material.GetTexture("_NormalTex") : null) ?? null;
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetTexture("_NormalTex", value);
					}
				}
			}

			public Vector2 _NormalTexScale
			{
				get
				{
					//IL_0016: Unknown result type (might be due to invalid IL or missing references)
					//IL_000a: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					return (material != null) ? material.GetTextureScale("_NormalTex") : Vector2.zero;
				}
				set
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					if (material != null)
					{
						material.SetTextureScale("_NormalTex", value);
					}
				}
			}

			public Vector2 _NormalTexOffset
			{
				get
				{
					//IL_0016: Unknown result type (might be due to invalid IL or missing references)
					//IL_000a: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					return (material != null) ? material.GetTextureOffset("_NormalTex") : Vector2.zero;
				}
				set
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					if (material != null)
					{
						material.SetTextureOffset("_NormalTex", value);
					}
				}
			}

			public Color _EmColor
			{
				get
				{
					//IL_001a: Unknown result type (might be due to invalid IL or missing references)
					//IL_000c: Unknown result type (might be due to invalid IL or missing references)
					//IL_0012: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					return (Color)((material != null) ? material.GetColor("_EmColor") : default(Color));
				}
				set
				{
					//IL_0011: Unknown result type (might be due to invalid IL or missing references)
					Material material = Material;
					if (material != null)
					{
						material.SetColor("_EmColor", value);
					}
				}
			}

			public Texture _EmTex
			{
				get
				{
					Material material = Material;
					return ((material != null) ? material.GetTexture("_EmTex") : null) ?? null;
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetTexture("_EmTex", value);
					}
				}
			}

			public float _EmPower
			{
				get
				{
					Material material = Material;
					return (material != null) ? material.GetFloat("_EmPower") : 0f;
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetFloat("_EmPower", Mathf.Clamp(value, 0f, 10f));
					}
				}
			}

			public float _Smoothness
			{
				get
				{
					Material material = Material;
					return (material != null) ? material.GetFloat("_Smoothness") : 0f;
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetFloat("_Smoothness", Mathf.Clamp(value, 0f, 1f));
					}
				}
			}

			public bool _IgnoreDiffuseAlphaForSpeculars
			{
				get
				{
					Material material = Material;
					return material != null && material.IsKeywordEnabled("FORCE_SPEC");
				}
				set
				{
					SetShaderKeywordBasedOnBool(value, Material, "FORCE_SPEC");
				}
			}

			public _RampInfoEnum _RampChoice
			{
				get
				{
					Material material = Material;
					return (_RampInfoEnum)((material != null) ? material.GetFloat("_RampInfo") : 1f);
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetFloat("_RampInfo", Convert.ToSingle(value));
					}
				}
			}

			public _DecalLayerEnum _DecalLayer
			{
				get
				{
					Material material = Material;
					return (_DecalLayerEnum)((material != null) ? material.GetFloat("_DecalLayer") : 1f);
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetFloat("_DecalLayer", Convert.ToSingle(value));
					}
				}
			}

			public float _SpecularStrength
			{
				get
				{
					Material material = Material;
					return (material != null) ? material.GetFloat("_SpecularStrength") : 0f;
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetFloat("_SpecularStrength", Mathf.Clamp(value, 0f, 1f));
					}
				}
			}

			public float _SpecularExponent
			{
				get
				{
					Material material = Material;
					return (material != null) ? material.GetFloat("_SpecularExponent") : 0f;
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetFloat("_SpecularExponent", Mathf.Clamp(value, 0.1f, 20f));
					}
				}
			}

			public _CullEnum _Cull_Mode
			{
				get
				{
					Material material = Material;
					return (_CullEnum)((material != null) ? material.GetFloat("_Cull") : 1f);
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetFloat("_Cull", Convert.ToSingle(value));
					}
				}
			}

			public bool _EnableDither
			{
				get
				{
					Material material = Material;
					return material != null && material.IsKeywordEnabled("DITHER");
				}
				set
				{
					SetShaderKeywordBasedOnBool(value, Material, "DITHER");
				}
			}

			public float _FadeBias
			{
				get
				{
					Material material = Material;
					return (material != null) ? material.GetFloat("_FadeBias") : 0f;
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetFloat("_FadeBias", Mathf.Clamp(value, 0f, 1f));
					}
				}
			}

			public bool _EnableFresnelEmission
			{
				get
				{
					Material material = Material;
					return material != null && material.IsKeywordEnabled("FRESNEL_EMISSION");
				}
				set
				{
					SetShaderKeywordBasedOnBool(value, Material, "FRESNEL_EMISSION");
				}
			}

			public Texture _FresnelRamp
			{
				get
				{
					Material material = Material;
					return ((material != n