Decompiled source of RealerHex3Mod v2.2.1

Hex3Mod.dll

Decompiled 13 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.Items;
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;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: OptIn]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("Hex3Mod")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+27d697f56f3ed27ce4131c5f14bcabb08e56ec05")]
[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]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[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.2.1")]
	[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
	{
		[Serializable]
		[CompilerGenerated]
		private sealed class <>c
		{
			public static readonly <>c <>9 = new <>c();

			public static Func<KeyValuePair<ItemDef, string>, bool> <>9__134_3;

			public static Func<KeyValuePair<ItemDef, string>, Pair> <>9__134_4;

			public static hook_Init <>9__134_2;

			internal void <Awake>b__134_2(orig_Init orig)
			{
				Dictionary<ItemRelationshipType, Pair[]> itemRelationships = ItemCatalog.itemRelationships;
				ItemRelationshipType contagiousItem = ItemRelationshipTypes.ContagiousItem;
				List<Pair> list = new List<Pair>();
				list.AddRange(ItemCatalog.itemRelationships[ItemRelationshipTypes.ContagiousItem]);
				list.AddRange(VoidTransformation.Where((KeyValuePair<ItemDef, string> x) => (int)ItemCatalog.FindItemIndex(x.Value) != -1).Select((Func<KeyValuePair<ItemDef, string>, Pair>)((KeyValuePair<ItemDef, string> x) => new Pair
				{
					itemDef2 = x.Key,
					itemDef1 = ItemCatalog.GetItemDef(ItemCatalog.FindItemIndex(x.Value))
				})));
				itemRelationships[contagiousItem] = list.ToArray();
				orig.Invoke();
			}

			internal bool <Awake>b__134_3(KeyValuePair<ItemDef, string> x)
			{
				//IL_0007: Unknown result type (might be due to invalid IL or missing references)
				//IL_000d: Invalid comparison between Unknown and I4
				return (int)ItemCatalog.FindItemIndex(x.Value) != -1;
			}

			internal Pair <Awake>b__134_4(KeyValuePair<ItemDef, string> x)
			{
				//IL_0002: Unknown result type (might be due to invalid IL or missing references)
				//IL_001f: Unknown result type (might be due to invalid IL or missing references)
				//IL_002e: Unknown result type (might be due to invalid IL or missing references)
				return new Pair
				{
					itemDef2 = x.Key,
					itemDef1 = ItemCatalog.GetItemDef(ItemCatalog.FindItemIndex(x.Value))
				};
			}
		}

		public const string ModGuid = "com.Hex3.Hex3Mod";

		public const string ModName = "Hex3Mod";

		public const string ModVer = "2.2.1";

		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 Dictionary<ItemDef, string> VoidTransformation = new Dictionary<ItemDef, string>();

		public static bool debugMode = false;

		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 void Awake()
		{
			//IL_00da: Unknown result type (might be due to invalid IL or missing references)
			//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f5: Expected O, but got Unknown
			//IL_00f5: Expected O, but got Unknown
			//IL_010a: Unknown result type (might be due to invalid IL or missing references)
			//IL_011b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0125: Expected O, but got Unknown
			//IL_0125: Expected O, but got Unknown
			//IL_013a: Unknown result type (might be due to invalid IL or missing references)
			//IL_014b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0155: Expected O, but got Unknown
			//IL_0155: Expected O, but got Unknown
			//IL_016a: Unknown result type (might be due to invalid IL or missing references)
			//IL_017f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0189: Expected O, but got Unknown
			//IL_0189: Expected O, but got Unknown
			//IL_019e: Unknown result type (might be due to invalid IL or missing references)
			//IL_01af: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b9: Expected O, but got Unknown
			//IL_01b9: Expected O, but got Unknown
			//IL_01ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_01df: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e9: Expected O, but got Unknown
			//IL_01e9: Expected O, but got Unknown
			//IL_01fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0213: Unknown result type (might be due to invalid IL or missing references)
			//IL_021d: Expected O, but got Unknown
			//IL_021d: Expected O, but got Unknown
			//IL_0232: Unknown result type (might be due to invalid IL or missing references)
			//IL_0247: Unknown result type (might be due to invalid IL or missing references)
			//IL_0251: Expected O, but got Unknown
			//IL_0251: Expected O, but got Unknown
			//IL_0266: Unknown result type (might be due to invalid IL or missing references)
			//IL_0277: Unknown result type (might be due to invalid IL or missing references)
			//IL_0281: Expected O, but got Unknown
			//IL_0281: Expected O, but got Unknown
			//IL_0296: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b1: Expected O, but got Unknown
			//IL_02b1: Expected O, but got Unknown
			//IL_02c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02db: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e5: Expected O, but got Unknown
			//IL_02e5: Expected O, but got Unknown
			//IL_02fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_030b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0315: Expected O, but got Unknown
			//IL_0315: Expected O, but got Unknown
			//IL_032a: Unknown result type (might be due to invalid IL or missing references)
			//IL_033b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0345: Expected O, but got Unknown
			//IL_0345: Expected O, but got Unknown
			//IL_035a: Unknown result type (might be due to invalid IL or missing references)
			//IL_036f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0379: Expected O, but got Unknown
			//IL_0379: Expected O, but got Unknown
			//IL_038e: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_03aa: Expected O, but got Unknown
			//IL_03aa: Expected O, but got Unknown
			//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_03da: Expected O, but got Unknown
			//IL_03da: Expected O, but got Unknown
			//IL_03ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_0400: Unknown result type (might be due to invalid IL or missing references)
			//IL_040a: Expected O, but got Unknown
			//IL_040a: Expected O, but got Unknown
			//IL_041f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0430: Unknown result type (might be due to invalid IL or missing references)
			//IL_043a: Expected O, but got Unknown
			//IL_043a: Expected O, but got Unknown
			//IL_044f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0460: Unknown result type (might be due to invalid IL or missing references)
			//IL_046a: Expected O, but got Unknown
			//IL_046a: Expected O, but got Unknown
			//IL_047f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0490: Unknown result type (might be due to invalid IL or missing references)
			//IL_049a: Expected O, but got Unknown
			//IL_049a: Expected O, but got Unknown
			//IL_04af: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ca: Expected O, but got Unknown
			//IL_04ca: Expected O, but got Unknown
			//IL_04df: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04fa: Expected O, but got Unknown
			//IL_04fa: Expected O, but got Unknown
			//IL_050f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0520: Unknown result type (might be due to invalid IL or missing references)
			//IL_052a: Expected O, but got Unknown
			//IL_052a: Expected O, but got Unknown
			//IL_053f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0554: Unknown result type (might be due to invalid IL or missing references)
			//IL_055e: Expected O, but got Unknown
			//IL_055e: Expected O, but got Unknown
			//IL_0573: Unknown result type (might be due to invalid IL or missing references)
			//IL_0584: Unknown result type (might be due to invalid IL or missing references)
			//IL_058e: Expected O, but got Unknown
			//IL_058e: Expected O, but got Unknown
			//IL_05a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_05be: Expected O, but got Unknown
			//IL_05be: Expected O, but got Unknown
			//IL_05d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_05e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f2: Expected O, but got Unknown
			//IL_05f2: Expected O, but got Unknown
			//IL_0607: Unknown result type (might be due to invalid IL or missing references)
			//IL_0619: Unknown result type (might be due to invalid IL or missing references)
			//IL_0623: Expected O, but got Unknown
			//IL_0623: Expected O, but got Unknown
			//IL_0638: Unknown result type (might be due to invalid IL or missing references)
			//IL_0649: Unknown result type (might be due to invalid IL or missing references)
			//IL_0653: Expected O, but got Unknown
			//IL_0653: Expected O, but got Unknown
			//IL_0668: Unknown result type (might be due to invalid IL or missing references)
			//IL_0679: Unknown result type (might be due to invalid IL or missing references)
			//IL_0683: Expected O, but got Unknown
			//IL_0683: Expected O, but got Unknown
			//IL_0698: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_06b7: Expected O, but got Unknown
			//IL_06b7: Expected O, but got Unknown
			//IL_06cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_06eb: Expected O, but got Unknown
			//IL_06eb: Expected O, but got Unknown
			//IL_0700: Unknown result type (might be due to invalid IL or missing references)
			//IL_0715: Unknown result type (might be due to invalid IL or missing references)
			//IL_071f: Expected O, but got Unknown
			//IL_071f: Expected O, but got Unknown
			//IL_0734: Unknown result type (might be due to invalid IL or missing references)
			//IL_0745: Unknown result type (might be due to invalid IL or missing references)
			//IL_074f: Expected O, but got Unknown
			//IL_074f: Expected O, but got Unknown
			//IL_0764: Unknown result type (might be due to invalid IL or missing references)
			//IL_0775: Unknown result type (might be due to invalid IL or missing references)
			//IL_077f: Expected O, but got Unknown
			//IL_077f: Expected O, but got Unknown
			//IL_0794: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b3: Expected O, but got Unknown
			//IL_07b3: Expected O, but got Unknown
			//IL_07c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_07dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_07e7: Expected O, but got Unknown
			//IL_07e7: Expected O, but got Unknown
			//IL_07fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_080d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0817: Expected O, but got Unknown
			//IL_0817: Expected O, but got Unknown
			//IL_082c: Unknown result type (might be due to invalid IL or missing references)
			//IL_083d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0847: Expected O, but got Unknown
			//IL_0847: Expected O, but got Unknown
			//IL_085c: Unknown result type (might be due to invalid IL or missing references)
			//IL_086d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0877: Expected O, but got Unknown
			//IL_0877: Expected O, but got Unknown
			//IL_088c: Unknown result type (might be due to invalid IL or missing references)
			//IL_089d: Unknown result type (might be due to invalid IL or missing references)
			//IL_08a7: Expected O, but got Unknown
			//IL_08a7: Expected O, but got Unknown
			//IL_08bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_08cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_08d7: Expected O, but got Unknown
			//IL_08d7: Expected O, but got Unknown
			//IL_08ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_08fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0907: Expected O, but got Unknown
			//IL_0907: Expected O, but got Unknown
			//IL_091c: Unknown result type (might be due to invalid IL or missing references)
			//IL_092d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0937: Expected O, but got Unknown
			//IL_0937: Expected O, but got Unknown
			//IL_094c: Unknown result type (might be due to invalid IL or missing references)
			//IL_095d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0967: Expected O, but got Unknown
			//IL_0967: Expected O, but got Unknown
			//IL_097c: Unknown result type (might be due to invalid IL or missing references)
			//IL_098d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0997: Expected O, but got Unknown
			//IL_0997: Expected O, but got Unknown
			//IL_09ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_09bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_09c7: Expected O, but got Unknown
			//IL_09c7: Expected O, but got Unknown
			//IL_09dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_09f7: Expected O, but got Unknown
			//IL_09f7: Expected O, but got Unknown
			//IL_0a0c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a1d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a27: Expected O, but got Unknown
			//IL_0a27: Expected O, but got Unknown
			//IL_0a3c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a4d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a57: Expected O, but got Unknown
			//IL_0a57: Expected O, but got Unknown
			//IL_0a6c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a7d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a87: Expected O, but got Unknown
			//IL_0a87: Expected O, but got Unknown
			//IL_0a9c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aad: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ab7: Expected O, but got Unknown
			//IL_0ab7: Expected O, but got Unknown
			//IL_0acc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0add: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ae7: Expected O, but got Unknown
			//IL_0ae7: Expected O, but got Unknown
			//IL_0afc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b0d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b17: Expected O, but got Unknown
			//IL_0b17: Expected O, but got Unknown
			//IL_0b2c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b3d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b47: Expected O, but got Unknown
			//IL_0b47: Expected O, but got Unknown
			//IL_0b5c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b6d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b77: Expected O, but got Unknown
			//IL_0b77: Expected O, but got Unknown
			//IL_0b8c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b9d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ba7: Expected O, but got Unknown
			//IL_0ba7: Expected O, but got Unknown
			//IL_0bbc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bcd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bd7: Expected O, but got Unknown
			//IL_0bd7: Expected O, but got Unknown
			//IL_0bec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bfd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c07: Expected O, but got Unknown
			//IL_0c07: Expected O, but got Unknown
			//IL_0c1c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c31: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c3b: Expected O, but got Unknown
			//IL_0c3b: Expected O, but got Unknown
			//IL_0c50: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c61: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c6b: Expected O, but got Unknown
			//IL_0c6b: Expected O, but got Unknown
			//IL_0c80: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c91: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c9b: Expected O, but got Unknown
			//IL_0c9b: Expected O, but got Unknown
			//IL_0cb0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cc1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ccb: Expected O, but got Unknown
			//IL_0ccb: Expected O, but got Unknown
			//IL_0ce0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cf5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cff: Expected O, but got Unknown
			//IL_0cff: Expected O, but got Unknown
			//IL_0d14: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d25: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d2f: Expected O, but got Unknown
			//IL_0d2f: Expected O, but got Unknown
			//IL_0d44: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d55: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d5f: Expected O, but got Unknown
			//IL_0d5f: Expected O, but got Unknown
			//IL_0d74: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d85: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d8f: Expected O, but got Unknown
			//IL_0d8f: Expected O, but got Unknown
			//IL_0da4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dbf: Expected O, but got Unknown
			//IL_0dbf: Expected O, but got Unknown
			//IL_0dd4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0de5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0def: Expected O, but got Unknown
			//IL_0def: Expected O, but got Unknown
			//IL_0e04: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e15: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e1f: Expected O, but got Unknown
			//IL_0e1f: Expected O, but got Unknown
			//IL_0e34: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e45: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e4f: Expected O, but got Unknown
			//IL_0e4f: Expected O, but got Unknown
			//IL_0e64: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e75: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e7f: Expected O, but got Unknown
			//IL_0e7f: Expected O, but got Unknown
			//IL_0e94: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ea9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eb3: Expected O, but got Unknown
			//IL_0eb3: Expected O, but got Unknown
			//IL_0ec8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0edd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee7: Expected O, but got Unknown
			//IL_0ee7: Expected O, but got Unknown
			//IL_0efc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f11: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f1b: Expected O, but got Unknown
			//IL_0f1b: Expected O, but got Unknown
			//IL_0f30: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f45: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f4f: Expected O, but got Unknown
			//IL_0f4f: Expected O, but got Unknown
			//IL_0f64: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f79: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f83: Expected O, but got Unknown
			//IL_0f83: Expected O, but got Unknown
			//IL_0f98: Unknown result type (might be due to invalid IL or missing references)
			//IL_0faa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fb4: Expected O, but got Unknown
			//IL_0fb4: Expected O, but got Unknown
			//IL_0fc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fda: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fe4: Expected O, but got Unknown
			//IL_0fe4: Expected O, but got Unknown
			//IL_0ff9: Unknown result type (might be due to invalid IL or missing references)
			//IL_100a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1014: Expected O, but got Unknown
			//IL_1014: Expected O, but got Unknown
			//IL_1029: Unknown result type (might be due to invalid IL or missing references)
			//IL_103e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1048: Expected O, but got Unknown
			//IL_1048: Expected O, but got Unknown
			//IL_105d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1072: Unknown result type (might be due to invalid IL or missing references)
			//IL_107c: Expected O, but got Unknown
			//IL_107c: Expected O, but got Unknown
			//IL_1091: Unknown result type (might be due to invalid IL or missing references)
			//IL_10a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_10ac: Expected O, but got Unknown
			//IL_10ac: Expected O, but got Unknown
			//IL_10c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_10d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_10dc: Expected O, but got Unknown
			//IL_10dc: Expected O, but got Unknown
			//IL_10f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_1102: Unknown result type (might be due to invalid IL or missing references)
			//IL_110c: Expected O, but got Unknown
			//IL_110c: Expected O, but got Unknown
			//IL_1121: Unknown result type (might be due to invalid IL or missing references)
			//IL_1132: Unknown result type (might be due to invalid IL or missing references)
			//IL_113c: Expected O, but got Unknown
			//IL_113c: Expected O, but got Unknown
			//IL_1151: Unknown result type (might be due to invalid IL or missing references)
			//IL_1163: Unknown result type (might be due to invalid IL or missing references)
			//IL_116d: Expected O, but got Unknown
			//IL_116d: Expected O, but got Unknown
			//IL_1182: Unknown result type (might be due to invalid IL or missing references)
			//IL_1197: Unknown result type (might be due to invalid IL or missing references)
			//IL_11a1: Expected O, but got Unknown
			//IL_11a1: Expected O, but got Unknown
			//IL_11b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_11c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_11d1: Expected O, but got Unknown
			//IL_11d1: Expected O, but got Unknown
			//IL_11e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1201: Expected O, but got Unknown
			//IL_1201: Expected O, but got Unknown
			//IL_1216: Unknown result type (might be due to invalid IL or missing references)
			//IL_122b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1235: Expected O, but got Unknown
			//IL_1235: Expected O, but got Unknown
			//IL_124a: Unknown result type (might be due to invalid IL or missing references)
			//IL_125f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1269: Expected O, but got Unknown
			//IL_1269: Expected O, but got Unknown
			//IL_127e: Unknown result type (might be due to invalid IL or missing references)
			//IL_128f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1299: Expected O, but got Unknown
			//IL_1299: Expected O, but got Unknown
			//IL_12ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_12bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_12c9: Expected O, but got Unknown
			//IL_12c9: Expected O, but got Unknown
			//IL_12de: Unknown result type (might be due to invalid IL or missing references)
			//IL_12ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_12f9: Expected O, but got Unknown
			//IL_12f9: Expected O, but got Unknown
			//IL_130e: Unknown result type (might be due to invalid IL or missing references)
			//IL_131f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1329: Expected O, but got Unknown
			//IL_1329: Expected O, but got Unknown
			//IL_133e: Unknown result type (might be due to invalid IL or missing references)
			//IL_134f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1359: Expected O, but got Unknown
			//IL_1359: Expected O, but got Unknown
			//IL_136e: Unknown result type (might be due to invalid IL or missing references)
			//IL_137f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1389: Expected O, but got Unknown
			//IL_1389: Expected O, but got Unknown
			//IL_139e: Unknown result type (might be due to invalid IL or missing references)
			//IL_13af: Unknown result type (might be due to invalid IL or missing references)
			//IL_13b9: Expected O, but got Unknown
			//IL_13b9: Expected O, but got Unknown
			//IL_13ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_13df: Unknown result type (might be due to invalid IL or missing references)
			//IL_13e9: Expected O, but got Unknown
			//IL_13e9: Expected O, but got Unknown
			//IL_13fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_1413: Unknown result type (might be due to invalid IL or missing references)
			//IL_141d: Expected O, but got Unknown
			//IL_141d: Expected O, but got Unknown
			//IL_1432: Unknown result type (might be due to invalid IL or missing references)
			//IL_1447: Unknown result type (might be due to invalid IL or missing references)
			//IL_1451: Expected O, but got Unknown
			//IL_1451: Expected O, but got Unknown
			//IL_1466: Unknown result type (might be due to invalid IL or missing references)
			//IL_1477: Unknown result type (might be due to invalid IL or missing references)
			//IL_1481: Expected O, but got Unknown
			//IL_1481: Expected O, but got Unknown
			//IL_1496: Unknown result type (might be due to invalid IL or missing references)
			//IL_14a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_14b1: Expected O, but got Unknown
			//IL_14b1: Expected O, but got Unknown
			//IL_14c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_14db: Unknown result type (might be due to invalid IL or missing references)
			//IL_14e5: Expected O, but got Unknown
			//IL_14e5: Expected O, but got Unknown
			//IL_14fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_150f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1519: Expected O, but got Unknown
			//IL_1519: Expected O, but got Unknown
			//IL_152e: Unknown result type (might be due to invalid IL or missing references)
			//IL_153f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1549: Expected O, but got Unknown
			//IL_1549: Expected O, but got Unknown
			//IL_155e: Unknown result type (might be due to invalid IL or missing references)
			//IL_156f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1579: Expected O, but got Unknown
			//IL_1579: Expected O, but got Unknown
			//IL_158e: Unknown result type (might be due to invalid IL or missing references)
			//IL_159f: Unknown result type (might be due to invalid IL or missing references)
			//IL_15a9: Expected O, but got Unknown
			//IL_15a9: Expected O, but got Unknown
			//IL_15be: Unknown result type (might be due to invalid IL or missing references)
			//IL_15cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_15d9: Expected O, but got Unknown
			//IL_15d9: Expected O, but got Unknown
			//IL_15ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_1603: Unknown result type (might be due to invalid IL or missing references)
			//IL_160d: Expected O, but got Unknown
			//IL_160d: Expected O, but got Unknown
			//IL_1622: Unknown result type (might be due to invalid IL or missing references)
			//IL_1634: Unknown result type (might be due to invalid IL or missing references)
			//IL_163e: Expected O, but got Unknown
			//IL_163e: Expected O, but got Unknown
			//IL_1653: Unknown result type (might be due to invalid IL or missing references)
			//IL_1664: Unknown result type (might be due to invalid IL or missing references)
			//IL_166e: Expected O, but got Unknown
			//IL_166e: Expected O, but got Unknown
			//IL_1683: Unknown result type (might be due to invalid IL or missing references)
			//IL_1694: Unknown result type (might be due to invalid IL or missing references)
			//IL_169e: Expected O, but got Unknown
			//IL_169e: Expected O, but got Unknown
			//IL_16b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_16c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_16d2: Expected O, but got Unknown
			//IL_16d2: Expected O, but got Unknown
			//IL_16e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_16fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_1706: Expected O, but got Unknown
			//IL_1706: Expected O, but got Unknown
			//IL_171b: Unknown result type (might be due to invalid IL or missing references)
			//IL_172c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1736: Expected O, but got Unknown
			//IL_1736: Expected O, but got Unknown
			//IL_174b: Unknown result type (might be due to invalid IL or missing references)
			//IL_175c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1766: Expected O, but got Unknown
			//IL_1766: Expected O, but got Unknown
			//IL_177b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1790: Unknown result type (might be due to invalid IL or missing references)
			//IL_179a: Expected O, but got Unknown
			//IL_179a: Expected O, but got Unknown
			//IL_17af: Unknown result type (might be due to invalid IL or missing references)
			//IL_17c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_17ce: Expected O, but got Unknown
			//IL_17ce: Expected O, but got Unknown
			//IL_17e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_17f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_17fe: Expected O, but got Unknown
			//IL_17fe: Expected O, but got Unknown
			//IL_1813: Unknown result type (might be due to invalid IL or missing references)
			//IL_1824: Unknown result type (might be due to invalid IL or missing references)
			//IL_182e: Expected O, but got Unknown
			//IL_182e: Expected O, but got Unknown
			//IL_1843: Unknown result type (might be due to invalid IL or missing references)
			//IL_1854: Unknown result type (might be due to invalid IL or missing references)
			//IL_185e: Expected O, but got Unknown
			//IL_185e: Expected O, but got Unknown
			//IL_1873: Unknown result type (might be due to invalid IL or missing references)
			//IL_1884: Unknown result type (might be due to invalid IL or missing references)
			//IL_188e: Expected O, but got Unknown
			//IL_188e: Expected O, but got Unknown
			//IL_18a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_18b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_18be: Expected O, but got Unknown
			//IL_18be: Expected O, but got Unknown
			//IL_193e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1948: Expected O, but got Unknown
			//IL_196c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1971: Unknown result type (might be due to invalid IL or missing references)
			//IL_1978: Unknown result type (might be due to invalid IL or missing references)
			//IL_1992: Expected O, but got Unknown
			//IL_198d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1997: Expected O, but got Unknown
			//IL_19bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_19c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_19cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_19e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a00: Expected O, but got Unknown
			//IL_19fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a05: Expected O, but got Unknown
			//IL_1abd: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ac2: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ce1: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ceb: Expected O, but got Unknown
			//IL_1cff: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d04: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d0a: 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!");
			ModSettingsManager.SetModIcon(MainAssets.LoadAsset<Sprite>("Assets/VFXPASS3/Icons/icon.png"));
			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();
			}
			foreach (ConfigDefinition key in ((BaseUnityPlugin)this).Config.Keys)
			{
				ConfigEntryBase val3 = ((BaseUnityPlugin)this).Config[key];
				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);
			object obj = <>c.<>9__134_2;
			if (obj == null)
			{
				hook_Init val4 = delegate(orig_Init orig)
				{
					Dictionary<ItemRelationshipType, Pair[]> itemRelationships = ItemCatalog.itemRelationships;
					ItemRelationshipType contagiousItem = ItemRelationshipTypes.ContagiousItem;
					List<Pair> list = new List<Pair>();
					list.AddRange(ItemCatalog.itemRelationships[ItemRelationshipTypes.ContagiousItem]);
					list.AddRange(VoidTransformation.Where((KeyValuePair<ItemDef, string> x) => (int)ItemCatalog.FindItemIndex(x.Value) != -1).Select((Func<KeyValuePair<ItemDef, string>, Pair>)((KeyValuePair<ItemDef, string> x) => new Pair
					{
						itemDef2 = x.Key,
						itemDef1 = ItemCatalog.GetItemDef(ItemCatalog.FindItemIndex(x.Value))
					})));
					itemRelationships[contagiousItem] = list.ToArray();
					orig.Invoke();
				};
				<>c.<>9__134_2 = val4;
				obj = (object)val4;
			}
			ContagiousItemManager.Init += (hook_Init)obj;
			Log.LogInfo("Done!");
			static void Run_BuildDropTable(orig_BuildDropTable orig, Run self)
			{
				UpdateItemStatuses(self);
				orig.Invoke(self);
			}
			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 (Discovery_Load.Value)
				{
					Discovery.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))
				{
					((Component)Renderer).gameObject.AddComponent<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;
					if (material == null)
					{
						return false;
					}
					return material.IsKeywordEnabled("CUTOUT");
				}
				set
				{
					SetShaderKeywordBasedOnBool(value, Material, "CUTOUT");
				}
			}

			public Color _Color
			{
				get
				{
					//IL_0019: 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;
					if (material == null)
					{
						return default(Color);
					}
					return material.GetColor("_Color");
				}
				set
				{
					//IL_0010: 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_0015: 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;
					if (material == null)
					{
						return Vector2.zero;
					}
					return material.GetTextureScale("_MainTex");
				}
				set
				{
					//IL_0010: 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_0015: 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;
					if (material == null)
					{
						return Vector2.zero;
					}
					return material.GetTextureOffset("_MainTex");
				}
				set
				{
					//IL_0010: 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;
					if (material == null)
					{
						return 0f;
					}
					return material.GetFloat("_NormalStrength");
				}
				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_0015: 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;
					if (material == null)
					{
						return Vector2.zero;
					}
					return material.GetTextureScale("_NormalTex");
				}
				set
				{
					//IL_0010: 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_0015: 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;
					if (material == null)
					{
						return Vector2.zero;
					}
					return material.GetTextureOffset("_NormalTex");
				}
				set
				{
					//IL_0010: 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_0019: 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;
					if (material == null)
					{
						return default(Color);
					}
					return material.GetColor("_EmColor");
				}
				set
				{
					//IL_0010: 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;
					if (material == null)
					{
						return 0f;
					}
					return material.GetFloat("_EmPower");
				}
				set
				{
					Material material = Material;
					if (material != null)
					{
						material.SetFloat("_EmPower", Mathf.Clamp(value, 0f, 10f));
					}
				}
			}

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

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

			public _RampInfoEnum _Ramp